From 58c4f32ddca514b81dee3505838a29ae671b72bb Mon Sep 17 00:00:00 2001 From: Saket Kulkarni <31022476+SaketKulkarni121@users.noreply.github.com> Date: Sat, 22 Jun 2024 11:41:03 -0400 Subject: [PATCH] minor fixes --- .../html/build/doctrees/environment.pickle | Bin 154771 -> 155264 bytes .../html/build/doctrees/index.doctree | Bin 21854 -> 22237 bytes .../html/build/html/_sources/index.rst.txt | 11 +++++++++-- documentation/html/build/html/index.html | 11 +++++++---- documentation/html/build/html/searchindex.js | 2 +- documentation/html/source/index.rst | 6 ++++++ 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/documentation/html/build/doctrees/environment.pickle b/documentation/html/build/doctrees/environment.pickle index aa6fed28d516d6e4702e8fe163eef6c7acfa32b8..7f32b1e817751e10dd1e424f24288137cdf4ccd2 100644 GIT binary patch literal 155264 zcmeFa37i~PbuVmd8>ywyzRR-9vW;b-p3!21J(gt4k}YIOW5tq<3^uKr?waW?_2yn? zG$sxtgrIRMfj|RUUh?=761GPmz~E?Xe_~d9qNeluK5* z(Q?*4&@2>l4+b8+rFF;mww`V6b{3n}YHQR<vo?L;fH{mBxSUBZhVzY5ad?cHr599n zz2z*c*RtHgXs=qRSDNSxYR*>5vFc(%vtmrU(4WAJWv^Sev`A>sy4?m*?K)QUMK==sAM&l&>ju) zBRf!Nu-q(RPBP;aK&-*oHc$tM0AqCHoZK0=5niBJvxcDzJXDw%;zvsx=2#I=mY=6z zew4~qa#nh*Sjk?(_ooZ>20%q`n$EIGv)JSr-JRc>-{vd^`nN{k(8}MC-iPHO3s{ipF1n~&&+tK(HfNk z%Zp}tqG?W`--|3%z%8#ths~mu0pc_42ITL0%ar$9W$+pITZVGk1j;#^UtOzI8qW^B z+I{!ztAVD^s)~&X3v+h4kuiZfQ+qb{}T zQpXzgg;mDfF=DT1HpbI;r|X3Y8AblK{EMXQ+Cn*sii`H_apANoXN{Z9Vk1+l05KHA zx0<;eMqXyD0utB2sPYyK=ZdP83Y03jCT4(u>b+RssAMyhF{0TFKB^V`S2smpW$Jl= zSn4N)%~eWf!JXlq___o%uQbY)hLx#V;}-gnwKDap3Fah#byjf|Lf0;|oz>Op31+UD zdSjZ0#W=V=4=zz8PT`>i5K{p_P5(N-OhuS6W`qZw-<7{baCwbO>zOgIJmBT1JRiJd zS=G!Gm=7k!>&&`(vsz`G@ZLP78ruvIGEV{hluDH{(8nSizsLLj2BI`t>$TU6)=P(0m3n4okdkp8WYf}GUQSnz$C%e8XYB6UMtT6 zO#4~9!HZQTvs?uQ)-%l-2wQ4cUM@7Mh3uv2)(jU~t^UpwCdw7?ou}m6jrwCus6mtVZ!(Ao^d6;jVx?bQvlpmIccb3e{g%aKa-^(VEM+Tw;7ppvh@~V4l zz#j7%R5J$t4PtiNSjW$;rvYl0iK;JFx?g~IxDZS=iuDY5S7ChGeYBDuWr2gWM%`^J z)r4%%076g<+}i4ZeBTYL+%dD8&EwW9B zndPhrfUg3Y&^a(i;2q2;tfqpL;BW@=DsR>cbx5QlI-ai-bM%>_p+Oc!V-S17AU6eM zt*?rJLo+IHVV9eqxPLioNY^<_=s7dQ6qitf?i2Y>&{ymIXPE$9@jF$%&;X_8w@LYx zTwaN5NEsi)N@_!}|m-AQ6Lav1;OhMA`ENMQiJA#iUP|9*2sonucT{$mBr5Du- zk*rbx_(gtq{tjtTVCJe4S|LY30gkFjWU*8#J*US|zZ4Jfiq;{d0pVwY?StE7z#%}{ zE;4N7ae~6+d1k7RBO1I;zLL=}&jlwSo?R#t?J3B~YtTYQRHZ92lC@kXl*4STz)Y23 z$e@-t(D=Z^#+nW2X6~DH{LNIYK>7&D8c6OGl()h&C~Ov`!Tjy{O^PS`+Lf!6$&2-Y z7Xi!@{wnVn^PD>ZSRd3d4Jd+!riLr-yq3QPENYERBViq)6lzjx1y>9HUI8cJZm!}d z<4>g{zOoM-rRVw0`7Khn zsK7x4;_uYZs>MP>Vb)A=%%pv0)S^XdRLcrRRCz&*3)P&nnY-vecXcmlUJa;OQnieO zx&pE(*DbS_&6AcI=n&DQ`>mQQ=_xf9dLh+uhkRvOb#|-thm;{{2j7-RZo3`!Pz?n{ zV5=_$HHdylKXj)+)>M^dquL}j%+(T?vX-cZCv*Y51KJeyA?W=irFd{M!6Ji6cq+}* zSu|v*kEH?CSC1hp5U7zdz=F)4>y~ESQD&hhfaH&`{-9=s)cTxaKEX+op^}s$9mJi8 z8yIx7hT$a)D+1*T^cq(D^8YF$l2%!~Lx+UyL#s+mbG3J7h|%DoLM!Myjl2yW$m=`j z-h87`t&a>3XLIEtyPmU(g~{4b8O!)`wKS~C-hXh|s^2w?iAa}9#dMZBhQbPBtc_5O zVIH*FZAvjx66K4Y+>N!)lXtW%>Av@Iu26>npJsW#=*d@7p{LwJUPZtLQef0;A5`Ers!F0hUmKv=8Cqahh@;;nhf-c~8^~C+P z-{5tK6kY*RQd$Wx1EjhsmQ-8Ljt)8>0d}W(>UxhJ2dP#c%M})Hr>7;@bX~F`lN2Vb z0_m-aY^Z~jik1j@SDUhLB_w2-xDG6%P#&+4SxAh+#NgX^8;hi!_TS-i=cY%>7J<+* z0?M^f88EM|{Jqs(SS;m~!ede;>Z8L_KtaaZ-Nz;83&k4MN_)v0|yA~XUrkmU< z${4TJFbhRcf71okR`+eTR)H1GGx~UlMNKqZP-pX`mpTJ`4yV6o*NZPI;W5ZX%GMMC z2CtVi%dn}4VA;U$$a>|eH{Rl$dd5{Nn}MeG$cpbWnW}46qv06?)?_nKrU5Te8)vsM%4w6j!v4 z3&ak4BfV-n@SExFocgeqNnCA{po%VEp61kd(m~* zky^LWf1R@?$vDRw2}`YV8tlR=w$(4DI^kM?oa^`d#a8>pWUcB|5NPMp7@5g)Fl-74UpcuK(#fiM0R5R{TBaQF|@jJYR0Q#n_r|LMBLdbb@8uf51!X6=Auw#s*6=b+vp@13{)e=}A#*3V4cV>0 zfc!ZOOpaGf%)n3ib#3mb#abNgf z8Gb{+ZrW!eW`|ucLTqp|AhrjYwZJ*S?AeTuWT)q%jMVE$mWDpu8Y|-=QkCH0H7kD; zvuyWYlAhtNc-m3kqjQD)I?cB zSZzb0gBhQ=P`y?FbE3!1=9n`mt2*exFoZ)hyWZKLJrO|z5ID=A+he~O+tU87>T0#G z>!}L^XVr$Qx3lZ+F6UR|UzvZ>Sq^~8j?WvRa~lM6+NOq3#Cilu5B9e)*H%USw461< zkMW$1e~@mQ-H%{!GKY&5h$*^j#nwg`Ss$J(@c)o=?zfD?E$2q}??4CS6TY^bTiX^W z7IJ27n6LiUZd`p@!8LAu^~uukxyR20hEuYzhy?)Tx8*QGhJd5GJ?z#J=(ah5ox=&} zw!=r=yR$A-Th0dei{R+q1O)IlR-eUus15cZQP1i_+19DW&Q>+a-orfhQ?Z-ZAZ*zZ zepw(z0{gUh=XyPOAHu2O)Cy-~=o1+e%5Mw3@TD5Qq=c)l>8RskqT*%@q zyDqEQd;tXy^F$kS&LRj;XOJ!C&`V6&eO*F40~QhsTTM_b$?}Aa2*7v7*_1`8OW1#b zo|}Q%N&A2h?N^*tRcsX!Lt%mCzyc^1COobW2?)qSF$}K&Dj86ON1au*@oeDR7rEaO z6~R`L#Tsp>U^T|M0?@0tji4s_POE8kp{$t*^QN;JAF!0lTqYL-0vg!^>di6z={jX4 zfFfNSC$rln6iww#Y$dZ50gFUuGjrMkjHfliDHvEt9ON+k4Z)2rck3Q55bR=*U+m1b z`Rfe2R!7V)wg&PKV<(vQ+cNHkThm#NH8d@$WGdTno#zI=`Tei?hy6R2g?YH}JM!l9IEt+vf&8`CC$UZjA4_fzzLC--{rx zd2Zk@{=9uJq@>HHpBp&#cT(1adWbnbH}KGbJ6C=;pdMkU&kYn-2_WUT}Xz^lc?B;V3{ee2QIZu=vslVslZp`l^?CsLtWDU=(a@n&wQ3Uk?;>`$mt zo1~NnmjkLmTj}@4mNRcW!#5#;h$rn)4lm?)H4X)+i|j9$qF@9C(5c*jfV&QEq=LYUY&eDv`pqJe!B39!vma&0)UE zkRDRs)0&*)Se%mJMUSvH$LoI}eQPyUQR?xuMh(m8Ow3%Z8aVs|}-(FVwk8L+lL= zt2k{mD#kSY0bypk1i84^z&5Q>Xc$nDlW`H-&;;p= zh8V;Olh#nnUW74XRkDPJy5u|-21If%>@mN-MNXm4GVyb2*#j7Reav)H0jm)yZ;K0T z2!gRk`Hn#zE)`uHcgwM*@Bcw|3P^G?962jsl^PMJC~RFo!?0?T7RY0uVZxjQk2iZM zTC~^E?MY&sO=_ESg07#9j&Zc<7e@(9!kYO zm-c{sB{yMmQEYMflst%3um`3vGbQp(%mV5hXIrGEAc*&?h@l1vj8oa<%rD^7%zs$D89$Wi9+LL%`xMU ztE*3-`sUaWS{%+QZ{-p@D`O78W`~bl%orZK+-(#3UU>brNq&AzGBiT=^B3B^m*`Zd zU5_aUH(TK?x^%L2PW2F7JlV>uZf8e4)CcfjhXKrot2s+p+&Hte?JNU0ny_LyyXQ&` zEyXa8QBRp+63|_)xJ=v!La=@DJc!MMozB9Yoi1&rg*ekfooS)omZ|f2zqldAiJ^j+ z4X?N+1Uxv{kJDg8B)lBAPRhd>;ayqC1FN>{NXjq{)<~8fnzj>Wz~i&Yc9$)a(EnPei~=tzA#j( z-f3_(W7xK{YKM32--QvPJLAn_5o;97DjzvCEG?-q4y)lFlAA-r`Ta*cd}F?T4OE># zC5SHAR|if)b)E-C;}nb>lu?IL>>CNKZ^A_p+|%@T2-nxN!S&lvR+f5UrFD<~#@YCC z(r2KA1$5K^A zmjVPnbY7^E|`UVf#G$u_Pae?}Z?#YnrBibxqgBvYM z<_0$n^;=O4^^~dvs2?ZMb_kX0wBSm#m1AJ&mN>@hk}bScT|vIH8SLDb^m0({UiRR* zqbH4{=l37D+c;N&#SkkK7;0eFIezp}Up<+cni|6KDid{N^SmSg9@GB#u-U+;v=;D? zDnys|`v^{ARM~AG*NHaxl2;JU&W=6Ob&3!6Xa+p3uyfn?V`$IU2xo&yR3m&pzQ^oc z&|%;N)WF&5^u=;m4dmHL^K7K+G?8gAhK7}9BXCp=$KS5{C!_0;E_ah){(Bf=38?8^_)w~NC*A21$`>RsirDW)fq=+#PFy@rEA>}A zc>Dl}fp&^v6~N{I__wzEH|KYYZLioez9Hb`v6mtvO6y8gp;}1VEFQ&dTIP zXn;!^R1&z))9jaQgZ_U{9dCpFGN>M*zahB$Ck&{CMgL0|&zvu$Uvl@p6UL+GPZ=jh z&z&1SIeN}GarT@(KP9Yl;I*kEzo-~#Ie1$izD$3oOAW4YB3)}-N>7yQ^)&XbKp`n_ z5<@b>u@|lrZXcquY0VOkPK6Y=wS|mMi|gn^o#k{ziyhh(VmuWj#xCb2O0I(#P7Jw@ z_7)x7c?hkXoNck#lb)#JAbrTV;T1K2Xa*q~7Rhx(inbwXg9g`zq-EeeBI%ojq*pL7 z`%2RD>9Dg*w8)loecGM*pC(ZfT5l?O9MMF>g!|X$D>&VPGp>7SF;utQHHW+I;U$u{ z>>>Lv^%{IxiKCo89>MEtyU0C&4^&#V-TBU?W zpwb7{Q+tgmTDz5v8nzfsqg2SzR*%2OK+7z6dc&`h9@9c^42Ki2tmCB_mVXmsXqPrT zOl3>gcf^Rbh0g;$VsDD<;ub!)2(iqDZWk=xZ-DT|BAw>5UcvMRR=gELMSq@Y)eWNu zm4%-oR{9m+Ccx9q)&SVj2!#UJ%ZqLxv)av1N%#mx8TQfGYtZS1;NOJ2gf0Fvw~oNZ zRxIMXg7Lf9#r|5My7qoTzXF0rO$nLOB+1b{%10FK*2$$iMP6gg|nm36376Okf^ko6D zDRwma;^FO4n07N+h!Cd?AwPnko0AGRuSR*&vD3rGdh^v(wzPn-~wq ztY{^xLI^>6`=8L;dG5_Dg-xD9IU(|y7nuns!O3CQ->1o+#3?vBk);Uay#(`+0(~$D zurNE-*D-PY(e@2m&r$7dR+kZD*8BJDVJ2ZbUZ^$5tQ80b2r|N-bp$6O_c?o6qj?{Gf^(9N$FMf&rBBg3zYX${FQOY)i;vtJ z1V{oPC*&ied-j|ZeqbCAc&fLP#MMI8<> zv==P}8fs!Twgw${m(WLTxM){|cO5G3nV7v_X8W7*=zr5JVD=!!TwvDHK@{JDQCuw) ze;_#M1w-)*n_){}9&em|;{3}V89jUS{L4s0Vl@pTHc82g7Yn5-PC>ip4=!FbJjYD4 zJZ;DcfW0aB1o1i^TSJI$0)rJBlGK|0;>CcIg0F<4E-bvsjXi}DUI#8-j2ErghOHR8 ztjpXTzxd%NcipdG=pI0Gi(Oo2HD}sP=4`ZK-PAY*MV}W)Op%r!uQxALnQimDKE<# zrB~DuxDRezTpZ`GQ>k;!EO|DY#!@ z-XFNQXdYc!uZuM3mKBLOs7;g3C*IXt=HxG+e@55>tIl^NLJYm5R9{=+9Trb(LP({< zV`Tu5^hSQQLnB>@>L4`2th&?45>Rs-tA0c{#DA1I3A5_8%&LPx(UybJ*Fnbj`>6A3 zF}_E&VTJe7*MwMvjs%gnnojc9y+wq$IeA>`e0WZ7=)}A9k#sH^oU5;0#ksnm4L3Yj zhr43NEhBr(&PujjUof#cQ5b9YuA9522!Gg`^MwDQ=6 zJC9~h9zQnzz}>IN-q);G5A!!1I|u%n89w&R`59Pqy?F5u9j81pg#GoQiDzKKqF@i? zd8J;HJIyc--VNiG7jtwdHHs*BBYciU%99^Vk>V?}&lmY=!LY?Aad7$t0VGiyp6%av z;sIj{J5ec)Oo?0~IbVwn@7!M4dkvE8@itdTx^xuP&e!kR6Glk4u*iwk`fFVvT!>Of zZ??0~2L!^VSPIcQLgm})-^XE&3Yv!+SA)8AsBVs@Z+%d9he6Fp+`3->(ME9+2ywH- z&G_Z6n{kg>iz}Oskx`H>gTcvN6XH5L1UgP@cv-bB!m)Ii4{H2OZ|F5W0=1IEz7;e$ z*3~)()q60np$=ZW7~sD8FjshQ^ag%pA%^&PewW>LY^0yLJUPyXTv-ll_zfErAAMxM4hqH+ zKp80*6x-y^O5u~pw#4pS2zUb97kh~y=UMtt`N&YY>L~$mxkfCMJhpy0-VZ{p)XQcS zA(`Y{YT)#3Du+l5WJ|+Z*=|f7Ss9?XWo85JRwTYoeO1@i@H@wBFbkJ2W;Q?I9x4XcX>Z{U)E^$FdN; zOY<84#yIw)0|3b-;l&o$E(g+(XLlBU3E(mEa;oeIJj|vc8I5^U2v*w_;TSM(~ z*l6CYVX9ZL^hMTYCl8?eQwZZynHn;V6%h{64bjEXdwDTT!V|^eT!KUlDR_t=9(RF4 zFk?;ZpG%@n^RW+P>1gaVEQFN6L5@7!p`q{|Yt)MAV@J@Itjkk!&I!Jtw8T~oQ1$-0 zJ=isJ79r7JC^spX2D$_BoI-Jc0#8v(v1o9I(NC<^v(t!xM*c6{y-src`}XX)+B57j zi|DEst|F1nxuq3v4ZYXt^M--;%gqG5)!&!eii%y{x|EG5dc*X-?K(FsLEsQ@+#|4y z7xe+A{8xGtLmiq(FgAZF6dc>S2xaS?nAbRO=)@KDQEw$;8jfKfdh_=$1Pq4f$*}Y; zc7jj>b{?mUJ}n|*qu^v%E8EhBed+*jTS_zEUg#~n;|9~z2GeFkE1tjWBT^e$ZHfjp z>T!(fYH8F{+Hk{j_x0~of#pu6QrFjp;h@vlL6=NQ0LrNF7v6}9;VgiKDzA31>1lJ=>8xskb(7@gvft}i{&gwoJ^H1d=X-dBi=iud2v?2E3ZLEM@Eos zZlYKj!*RT25?T{?gQ`aF!E#BChx5Lt5T}%*bk{58B61xfYNdKp(^bC%W2M~-bi9~ z=LY>n=woNCmt7KoDPknZR1!&Jv;p4Gh%JoVmw}Wuqs}r|i8!k_GJtyNsNjSY&QN8) zhp=)m*DN8erSK9;`L>!LaEMmq;iD&O_z5FFXt3lzsv^O9u987g36xq(hoF$8D)=QM z26DzD+fPBTat(6cN~S-rmjfi!9A*yHvQcZ&ba+JhudA>e_+-uX=!n>UDjagAxkQf&@C5A z2ay3~U~}aR$Qei|h%?SnvJUyfF#ip3KjZ;J#wB90=xFe%WH-TM)Hd$@LBZlFF$$g! z&_lW3Z4ZDF?Im;>1DmunbjgzY-9@^5oc{a>UA{q=f2PYGdT~2lzD2shH|cT@X@W1I z%fHZ{|A5lt&Gj){v$liV2M|LWtKH8+yG@U_@mjg%)qQR`n-$!}g zF@q=-I&fmi>E#mIKGspKrmub4sVxhyo2hRDy6u9Cm5PV_w?hmEL1U$CXNh zMY_HT%9fKtu;&WIDJj3BzET05|F_Vx{qML0e3g7%zuz8|ZzWXbHOU+4juhnR{&>#aA8y&NKhTr->4l%r!y@FPW10VqG%9YPo$-AXghZ#58nINH-LKoCqwBx^c< z)GOjZ14zu-U)Oo@Q5^L~{CM_%mAqt_d;$+N0-k?=_uGR|2+;OtXuv@ym3h^w!S45a z3OoDbR2?sbeW0xrpnVFjf(zlfqNEcDMlLmdBHCvkGvnN!CR`sLg7cg}KN1%$3SV}1 zk8&q0>Vb5$>mImuiwU>~^=WAEcTtdbK|--;uu3NHZx{{47`2iEKS_F1Z?PyT18<%) zup?|}b{8d$c4jZGLF(W74=I(Z;~NYq-+Vu3g3-Vlrbbn{OoMM@m}}+s7is)#gPJ!P zp211ekR*@*7$YeoCODg6s9-(u4iX+guw8Qv^l!KtvMSyoVw~XJ#!%tdOb6{d8`sx4 zbrp&;WT&%){3$~CzO8L@-ZY*)G58*ny|jkOvuCY`G8}t2jc>pFVQHKGOEss z^GZ-k4O}3wAiJ;?&THSsdBuh}d9<6&80IqT*qKNBlUD2+q$v85q4KVIHIIGwws<0m+66I+34kyG5bB4`vI3L`+5XS4Q%~z(mreoIp{%U~MsbMw{*$dPA5#9@n>4N=c0u3ucY}nA{Y@l_R0_MZs z{cRjtJtg193FPs%H=(9cdoy3RknXk}7sY&b@>AZDv2W!2oA_$*^=7{A!qweqv2Vp6 z$li0C{Je+@+|JkCe7%ESEVB2|&rlJ$#S7$}DF`m9VT`x?u?0xjW z-O8{J&|gdWb<4gJf7tIMc;6L#{8IWOy7^$=L(dl>Ke;`EyHWdIz8=CA3dmvn@MeO2 zgdg9>*ZcW;l&=r)^%!4|^YuYoWkw(3zfa%_OUg<7T(KX<74SHPADHXy)A${=&)~|2 zd3zLh0V}+HmfwFDy(fFS{V49(&~Bfjl44r7AH)3>`*A8o_H+B?xSO#r@bw8?(cmli zk5}T#CU5&m{`)Chuh_4mdp2R)8QhNA7jZ?8$MExP%g)Kqxcubh$L62i_Ky;r-%6J^ z(#650X%_=8XZS_H63m5}1gWr1vae}Zq}He9r;Z=A-;|#z`I(lVSIf_{^79(}V05pg zpX==J#gF|uT*O>zzX7+XXGVU05I>`~BY*rb|KX7#MC@<($nd%H9Pfc5oJ$V7t3jKK z_D0jaKSPk<&U~Ei;?15(Omd%$R_t8tlX=rmb1nwIMF8r@VWto0Ext2@z%M-h<% zo$QZ(E_s@|kh93c8g{-*&l+U0sDe!+)+mVaCiiJ!w?JrSz*d#I)!N>uy3R3V8{k(VS! z?f*p2bQx;DpPrEbwSS)ONMza{pu1j*OopT{GVKpi19O&|_AgNJ&hpa!5S6)V($Zd= zLi2;T)RlyH%#lt!HT4O8CH0Zcl(Mq|`amfDN>ldeIe9*Ws@F^W}PplfuO*T>N1acCU0BM416+uW2! ziX_u6%28q?jbNPZZepVt>NV{catd2HVmMZarsnQ)FzAxn>BljA5)1&SNvz1t%O~3Rz+pbp$ajT0_RmEu2KaInxH^LZ@wCpC;XG zZHgG(N#md~;;TRz-z4Aqgv#VzYa+29`SlVJb55OXUYtseDa1=C&Eebnai$b){kV&CqNe%E{j>0EKD$c$e5b;L-QnX_G z@90@uo5EADDMUvmMg>0L#VRC+JcS|*&5^S^i;V#b3)d{b3Z$9}==}ARu9y06hKxtB zHaH9KaEp(j*1hw9d8pJTg}@s_j2)%KQeYglBQcaZ*)XI`v5>oX%#Im1K7xgnX0a>k2VwOQhb@tJz=S$%a=e;G~IM|Ugztk4Et-lPuSP* z)?tGo>8q75yxphW_U4r!*$s4AO_!Cp_a^ljYLM!8-KS) zdSmLWCsTEOG5A8`qW2LTn2ztEyWZ)EhoTibm-??KF0|8z{UzFh<@x(xxI=V~QD@k7 zpzx$Xeb{5eG5RZeUECP+5i3K(eC0B363yX2#dWw@Ta{t?X8t%pnx&`c zlA()VkRI`q-w%1ym$3@BqRz&jY?>b97rjK?FC-=ADzF(7g zJ&7OmKMy8ogq!2JUj4)Q{r`$p$#*TTUt3>h`TFEwbsFFNRMmRJ6%>UT#g zw%=FoV1G5BeshQX?n|_9C#fB+@Efi%(u~?YM zH-^-9DLSESC8;du0YKE?iF_JOQs!#f6)hoZKkxI=Zk+U7?WR_12>V+@+H0i8#-=3f z6tZiXsvwYti73EcCLpUkS*TUY6s3p!H{5#EhuH3;y3rNd*}eF(2hSZnX&gPj|G?eG zxe5@+IM*Qa2)8|C9NOh(A(@(*8iIYp#Nn)Lo--W5yCm1lHipdxJ|5mRjGRTtao{$G z2FQ~`<>4Mfv=?`cFT0GY*J>0rb^;^5LJSoPTd)i$#89T-5#>q=`45aq3rP+zP|tcI zQ6n$xyf(`o*kfl|4+;3IQ8M!A(>}gfb5nL6=`n`r%=pI6=%@GlH#_v(_qm#b&0q<| zb7?uVHSSQT8Dz_7IWL|E6)26?S%HtCUxSONvo-{Fu&4_m0MC=gJoxF};m%H`%{0?u z8tkNyqmXe83&Gi77LBN{H*#@~<3mOYLk z;phP?*=m%0-gaW4*nuW~I-z&i$faA@Vohkib#0pi2hm~tk^>`p2p5aHQ4`4k4RK7%=Sh9 zKSnDK3_aG%2|~e_Mv5&45)vFd4qqf1e3l2VnUK~80@*3dSMXsO? zd`c-Wz<~_Q?-cKpl#R;>FteBC?KAMTLUcLOZ!Ax&a+r(@!`A>fZvbkVR~2!L zNO`&F)DgpoZeR|RX3R`8GUFJDNA2N_1}UwPhgQ0?wWBkaB2t|@m)b$wg2JhkErt|D z(swU~Vjy)asZGm`y`2`HN9~AK9N`kc{N|4hr=MpbK^0}l) zrWEiI=~ie_0bW$DBDF}(oc6Pcgx6Kh_dg%Hr%S2lN0&5AI~YX>Ptl%_!m6ZU90S-U zTGudIYHuU$U>*G;?On3swl~^YAA4aPwcj05T#o?<%5Znp5KZ&OB~Q~3dNr_6K}2CV z^+N^kfM5@FU%8GRy{J%|+*46_^?Gu5$jqF$3X?md!JlR=JhKSYiv0ulbc=H}bC`fj zHP|$LB|hMAqR8bqz7WzELGu981U?Uc+Ne~Fao~tK)sY8XdA@W}N3`cpw={Ik_8(n$ z3c6;l0=hm)@-BFUK;aksk`#84z{?h!wAn=^OC;;yG9EKjZ ziMk!9e#HKf_EmVYO(AG|c;T^wP6#m&0={ytx<8wTQ|EOD)bB7hI7_*yNH4s{o!2?M zRitkk`3h6=U0t>^UE9^|!LBYt@`b#syW9RH;?^Ic%h$+2_7%E(fi8bam#y?-6J6d< zm-pi0dpXgkGyK^Me{zM3&v4Oz-xF8Pq{Wr9$&)Mp18RXQXX^u1ZWCX;x?WL4lwiLf z?a>DE;5qh@F^*xiQZqfi%Q89iPLrblouI+I;g9LAcN@x|k5=r|`@f;Axe6uTQr_%t zDQi#-Z7sJeq`~*AQ809~`0{NyUyfF6|8IKMc8mEQm`SzqC@*dMy^<#uYs}~P-+D7?@>JNhCqDNlTQq4 z6HKR=7%gj)y9p*3k`@e!XkDA#%`gp-X5SQx;fNuMox8c2^9AH8mD8#vHV&>Q(U(ph|q z3X$rg(3pKo!1AJHDT@!Lp z!CoR|vjR88QF(x}P1C#w-g#g=53`Iw(><=u?h9>pH8yfvl-hgEyj3K7ov*|&Zw@_6 z95G#Jq=_R&_%?^0)p_P@EA`GSo4DEBS@vepCX|M5oK-=zG;(p;71E%7q_%=^0Q_MOG2Gh!ZQ#yS-s|?|iD!0Y1M^H3*yihp^gFdI~Ld zxn1~*XlH$-j@vFwKSr^|j3*vB{mA2Y?Nx4{EHr`9zVoUmAswb>KGlS#W?r9aQ!^bM zZLg7E?VdER!qnXRa`I*t{Y3>r;yKw%nwmN;EpKVvszfiB=&*x3lDtxV+PbMoo5UaK z=_J1OItnv~e}RNO{^CgOas1F#n9WB8&HV`r@WIH8x{mI_N%fhfEY&(p@^|&TEq(6$ zP``!}@98N@#A3qDvTyRUR{;|;=RNNW#)i2}wzra*tuP{~d2 zP|@Vw{mJ5T4OB}~i#3d%OiXi!ZI0O3Hes~Y| z!x@qcfDbjI?XZ4xbD!_Qrl7*ln+LM(TyF#w^8nkR%{Q`vv&L5 z&S+pP?v^*UbvU~i+XyO^Vx5orlG&I{KfII7uvEdHY3I8Pr_7ucHe2?(at(+_qhsv` zi2mNF4=}YiszVhN`ZKx@y_W=Ncf`B?(Cx}wb*MUhyOGAe8{DFc3{UlfK&qTufm!M> znw$~y7D%CmnSGvyuAB#X@pS)Rz4k}_hW_fcKQ`~CG|)cYf6%Hl;*X-GE=`z^L_6!_ ze4Gh$-M33z^eBZ; zWcVbr@qOXhI7IY8wPDU9lff@KHKWbN_xFD;RJQonUWK_har?<*XO9u2;0ZAA34yZ^ z!4XxoWnDiOo|;pb8m-NF&rhILZKi&r|1+f$y1)G@%+yP6uUl3wI!E-h6EeGUBP>%s z7@n9BOpIzGG9|M$qRqpH`achY!o7a}D$K*N+u^F$gj@bI>}VIA5chSGN%?4aQchq} z+zQ?HBD3Qb=+vS%Lm%(|46T+K`rZD|(0t6H&a$y4v|R+hIJ$&Ze+CpgXQe#L6k$7W ziJ8b(36u{3lTHX7S~@6%AY9JYFROxohW8O<*PlX5Jf4{ zrIlQNI=&zB(r{mPwo&ogP+uhm+D@E#kfD6dM$`iv5kvBYZ6o>`@vN`VhsX%4$&dHQ-m~tgS8Q$GP)yRvZrY z5APg0K0Dqlvvo%Wu`{!^N?jaj{Wz&Zt=pqt6{ZA|_|DjSnN+cDDH3qr++ z9?>JbAXNN%c7OXAS`A^>+?_X4h(4}IBjUn zbK%d~yB??tdkm+NXqbhv(1N7LxX2^BNFkUC2nmIf9M2GF&&VC{dxPfc7DDV3C$xGTW{ ze-e|xe(I5iIr|3bvux6BB0XT;ZJa&-8}x`O^8rA82s()|@1Q2R2f;UO+QeX~IKooN zS^a68CITqTTu#!A&`Tc{!AevjJ+{l>utK9&KpsAy_qbCa@2MIYFP)I8BkCl=c6!I4 zJjNq2CY_y}2({gG>wyZ*C_Z__FDJv-GzyKPmGMIazNHn&4etyn^wG&;=`lhJy{Stb znwo!z8Kg81^-C6CG$2p`5$A;u1NE<=H6oj;5K7-}Xsxl-PM8{A26plek_B+U|IHUu z%EF@a*cdUjoM|x)SrCp2Aa6)Y%(k@cESrdt&s{dHB5FHFF)<_ZNq?mQ^o>2G$3Or? zCt7hpMs19dQE$*>RL(-Q6YziHdfv#eTV&Rmq3c2_Rf0Gpj?PHltWszQ{!(IuLS*q| zDJO1lWyDD~Q?hI99&0^M?3Jp=9$&+npwpvu$hiV|t?*w&1jZ>VJWYA^@eX0xnxbvN z3W6?ANFr!RO>jzdUx`f^nceXFkcWY^rxnDnG*GKLPR8kMDGV|jyi#)h4c$5kw--E` z1SEHG?11XL5BcZ6yMw4mHh6cRqDEP@@lkM z_>=z6!mTn3e~6a4^l$iVw6i{m#Q8Toh-ls!iA0>?L)0S%o-|ziS22p^c(otKn5jw~ zx<>kf_EUMh7uD<2+M6o1DgIg%YP}}37s(WV`6^8D1)2jmWEFE64*Xo#rJ-Q*G zJzIjB`vkN8@;(l2{$K*X~+s0T64ZqBvzkFwPy|&``x&XFa2*$L!6uYk2re- zad!3}apq$fu>Xp7%=|ra`>*M5K0)D|2$aYRD<0u?9HnH&*$4vqXLm*d(j4cm4lgTY zs}Wt;eW+o;L%qcSUlBeQt=O0Hr-q}7@P)maVZhUcNyXI{W-fitalI^-SgfG~OXz^% zJK<8Axro1%P9f$hRC8uRdQ;#|eiJkpFZMJq|M3Nduc0`a-lkP_;Vw?f^tIol#yPG* zZ@$pe$l!bwTYIft?H5L<(*?*NeCF_FAcI2%4n$5lryBXgyY70)zFpXMq?BEUcOBe+ z*Dj-8%O2K}|4bv`HP-8#0LwyB^4xIqnMaPD%S_~6(L8fsy>R%U{L9bRau4r+{Nb0J ze0pr(OLoB^1zZ2&T~Ab+=kX;1wB@V{MO2!$YP%#5`WWwZ9NvZ2IiTC&U1m0G6|GvO zME0k9ISCehaW712h3Z(vtmV>E2#RFgYrq;+o31vjT)KokB=cTlVjBCh*-91fs@O3? zFgbE1Qn&YFFJ&xU&trwVi;QX(j9RrS(gkIw5AUjD!z9~C!*v$oJB=--a+>#e)f3e@ ztcr_uq%X6|M-B}O{Ep}(at*RQgshN{;Pe=%r*9`3eR+IW8w&dPfR-D~JH23ky4{Pp z2Pl?oxa`s5Wy6h2TFblC!*Eoj|2b*xtug6ur4+lZ4f7QxEiZNLYlsPbFD^YvSnI>> z9)Vj8HMiH@=aH~hXJH|&DK6GBX&!Ofk*kq(ry4<*h^S;s}q<&hSSw{6WB-kQ?KzN^XoDc(^g%Bjv_;e}Eg~MG-Y-6F0cJZihs! zP^3Q5Be%oFkAs7|rwZ8dho5Nr;&0N(nL~V-?t15P`0LS%7b1|dCcY9o9j%;qa?i#j&#vgt&hM!e~rav9pRn9iW7|Il4QT z8&VIjlr)V4$0@*Z@Dn-}$xAyVF~Fv*=V#>>v*;Vjc{P;c>clk>+5g-EYIQh!J@|&} zp*W}0SSA#!XpD?vZcVZ(r83ySrY#N_&#@s*X>4>n|IQn}hKPR|#g}dn(Kn;|NT-}5 zb<70sdK*s42R*Is?~siH@mxG|J%9sK{m#YldE%?@L*_u6OGy5Nq}QA9-_N88r-oICp3Cc zeon~GN%=X&Kgz}M4E_*4xIbF4GuEfTAPQ&!g>5l}$=m_uX=MOdJB5v3X`p*3I>Hz^ znE-Uhq7~Z@&@)!pmSJdNhxb2*vGiQCN&(M}#}VWMUVLYeR+wE1ccbTZ_|1`zHX>5M zS(_YZ>P=uAm_NJ&i~n-xtclU`k269-gDMdp)Pn^TXZ?KoxqJim2*?V zrAmby#if^e$H+%8S0Kx+Sii^MOV1kWv_%Ox#Ldr-n|ao%Ws&29ofF;oT@*_mDy&;C zZfTbR?PAv=D>*yZB?jFc@;5mGU%(ZgzVLj;aq1KOBWTg%qDelA>|Y~CY3L!`ElV`~ zLb*z58YM>kF*rZfpfr0O({$4d*JkK3jMi2+xdSQ&b7KphBs)JC(gAbW! zC8YzAo!8V}BM+tpuZ6u>8>VPmr2#))tl-X0H}W{E#%JFYnN^$EEulOb@L|hUvQ5vs zn7$>qWr}8$qmQY>K|Y|B4zCBl=z=e3&lV}_cxxp{e5{o; zeZ=wBN_a_Yr8xa$s*`>a60&pGA7T>EXoj-CGFzO4#LS#eqSti<0_*tA0`{}LBdJV;MoMtOX0GJ-mstA0cAgOj}x#iV8n~+-8gA#7VD6RNEkp3 zrz(h*JfTj6?KN<2%oD9ankTA8Dy$j=Ey-@BZjkCz#$i`F$R`pP{e^FF`HmQNLqjY> z(Lf3Z9Fb)mLnV)a;V8h&P>gh+81+Cj3I0^nh_YC{=By#;?C08)JTIn1BiNZJUG-Wv zZxGq6Q*aEyK8tnYBgo4d6lSjMrS#uWEk!eJLzYA`u|&wU0au>5?}(x%a6*UW@IAho``KSj#FyubC>>O?LgHs#J_YC_?m?%dn9B zik3s*#D?{Bvmj}|8rrB+biyCZm_8E-DgN${-Qe@Z%1*8T#4WhX8q(PG^~p7KyoQdH z{pjkUqsFM;-hW2DWsZz`Ei|j6xm-a~(iJI60O*sH9G6%RaK1f7jAIteH#wnB6WIX8 z?F)RiSW(6p7!2GmiH1oT;S-vmd7Ry`YB&ulM|fD{g3CDTWx@)w)=*00S5!loD;1!6 zc}EIZopO1Q>*5*r1-b=4Rq!8TD`=JYE%6IV9xi84J-sr-JFY<}20|J-|7`!!StU9O z>mB~iky?tyrJmE*W3j2{x>=NAy%Ooh;<%Nddf2%wws-56@4(s!24w$C>FhRKXIUNi zowZt0#m{4z`D|;q{XzVmy3YOu{%I;3`G;r?x@q}!*yGvE*Dbi(+i_9${+;~vj>S~s zM!vs^uLfUl=Ibt8?O&prZpGcH>+Rd*=SBSXcE0ZB>mBrBk-dk0mfA0tpS}Dl&DSAZ zuh_%5+P_Q{?xVY3p}PZg_n+zRPVd=WboZuTk-{{N}sp?+?+NM{##*dA>elpQC5LPGug$-4*+B`uoFF=H6Wsl(pTg5r~8JC~D z{Mh`n+x`ur=U<~slP)#7{AarS5-$E$78RS}A~XCtu%X2t^Ii*o%oY^-*d_wLx?5XB zVA$H)fQ^Rifdi)6trw5PUTklzIw1>>$D-lU^j8`S{SpC($^MIU*Sig`zl~PxjQ457 zOB^5gnt0P|J9{b7N{%FR5SF1WuucUv(0(%tfo@jCz8UKq(TeS_(=*->8;GuoozE~* z@V?Xpq7zXL;A+95z!0nqVPynWMzk1Sr(vPYsuuJX8~bOxXhqPBnw28MQLcc{Lk)zG zs98mX#DG>NCLvY&cI+EbG!FM99!{||px%*@3To9fr)cIKHGEd044AUyLMKXyq=rh( zoC%xwUao}>ywhK-tRehHgZ|JJCFl1Sa&!noy8z?U5Gl33r!?wYoPDHG@m_Vzib14X z&vPg*B9ntM%e3tQi%NybMo3Uw0y}g2L>utd{tsB0*dqg;yOn$Sevk#Cx776E`j53C z-O<}2`OM%&(TW4iU~O~`FMNh=+OV*2d@%gF#7MDdm>8|gRu)rbX5F6-N1rxD_4Kw%|)+`+Mfx!%WW;HTI!$eJdKq>%Nz=~P83XC!J3TQrczM@!^ z>N?Uxf>$6|gUQF=5Yi4SysQ_^jcUR&Ym68eXOhG&e}neucvVPkQS3Jg=i|03D?x#*V>mlId0$(mg+b$H(2V6=7ehzpe9^C ziA_1`90!_=0S7p$sudrHV56bnwFw4>@ua?hCRk%8FOAZCH=0G9Kv*Yc9G$zwEI5}k znMF1qi3_@KIyHFuVrIxr;R!U`pgBAnn04U%Vj3rU|XpNUo+V9Q%$ z*z#Jeq|SpY36XounRv@F3hq`Y@iWDK!n_;N51OQmG2V;)nw$aXSaJ5!Q0ll<$5CRa zYHX?|D?H3l?p7f)9zM!hXJ!TFQf-bQjwZGaNI#?Mu<3|T5dn>)f_Sj!X$!KhI3$>D z$}^7f2jvPG+{xj{HF=FUYZwhYfK>a6_44)%oFquX%#FpnOxuNviuWPrKJZV18T1lx zY-~Zun99f(;q8$Md@xKGY6Mi5>*M1TZCOYmmpPL(^215cjxWwILIJi3#RAome+TT#5c&>#^3KTgHTXkVp-jS6xTEEW(+01d*QjJIqQt8>MWc#;%g6X3;!!cx_(5+nikNhdJvVrihmR4I4UR5n38 zmPee}9gqH@l2CGr2_XlX2#bjZC6149YueNf1OSzXZkNGu#-KE8rfG3}@e=RoyIDZZyD`R)d|_{ly_*=$&(h@` zbooiTJWQ7pba|RCWxD(*UEYd|zgb3~&hTe5{K*U#pW&i`jWe#C35_e~RXJDwBC3)r zXO)jCw}~rV-OV&2N;)S-Cv2*X`mp-#$vLrsb5f}$w;k`PCJ8=E;9%zPNxF;QK64fq za`o0zEoXqegpm~i_e(kZ1>G&rHLLy~V_2`_)C`qTiP~UdK}e>S=-r=*HrVrXWFep? z-cnoVZKo9h^5GTGw3OGywY878=V&4mau*5Wg>_McFl8+#tlHwo& zIrxMY5%3B@18@$i1~2YOvsSPg)1*l%K#_Lj9odJqggjSMr07F4FVv(cZBrHtV>LR0 zrK9Tey|daRe?2-ET}-mGg6uw+mug<+H1y|H9q-X6Kd3wiCOK<8twzlT6e|t8oOPZu z;~}C5U|L@ZGOlYH75%bylEg?t${-mr$w^BQAxRbRDxnAbl}>4kb1ia%|Z}!Y^2^b zse$`M6e_*OD3$Z#7+MPYJkC|ia8^+Mu?&J;Vhf5RpxhtrvpGv4jf{}bbUu|b=%4st8aS6SIXqS<51Xo955sq^&=AEBs<2Cc z;k;`8U5e|`Y#rKd?+!J*f8GsygJV2Q@V$m`wT;taw?3~|_tnK8KYUy1-|tMswS0P_8i zXYZq0K_M{`LM5=>S`nqd+P53cxvGtRRh&6nQF=%$sTs{A?eLmVE2`J8Ojw`&3Vhg> z8+iyF6&#O3Fp`R+^rP7rj_|63#vv)6p;he>L>%`6>Cc(tJk+-7IL0z-!%@z%wOs=` z18HAO;}icc0a#yAdSIPD!rBe0E`(Dz$^?FpabO-?q8)5P<7`_j$R&OkjrWdA*fTWD z=jif-xM(cF{vmoC0>KReg5SccB(m9VQJpN51&Z^hfBPq5x}|33{Yks^(_XjUleCJt z5%_$@>nyj*%@V~pY&pxYrXDL~aRXL9Ubx)KAHfNa<~ZHj2bYmC(17yitf5aRTb-3- z=BU_KXI*x4%o2P}qmqVFo;K6MNg^xowJ?yN0F+uOFoF^>3vhdl2U>lJ5XLMh)M4N_ zn-FLtovWk^ox8Fb#b_a3&^koB8l5{7W6AUN!c(+5p1Uz%2V2?%6e|4Cq**AEuXM;F z(6OY((grtzSbE3O{H0AQT5(|DH^-O-&heRJEZr#tfn@h}7vJ8P-SN`?Hi@iR)-s`G zUSC?!z_}wj>TV=N++z3^;cYs6=e1IN`<^|;ikZt;*@+BCoT^Um*^`nZ-vVizw={F& zbikoQJ!7Z*h159|nTD*MAWv+m`==c7NOIa4XWjhK^_1%eOJB230}gZ->XbYHVJ_g7 z02eI_wo^}5%~^kVYwSoEkNPqY_KL%q(YcKys*Y@o>#sNLx9O_CeGeg1aJ{`YJZ*a7 z<$HUIeBk|v$yJ_E?ER&vJdrq#({gSX96rc(w%2k(1_WQ z*_`ojd1IaG2M=p5`scYqz(b8J+9Cp~H+PSQNgDs^itm>u}dIj;m6! zy@uD^K#NE z67o$)hqj286`@B^qwnw~Gb?c)^yXEuN-%eUZLf-lXA$xMF&%nxu zKmsv*mCkmlGYKd{PXBPr2%a7D3Oc!*U**PonMqX&ZP1$-0-|=o2(L0VB%$ zH^&d!<1JynzhhH~@2@Amuj7!;^LNr0{owiAP;t++<^#g>H*uYF=lQ?&?T;MZRI?a) zAq+^9Ob2_5esPj%pWx2Er1yviNmrSdZR*_ILy;_(O=g#!i{ut@x z86DK2v#Vkyd8R{egY2P?osIH!rPIfO&?ERTZyzU8iRkpvDs=vyr?2|K-*ZW^E>5Rc zS!FMBopa~!uj=mvdQ-u?x8IFveDQmFJ8f}%QNjGxN$1h$i!yCJ;)|+VPbKY^&ljIa zT17&>_^fc6I()0F%G?;E+M@Fm;{`Q;e0Qh*#!^-vx*O$9c-t#}6dMy*Tc8w`ef$<2vWg9W#BNLvJ#eJ@&mdjX!?8w-Xn~9~IO; zl5{40{wNdIBmStm_3otI^7-RClU9+8KVEnO@f3u%8+rJs=Hb0CH!kTF_bmurFiP>S z=yrL3-W>uNU8XoxJ>uWwD><^jSeGdf5JmkV>jwqDW;+bhf8hL?I4yW-g&Gv#pDLKe zy7F>2WTa(0@yO{%aMT=O9$@PMk27-#3@R5MpM5%F8AxwugPT~W$yngIh{`s#E9!wT zg#R8#4U4yL61xkEH{KPEuSS<}|4v`_L&E*vq}(G;!W|X~_s?ACoF&|am$ei8@-SYY4NYW~j@y8347e`iY zh@RZ2;L^#`AKl*UdZk8dBl48w;CF8D>;4O?Mt6jah~DXN%2tG zoyg4ADs`?mB~d=GI~_>OTyNrpq?@sb{Nsb|Bw1_?wt-?S!|o{%xrKhikOQS80%25= zY>2@&k7(_Vr1tNGNMZJSl<1Vj^Z! zu|!Sj_Ij~t#FckzedFAJAqyyicXQBlasVq8a-6plhEbB^H5_SE@oY&fwOx9P+Zh!> zM!zBl{6UN#fY(E(7VpN>Sf*OZ$X9VNE70YOyPX%T8 zw>=7Y)5_ZR3v6tf3cbCzxEF^wj|35CVOiBz_Us`_&lC|@)tbm4VY?Zla{4ayRDc*& zlatuvE5wEg<3w2V(c(;~`?0 z*xyXJ5+!!`OP$zTy+tga*x$s2*&||qQgGAZIwQpXwRmFhG$pQ$FL3Vv+X+#;xo0Ny z9XNiCIlim6I2^|uUll~a1!a!Tr<9ln{T}Sh84q4v&gkx&6RReTXP&klSDo?4>0x=8 z!~G^rcr1rw22PKFoDSINYzsbGUDV3HRoZIn}rEI5dv) zN4>?VIF6GGBE-USoR96<10rM%%W7+8_DYDI*)uIe6+)JbVgIQ< zw}&<5u9c)VFR+B~HbV*DvzLrq6Y1r}02DPKyV;04?badafj5A_5It-SbDXczgaFve1%y=kJwILuzHI%-yw-Ag&=}K_;eMRZ{RBrzh z1ug$)y8H_+NC5J6y7%L(+uxwSITEBE>p2|N{I-~==A4LCg;lSoDR-;shR%*eS>M5V z&g3XlB&>LM@y!wDI}8(KOH+v#!}-<%FFMCm=Om0e8}xU_PieVYXV3V7FvkdAjSMDS zg|iVSD9iOCTaj=ogZ8NElztHZ#>(N(rV5L{JXgsgE`GVuvNtWi z4jE53^K}cZ_I6xU7N?#3^bQ<<8ntia`eHu-rG z7r33TyZL$ty;x-Lp`WGpi{)o8ze@9U2-hq2Fs{yuW@9{kce-9cROfy4fMPr&f^5q^ zKz}Xe*Dd=_{9%`gGVcmLekuL2mQq&&Ky@5MWk-UReGfffWFi0E2<}Ghd->XJ!dFiJ zY88aYc{E@bhfT&dJZX{N&}w=AYg6D+$gQ=(36keg$0yC~)2q zx_pcN{3cz_QIWH__*q}+(;5D3hCi9%;usk{Z`vDyWWZdhoD&gn<(wLkE9YzpTsbFi zpvrCHHCH$5E0K3|tm!O=QPm`Q-LgMR0RJ2=&JqfE+VW^t zE<5q@Sv%n@jkfxgE?fP??5!?-yr7TtU%PDczs=s}I@ckjTBus&bgcJa`8J)s97{2K zc~E{%$WL5;`ZIV1_VUTud$1VJvl@zT>axvG&EDp!6UE9HB5_8ic~_T>e|q-DLz%jT zj}M31on8G?e4O&u0MI`?d%FjYnYFStQLqqqvX zTUVTA$dCnlV~f=eCuNqi`3hc@EF{fR^Yyuv01YqS9wX3<`PR9)Y8P=}kQ&c&jrP33 zYoEu53E;Sn(on-im&^lvknuhZr!V&ln9jOeC_NYQgi*_BRt6*BZ6*Y-UB-t3&sx$d zz6kwKs;DHb;;&b`RmiOR3+B1viS75|OgFu771?>C)$XKt)mAC~AjZ)P@+8H4Hu8Lb zQkePp^Ioo^Jw1MUpbgor2m7KW+U!$}tb8!zkadB_G(gsY0`v^~ecU%VE_%;|!{=y$8#Y;cpD# z1j)Vub4Q_pS}Wz^G|HxG=9Jg=^`xJ0RzQ0ZZpAY71vGBoih-S4BBb$=qyY9wLjc?r zX}qhOUVt=MrY;<5%(iCxI)>8=3ZY@mMj`){6m&j?{2#8OJ%zMW2$FIZ$$$tCujtZO zmt9-7_X&>9j$6pEnl8Zp>Mp;%vy&<%vh6Dg8_|y>Nc&ndz=b z_3xA78}$OD%1ZCTk!m~J#v?sKEgH^jBzijO#Q7w8lB;M>qCFL2JSJa=y#mT|Scqlm z*#Zc$9NLKpu`{H-2ZflG6u>@Z2!OkyjEB1E1t^0TfeS|&F{Zb-V+6gBTQri{h@zDg zT0T+y2v^aTD0YW)`gtqaq=IWTC;5foV#A#-tA4p(uya;>vWf${N5#`Gb`Q!ACauC3 zPw$u6=(VzNgBVHARMxnm%rSE@>5gpO77oco~J2%0%b<*w1T3n~!hyZ9aC~g8iDbniJVIK_AlGhbVb` zBPl5T+4$$ARfK0Ffq?O4l<>O*RrtO5;iLmm+8diE7fwcX*r>U4M{i^mjc7JmwI6MD zss9gg6$>bVtGvw%Q`B@@)5@J(IKwpDZ4h+3B_H zV$*D{f}?}Tq&`)tUDCln**EZuX_i_}7aD15Im#C6Nx|l`#cI+j`VRTc8rBJW3ZE+eHfa?;ZOROHMVlY%rWden@D}#M(PoTy%kCR`qc74( zW~0j6&{miF;x4YDEmii>w!t1FIyIi?7wiJIjW$Ghyn9d{O`z5{v{0s36SY*=An|4`q6Jt)AYMq>f~ zTvBNH0DnW$D*6ua6`}x#q5Z+WK|AHD+;O=5{-kj7LH*vORm>UGi5)eT6|xl8M&lu$ z>l>g4Zb5Ug2>p9WLF7aEQ(Q$`sb}|en~Np6zs>bMYa!S}z8bHiXA7{+_5Elkvdy)7 zjl0ctkN9eQDJg(`RZsxjl`1H*FhLc5FGRUXP=!xSH+2IGD5UI3xo`?;#PNCe&fch_ zG>%!-QMA>qI?7eFC(K@JMyuRKA{@p;x@f-u=dAKphB!JMRgjK%55=QNtMKvuNYW|- z)W=nHM}6J&0@TOe%L_++vm60<4Mr2(_MZI+K)k;(jVhKFofU9Nh8es}M;Y1e_`5>@ zoV`gA5AEHKr@6+q6x#a*<93%s-SD2Sl`}-J@8}nFo$VgMsxEkjR*!t&h{grtKba8X z_S?KFemr3n&Wa-9qGpgjrlh9-?OapOO>2YhQJ2$*#G2IX{&m@YcP5jL=x_N$ zIrXt{95ix->EFfQpNi#~wvRynHz}-q()|~KT04OCo;!L9492=p{p z(N;g~J>*0`#JLy)&RRzBII7MM-_|cUy80nSSRsEgI$C2E)Bk^O*ZUer5r(lbm!#>X z>F=U~(I6Bg0ri6*DApEh2~C5kDAc&@T{f3n?{2U6!zLfB7Nuozv?s0z3W6f&7eNsG z7y3y-6rm~zeiIQ9Q4sv#^SrZnvzuIcb}rX1JDHu^d7pXaop&d@v(KbnG?+2^R{s>Y zu21py-(*JbgJ@e3)34N2?~8#Enwf5hwfIq$A@B44$@|Q<3KLpB)%$VLsDD+*ZFBFx2P~h2eoBCJL0A29|@F;tb5sxN$GEqqXUTi?$4!PPm{Myx{<0 z`%Tg0nIOe!`WuRm2FB^+G?W{z&*lgHv-!Sl6~?9Cv#dgOd2pvY*W7-3yJ$Sl4V)e$ z%+?L`H_=-NJtpPQz8#oH#NR~67&Zt~Zi;tbTXst#-hE|T#m3&S=+LXMtpm5djagJ- zP&{bc5Td}8M5K*wIO148)96K^FX?5?vH{}>c1bnlG8R&v_X+g9wU zi}+4mSCNq_ZsI&;fBVf?LU$^CtGstm466N|cVb3_z4JEA(0ZhQTJN!~;^R)|-mQCP ztAE(79enqRc&lkF`KvXcl#&df^8@34ays7PnqMM{-Pjim?{l`K8Fzj{leSg3*#2qv z@FF)(OL15k7>Ai@+4HMCwKL2;-#>G!wpAF9^)&h0?y*~op}jdUsg4);cTNp2@*J>NCxI&ECf_Y==`U(e_N%(89NU;2ghQIV;w z?j#oCi0~x}wIb6rqoIgdysU3mpV-p=VJEI?+Rc=vH;XZ>jgD?ng+ZYMl|>Z>g}y;p zRAEqLgiebp42q$CdW5o&yP>@3K(@0U+T^Bq)sYc@Pqggt_6SnxNgfm)DA6)PB^bR*Hqh zsY(2*QS&?}RvOb9k;JtGn7@s|KY!=p4<7#H;V&FK!OCBpr5wu=4-OA54xWHz;Y(QA z>R-gc6I49)J$?U29K5EQ6j3y%5jZt3*DRKnDd#RWuOKCcmKZlVqA)qaF*)KgIpSiD zoVEm@$q}i^5wghNI>zAva4?0@y<1+5A@}P8Vb@-fQEuI6quo) z34$YtYFHCpg0x*PmwQTys6DqF9v7AtGBr6BK?Jd8i*jM*|`p%$#I zL!KTQtJqsXehBJN2QVh3_Kub2zA7 zr-c5gWCfYJ=hpJ8kzW#IU9K8mlwV9OxCJlLR#T=n8dm!j*0GUk1#igM*&S<89p)G{ zya*XFBbOq7g*Xd>0y)BoF(G%3xmsM-?mFzI;ngr!F#MV-Q!E2t9W=z$^7VP7CLf2G zB}2(mmEyVMTJ|5L9PzKgr5FfGh3|`BAEOk{sG;+rN*$-n)}B}S(6vO zLP(czXd%)pmtxV(3pk;&$Aj|~&RJ=^9{1$lpjO20@@~lyqz;vTF(k$~%$+#Is&T{< zZX4F{*64L=Kkka`9^CTK$4*DFSsh9j&^lX5GSq=|S=p^t5rbKBd%8rba}wo;)8%fd flrXvBVvWd56x6}=#R$HQ^{Pg+xu^}cnVbC&o_fd1 literal 154771 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 k{#-iUZZr}_jybSG)u;;utsc9%q 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 . -.. figure :: ../../index_images/car.jpg - :align: center +.. raw:: html + +

+
+
+ +
+
+

What is Perceptions? ========================== diff --git a/documentation/html/build/html/index.html b/documentation/html/build/html/index.html index 3024379..70d9caf 100644 --- a/documentation/html/build/html/index.html +++ b/documentation/html/build/html/index.html @@ -79,10 +79,13 @@

Carnegie Mellon Racing Perceptions Library for 22aCarnegie Mellon Racing GitHub .

-
-_images/car.jpg -
-
+

+
+
+ +
+
+

What is Perceptions?

Perceptions is the process of interpreting sensor data to understand the environment around the car. This is a crucial part of the autonomous driving stack as it provides the car with the information it diff --git a/documentation/html/build/html/searchindex.js b/documentation/html/build/html/searchindex.js index 643a840..e4c3af1 100644 --- a/documentation/html/build/html/searchindex.js +++ b/documentation/html/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "perc22a/data/load_data", "perc22a/index", "perc22a/mergers/merger", "perc22a/predictors/aggregate/AggregatePredictor", "perc22a/predictors/index", "perc22a/predictors/lidar/lidar", "perc22a/predictors/stereo/stereo", "perc22a/predictors/utils/lidar/lidar", "perc22a/predictors/utils/utils", "perc22a/predictors/utils/vis/vis", "perc22a/svm/SVM", "perc22a/utils/utils", "scripts/scripts"], "filenames": ["index.rst", "perc22a/data/load_data.rst", "perc22a/index.rst", "perc22a/mergers/merger.rst", "perc22a/predictors/aggregate/AggregatePredictor.rst", "perc22a/predictors/index.rst", "perc22a/predictors/lidar/lidar.rst", "perc22a/predictors/stereo/stereo.rst", "perc22a/predictors/utils/lidar/lidar.rst", "perc22a/predictors/utils/utils.rst", "perc22a/predictors/utils/vis/vis.rst", "perc22a/svm/SVM.rst", "perc22a/utils/utils.rst", "scripts/scripts.rst"], "titles": ["Carnegie Mellon Racing Perceptions Library for 22a", "Loading Data", "Source Code", "Merging pipelines", "AggregatePredictor", "Predictors", "LiDAR", "Stereo Camera", "LiDAR Utils", "Utils", "Vis", "SVM", "Global Utils", "Scripts"], "terms": {"thi": [0, 3, 9, 11, 12, 13], "collect": [0, 8, 9], "algorithm": [0, 9, 11], "racecar": 0, "premier": 0, "student": 0, "organ": 0, "univers": 0, "design": [0, 12], "build": 0, "autonom": [0, 6], "vehicl": [0, 6], "compet": 0, "annual": 0, "formula": 0, "driverless": 0, "competit": 0, "workspac": 0, "work": [0, 2, 5, 8], "combin": [0, 3, 4, 7], "can": [0, 1, 4, 10, 12, 13], "found": 0, "github": 0, "process": [0, 3], "interpret": 0, "sensor": [0, 4, 6, 7, 9], "understand": [0, 11], "environ": [0, 6, 13], "around": 0, "car": [0, 6, 7, 11, 12], "crucial": 0, "part": [0, 11, 12], "drive": 0, "stack": [0, 5, 13], "provid": [0, 6, 11, 13], "inform": [0, 3, 6, 7, 12, 13], "need": [0, 12], "make": [0, 12, 13], "decis": [0, 11], "The": [0, 3, 6, 7, 9, 11, 12], "consist": [0, 7], "varieti": [0, 13], "hesai": [0, 6], "at128": [0, 6], "solid": [0, 6], "state": [0, 6, 9], "lidar": [0, 2, 3, 4, 5, 9, 11, 12, 13], "dual": 0, "zed2": 0, "stereo": [0, 2, 5, 13], "camera": [0, 2, 3, 5], "mti": 0, "680g": 0, "rtk": 0, "gnss": 0, "INS": 0, "gp": 0, "togeth": [0, 3], "complet": [0, 13], "view": [0, 13], "track": [0, 7, 12], "allow": [0, 7, 12], "an": [0, 6, 11], "accur": [0, 3, 7], "cone": [0, 3, 4, 5, 7, 11, 12, 13], "from": [0, 3, 6, 7, 9, 11, 12, 13], "we": [0, 3, 6, 7, 9, 10, 11, 12, 13], "run": [0, 1, 3, 7], "midlin": [0, 11, 13], "determin": [0, 9], "best": [0, 6, 11], "path": [0, 11], "through": [0, 11], "There": [0, 9, 12], "ar": [0, 2, 3, 6, 7, 9, 11], "also": [0, 11], "other": [0, 7], "us": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "These": [0, 11], "includ": [0, 8, 11], "object": [0, 6, 7, 9, 12], "detect": [0, 3, 6, 7, 9], "lane": [0, 11], "To": [0, 1, 12], "specif": 0, "pleas": 0, "refer": [0, 11], "document": [0, 11], "clone": 0, "repositori": 0, "git": 0, "link": 0, "cd": 0, "perceptionslibrary22a": [0, 13], "virtual": [0, 13], "ensur": 0, "you": [0, 1, 3, 7, 12], "have": [0, 3, 9, 10, 12, 13], "python": [0, 11, 13], "3": [0, 13], "8": [0, 13], "instal": [0, 13], "creat": [0, 6, 12, 13], "python3": [0, 1, 13], "m": 0, "venv": [0, 13], "env": 0, "sourc": [0, 13], "bin": [0, 13], "activ": [0, 13], "depend": 0, "pip": 0, "r": 0, "requir": [0, 13], "txt": 0, "set": [0, 3, 6, 13], "pythonpath": 0, "import": 0, "perc22a": 0, "ani": [0, 3], "script": [0, 1], "add": [0, 1], "absolut": 0, "your": 0, "echo": 0, "export": 0, "pwd": 0, "zshrc": 0, "bashrc": 0, "verifi": 0, "confirm": 0, "wa": [0, 13], "correctli": 0, "ad": [0, 9], "test": [0, 12, 13], "test_setup": [0, 13], "py": [0, 1, 5, 8, 13], "success": 0, "output": [0, 11], "download": 0, "fetch": 0, "googl": 0, "place": [0, 7], "name": [0, 1, 9, 12], "tar": [0, 1], "gz": [0, 1], "file": [0, 1, 9, 12, 13], "raw": [0, 1], "directori": [0, 1, 13], "note": 0, "larg": [0, 13], "expand": 0, "more": [0, 3, 12], "than": 0, "10gb": 0, "when": [0, 3], "extract": [0, 1, 13], "zxvf": [0, 1], "contain": [0, 9, 11], "numer": 0, "instanc": [0, 12], "n": 0, "npz": 0, "which": [0, 9, 11, 12], "repres": [0, 6], "snapshot": 0, "dure": [0, 9, 13], "dataload": 0, "class": [0, 4, 9, 11], "util": [0, 2, 5], "conveni": 0, "method": [0, 13], "access": 0, "demonstr": 0, "its": [0, 12], "load_data": [0, 1, 13], "displai": [0, 13], "cv2": 0, "window": [0, 13], "click": 0, "imag": [0, 7, 13], "press": 0, "kei": [0, 9], "navig": [0, 13], "exit": 0, "either": [0, 12], "hit": 0, "ctrl": 0, "c": 0, "termin": [0, 13], "continu": 0, "until": 0, "all": [0, 9, 11, 12, 13], "cycl": [0, 12], "none": [], "would": [], "possibl": [], "without": [], "our": [2, 3, 4, 5, 11, 13], "amaz": [], "code": [0, 1, 9, 12], "merg": [0, 2, 13], "pipelin": [0, 2, 5, 9, 11, 12], "predictor": [0, 2, 4, 9, 13], "svm": [0, 2, 13], "global": [0, 2, 11], "how": [0, 2, 5], "do": 0, "avail": 0, "follow": [1, 7], "bash": 1, "load": [2, 13], "data": [2, 3, 6, 8, 9, 10, 11, 13], "what": [2, 5], "i": [2, 5, 12], "pipeline": [], "logic": 2, "aggregatepredictor": [2, 5], "doe": [2, 5], "two": [3, 7], "singl": [3, 4], "multipl": [3, 4], "want": 3, "In": 3, "case": 3, "get": [3, 9, 11, 12, 13], "simpl": [3, 9], "take": [3, 6, 7, 11, 12], "ground": [3, 6], "truth": 3, "posit": [3, 4, 12], "color": [3, 8, 9, 11, 12, 13], "about": [3, 12], "onli": 3, "taken": [3, 12], "account": 3, "well": 3, "both": [3, 13], "final": [3, 13], "predict": [4, 5, 9, 12], "percept": [4, 11, 13], "librari": [4, 13], "ha": [4, 6], "number": 4, "It": [4, 7, 8, 11, 13], "2": [4, 11], "calcul": [4, 7], "rel": 4, "point": [5, 8, 9, 11], "cloud": [5, 8], "convers": 5, "conest": 5, "icp": [5, 8], "remot": 6, "sens": 6, "technologi": 6, "measur": 6, "distanc": [6, 7, 11], "illumin": 6, "target": 6, "laser": 6, "analyz": 6, "reflect": 6, "light": 6, "high": 6, "resolut": 6, "map": [6, 9], "primari": [6, 11], "obstacl": 6, "one": 6, "wide": 6, "3d": [6, 10, 13], "space": 6, "each": [6, 7, 9], "represent": 6, "where": [6, 9], "x": [6, 11], "y": [6, 11], "z": 6, "coordin": [6, 9, 11], "transform": [6, 7, 9], "np": 6, "arrai": 6, "Then": [6, 12], "frame": [6, 11], "filter": [6, 8], "out": [6, 13], "addition": [6, 11, 13], "too": 6, "far": 6, "awai": 6, "cluster": [6, 8, 11], "them": 6, "find": [6, 11], "depth": [7, 9], "captur": 7, "scene": 7, "vision": 7, "algorthm": 7, "recognit": [7, 9], "zed": 7, "stereolab": 7, "between": [7, 9, 11, 12], "call": [7, 12], "baselin": 7, "dispar": 7, "differ": 7, "invers": 7, "proport": 7, "step": 7, "yolov5": [7, 13], "With": 7, "tool": [8, 10], "icpcolor": 8, "seed": 8, "visual": [8, 10, 13], "function": [9, 12], "across": [9, 13], "lot": 9, "common": 9, "store": 9, "here": 9, "dictionari": 9, "valu": 9, "themselv": 9, "list": [9, 13], "tupl": 9, "order": 9, "thei": [9, 10, 11, 12], "were": 9, "attribut": 9, "side": 9, "defin": 9, "maintain": [9, 12], "updat": [9, 12], "integr": 9, "prior": 9, "estim": [9, 11], "new": [9, 12], "incom": 9, "refin": 9, "over": 9, "time": [9, 12], "implement": [9, 13], "iter": 9, "closest": 9, "correspond": 9, "previous": 9, "seen": [9, 12], "certain": 9, "calc_box_cent": 9, "calcualt": 9, "center": [9, 11], "bound": 9, "box": 9, "get_object_depth": 9, "get_world_coord": 9, "world": 9, "get_cone_color": 9, "averag": 9, "threshold": [9, 13], "align": 9, "vi": 9, "type": [10, 11, 13], "vis2d": 10, "vis3d": 10, "2d": [10, 13], "help": [10, 13], "u": [10, 12, 13], "better": [10, 11], "wai": 10, "support": 11, "vector": 11, "machin": 11, "power": 11, "supervis": 11, "learn": 11, "classif": 11, "regress": [11, 13], "discrimin": 11, "classifi": 11, "draw": 11, "boundari": 11, "divid": 11, "blue": 11, "yellow": 11, "line": [11, 13], "input": 11, "control": 11, "orang": 11, "purpos": [11, 12], "current": [11, 12, 13], "concern": 11, "fit": 11, "dan": [], "think": [], "good": [], "start": 12, "should": [], "explain": [], "move": [], "mayb": [], "pictur": [], "diagram": [], "idk": [], "just": [], "thought": [], "geren": 12, "piec": 12, "throughout": 12, "project": 12, "directli": 12, "relat": 12, "": 12, "main": 12, "readabl": 12, "testabl": 12, "execut": 12, "return": 12, "print": 12, "consol": 12, "end": 12, "same": 12, "second": [11, 12], "If": 12, "ret": 12, "flag": 12, "onto": 12, "simul": [12, 13], "publish": 12, "fake": 12, "chang": 12, "node": 12, "further": 12, "pipelnin": 12, "paramet": 12, "lastli": 12, "motion": 12, "info": 12, "informaiton": 12, "movement": 12, "futur": 12, "primarili": 12, "model": [12, 13], "accuratli": 12, "small": 13, "program": 13, "command": 13, "develop": 13, "entirti": 13, "befor": 13, "sure": 13, "version": 13, "otherwis": 13, "mai": 13, "properli": 13, "open": 13, "script_nam": 13, "load_ecg_data": 13, "folder": 13, "see": 13, "run_aggregate_predictor": 13, "aggreg": 13, "result": 13, "run_both_predictor": 13, "run_cone_merg": 13, "product": 13, "done": 13, "run_lidar_predictor": 13, "run_stereo_predictor": 13, "run_threshold_predictor": 13, "howev": [11, 13], "yolo": 13, "instead": 13, "run_yolov5_predictor": 13, "run_endtoend": 13, "gener": 13, "gather": 13, "entir": 13, "suit": 13, "run_svm": 13, "road": 13, "sim_con": 13, "placement": 13, "test_logreg_idea": 13, "idea": 13, "logist": 13, "setup": 13, "up": 13, "test_vis2d": 13, "test_vis3d": 13, "visualize_con": 13, "plot": 13, "doc": [], "http": [], "www": [], "hesaitech": [], "com": [], "_": [], "movella": [], "modul": [], "xsen": [], "ins": [], "href": [], "br": [], "extern": [], "nnn": [], "plan": 11, "respons": 11, "written": 11, "given": 11, "everi": 11, "0": 11, "1": 11, "mesh": 11, "pass": 11, "after": 11, "rough": 11, "downsampl": 11, "equidist": 11, "base": 11, "behind": 11, "origin": 11, "locat": 11, "improv": 11}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"carnegi": 0, "mellon": 0, "race": 0, "percept": 0, "librari": 0, "22a": 0, "what": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "i": [0, 3, 4, 6, 7, 8, 9, 10, 11, 13], "get": 0, "start": 0, "setup": 0, "load": [0, 1], "data": [0, 1], "sponsor": [], "content": 0, "how": [1, 7, 11, 13], "sourc": 2, "code": 2, "merg": 3, "pipelin": [3, 7], "pipeline": [], "logic": 3, "aggregatepredictor": 4, "predictor": 5, "lidar": [6, 8], "point": 6, "cloud": 6, "convers": 6, "our": [6, 12], "predict": 6, "stack": 6, "stereo": [7, 9], "camera": 7, "doe": [7, 11], "work": [7, 11], "util": [8, 9, 12], "cone": 9, "py": 9, "conest": 9, "icp": 9, "vi": 10, "svm": 11, "global": 12, "ar": [12, 13], "1": 12, "timer": 12, "2": 12, "conesim": 12, "3": 12, "motioninfo": 12, "script": 13, "do": 13, "run": 13, "To": 13, "avail": 13, "nn": [], "nnwhat": []}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Loading Data": [[1, "loading-data"], [0, "loading-data"]], "How to load data?": [[1, "how-to-load-data"]], "Source Code": [[2, "source-code"]], "AggregatePredictor": [[4, "aggregatepredictor"]], "What is AggregatePredictor?": [[4, "what-is-aggregatepredictor"]], "Predictors": [[5, "predictors"]], "LiDAR": [[6, "lidar"]], "What is LiDAR?": [[6, "what-is-lidar"]], "LiDAR Point Cloud conversion": [[6, "lidar-point-cloud-conversion"]], "Our LiDAR prediction stack:": [[6, "our-lidar-prediction-stack"]], "Stereo Camera": [[7, "stereo-camera"]], "What is Stereo Camera?": [[7, "what-is-stereo-camera"]], "How does it work?": [[7, "how-does-it-work"], [11, "how-does-it-work"]], "Stereo Camera Pipeline": [[7, "stereo-camera-pipeline"]], "LiDAR Utils": [[8, "lidar-utils"]], "What is in Lidar utils?": [[8, "what-is-in-lidar-utils"]], "Utils": [[9, "utils"]], "What is Utils?": [[9, "what-is-utils"]], "Cones.py": [[9, "cones-py"]], "ConeState.py": [[9, "conestate-py"]], "stereo.py": [[9, "stereo-py"]], "icp.py": [[9, "icp-py"]], "Vis": [[10, "vis"]], "What is Vis?": [[10, "what-is-vis"]], "Carnegie Mellon Racing Perceptions Library for 22a": [[0, "carnegie-mellon-racing-perceptions-library-for-22a"]], "What is Perceptions?": [[0, "what-is-perceptions"]], "Getting Started": [[0, "getting-started"]], "Setup": [[0, "setup"]], "Contents:": [[0, null]], "Merging pipelines": [[3, "merging-pipelines"]], "What is merging pipelines?": [[3, "what-is-merging-pipelines"]], "Merging Logic": [[3, "merging-logic"]], "SVM": [[11, "svm"]], "What is SVM?": [[11, "what-is-svm"]], "Global Utils": [[12, "global-utils"]], "What are our Global Utils?": [[12, "what-are-our-global-utils"]], "1. Timer": [[12, "timer"]], "2. ConeSim": [[12, "conesim"]], "3. MotionInfo": [[12, "motioninfo"]], "Scripts": [[13, "scripts"]], "What are scripts?": [[13, "what-are-scripts"]], "How do I run a script?": [[13, "how-do-i-run-a-script"]], "To run a script:": [[13, "to-run-a-script"]], "What scripts are available?": [[13, "what-scripts-are-available"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "perc22a/data/load_data", "perc22a/index", "perc22a/mergers/merger", "perc22a/predictors/aggregate/AggregatePredictor", "perc22a/predictors/index", "perc22a/predictors/lidar/lidar", "perc22a/predictors/stereo/stereo", "perc22a/predictors/utils/lidar/lidar", "perc22a/predictors/utils/utils", "perc22a/predictors/utils/vis/vis", "perc22a/svm/SVM", "perc22a/utils/utils", "scripts/scripts"], "filenames": ["index.rst", "perc22a/data/load_data.rst", "perc22a/index.rst", "perc22a/mergers/merger.rst", "perc22a/predictors/aggregate/AggregatePredictor.rst", "perc22a/predictors/index.rst", "perc22a/predictors/lidar/lidar.rst", "perc22a/predictors/stereo/stereo.rst", "perc22a/predictors/utils/lidar/lidar.rst", "perc22a/predictors/utils/utils.rst", "perc22a/predictors/utils/vis/vis.rst", "perc22a/svm/SVM.rst", "perc22a/utils/utils.rst", "scripts/scripts.rst"], "titles": ["Carnegie Mellon Racing Perceptions Library for 22a", "Loading Data", "Source Code", "Merging pipelines", "AggregatePredictor", "Predictors", "LiDAR", "Stereo Camera", "LiDAR Utils", "Utils", "Vis", "SVM", "Global Utils", "Scripts"], "terms": {"thi": [0, 3, 9, 11, 12, 13], "collect": [0, 8, 9], "algorithm": [0, 9, 11], "racecar": 0, "premier": 0, "student": 0, "organ": 0, "univers": 0, "design": [0, 12], "build": 0, "autonom": [0, 6], "vehicl": [0, 6], "compet": 0, "annual": 0, "formula": 0, "driverless": 0, "competit": 0, "workspac": 0, "work": [0, 2, 5, 8], "combin": [0, 3, 4, 7], "can": [0, 1, 4, 10, 12, 13], "found": 0, "github": 0, "process": [0, 3], "interpret": 0, "sensor": [0, 4, 6, 7, 9], "understand": [0, 11], "environ": [0, 6, 13], "around": 0, "car": [0, 6, 7, 11, 12], "crucial": 0, "part": [0, 11, 12], "drive": 0, "stack": [0, 5, 13], "provid": [0, 6, 11, 13], "inform": [0, 3, 6, 7, 12, 13], "need": [0, 12], "make": [0, 12, 13], "decis": [0, 11], "The": [0, 3, 6, 7, 9, 11, 12], "consist": [0, 7], "varieti": [0, 13], "hesai": [0, 6], "at128": [0, 6], "solid": [0, 6], "state": [0, 6, 9], "lidar": [0, 2, 3, 4, 5, 9, 11, 12, 13], "dual": 0, "zed2": 0, "stereo": [0, 2, 5, 13], "camera": [0, 2, 3, 5], "mti": 0, "680g": 0, "rtk": 0, "gnss": 0, "INS": 0, "gp": 0, "togeth": [0, 3], "complet": [0, 13], "view": [0, 13], "track": [0, 7, 12], "allow": [0, 7, 12], "an": [0, 6, 11], "accur": [0, 3, 7], "cone": [0, 3, 4, 5, 7, 11, 12, 13], "from": [0, 3, 6, 7, 9, 11, 12, 13], "we": [0, 3, 6, 7, 9, 10, 11, 12, 13], "run": [0, 1, 3, 7], "midlin": [0, 11, 13], "determin": [0, 9], "best": [0, 6, 11], "path": [0, 11], "through": [0, 11], "There": [0, 9, 12], "ar": [0, 2, 3, 6, 7, 9, 11], "also": [0, 11], "other": [0, 7], "us": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "These": [0, 11], "includ": [0, 8, 11], "object": [0, 6, 7, 9, 12], "detect": [0, 3, 6, 7, 9], "lane": [0, 11], "To": [0, 1, 12], "specif": 0, "pleas": 0, "refer": [0, 11], "document": [0, 11], "clone": 0, "repositori": 0, "git": 0, "link": 0, "cd": 0, "perceptionslibrary22a": [0, 13], "virtual": [0, 13], "ensur": 0, "you": [0, 1, 3, 7, 12], "have": [0, 3, 9, 10, 12, 13], "python": [0, 11, 13], "3": [0, 13], "8": [0, 13], "instal": [0, 13], "creat": [0, 6, 12, 13], "python3": [0, 1, 13], "m": 0, "venv": [0, 13], "env": 0, "sourc": [0, 13], "bin": [0, 13], "activ": [0, 13], "depend": 0, "pip": 0, "r": 0, "requir": [0, 13], "txt": 0, "set": [0, 3, 6, 13], "pythonpath": 0, "import": 0, "perc22a": 0, "ani": [0, 3], "script": [0, 1], "add": [0, 1], "absolut": 0, "your": 0, "echo": 0, "export": 0, "pwd": 0, "zshrc": 0, "bashrc": 0, "verifi": 0, "confirm": 0, "wa": [0, 13], "correctli": 0, "ad": [0, 9], "test": [0, 12, 13], "test_setup": [0, 13], "py": [0, 1, 5, 8, 13], "success": 0, "output": [0, 11], "download": 0, "fetch": 0, "googl": 0, "place": [0, 7], "name": [0, 1, 9, 12], "tar": [0, 1], "gz": [0, 1], "file": [0, 1, 9, 12, 13], "raw": [0, 1], "directori": [0, 1, 13], "note": 0, "larg": [0, 13], "expand": 0, "more": [0, 3, 12], "than": 0, "10gb": 0, "when": [0, 3], "extract": [0, 1, 13], "zxvf": [0, 1], "contain": [0, 9, 11], "numer": 0, "instanc": [0, 12], "n": 0, "npz": 0, "which": [0, 9, 11, 12], "repres": [0, 6], "snapshot": 0, "dure": [0, 9, 13], "dataload": 0, "class": [0, 4, 9, 11], "util": [0, 2, 5], "conveni": 0, "method": [0, 13], "access": 0, "demonstr": 0, "its": [0, 12], "load_data": [0, 1, 13], "displai": [0, 13], "cv2": 0, "window": [0, 13], "click": 0, "imag": [0, 7, 13], "press": 0, "kei": [0, 9], "navig": [0, 13], "exit": 0, "either": [0, 12], "hit": 0, "ctrl": 0, "c": 0, "termin": [0, 13], "continu": 0, "until": 0, "all": [0, 9, 11, 12, 13], "cycl": [0, 12], "none": [], "would": [], "possibl": [], "without": [], "our": [2, 3, 4, 5, 11, 13], "amaz": [], "code": [0, 1, 9, 12], "merg": [0, 2, 13], "pipelin": [0, 2, 5, 9, 11, 12], "predictor": [0, 2, 4, 9, 13], "svm": [0, 2, 13], "global": [0, 2, 11], "how": [0, 2, 5], "do": 0, "avail": 0, "follow": [1, 7], "bash": 1, "load": [2, 13], "data": [2, 3, 6, 8, 9, 10, 11, 13], "what": [2, 5], "i": [2, 5, 12], "pipeline": [], "logic": 2, "aggregatepredictor": [2, 5], "doe": [2, 5], "two": [3, 7], "singl": [3, 4], "multipl": [3, 4], "want": 3, "In": 3, "case": 3, "get": [3, 9, 11, 12, 13], "simpl": [3, 9], "take": [3, 6, 7, 11, 12], "ground": [3, 6], "truth": 3, "posit": [3, 4, 12], "color": [3, 8, 9, 11, 12, 13], "about": [3, 12], "onli": 3, "taken": [3, 12], "account": 3, "well": 3, "both": [3, 13], "final": [3, 13], "predict": [4, 5, 9, 12], "percept": [4, 11, 13], "librari": [4, 13], "ha": [4, 6], "number": 4, "It": [4, 7, 8, 11, 13], "2": [4, 11], "calcul": [4, 7], "rel": 4, "point": [5, 8, 9, 11], "cloud": [5, 8], "convers": 5, "conest": 5, "icp": [5, 8], "remot": 6, "sens": 6, "technologi": 6, "measur": 6, "distanc": [6, 7, 11], "illumin": 6, "target": 6, "laser": 6, "analyz": 6, "reflect": 6, "light": 6, "high": 6, "resolut": 6, "map": [6, 9], "primari": [6, 11], "obstacl": 6, "one": 6, "wide": 6, "3d": [6, 10, 13], "space": 6, "each": [6, 7, 9], "represent": 6, "where": [6, 9], "x": [6, 11], "y": [6, 11], "z": 6, "coordin": [6, 9, 11], "transform": [6, 7, 9], "np": 6, "arrai": 6, "Then": [6, 12], "frame": [6, 11], "filter": [6, 8], "out": [6, 13], "addition": [6, 11, 13], "too": 6, "far": 6, "awai": 6, "cluster": [6, 8, 11], "them": 6, "find": [6, 11], "depth": [7, 9], "captur": 7, "scene": 7, "vision": 7, "algorthm": 7, "recognit": [7, 9], "zed": 7, "stereolab": 7, "between": [7, 9, 11, 12], "call": [7, 12], "baselin": 7, "dispar": 7, "differ": 7, "invers": 7, "proport": 7, "step": 7, "yolov5": [7, 13], "With": 7, "tool": [8, 10], "icpcolor": 8, "seed": 8, "visual": [8, 10, 13], "function": [9, 12], "across": [9, 13], "lot": 9, "common": 9, "store": 9, "here": 9, "dictionari": 9, "valu": 9, "themselv": 9, "list": [9, 13], "tupl": 9, "order": 9, "thei": [9, 10, 11, 12], "were": 9, "attribut": 9, "side": 9, "defin": 9, "maintain": [9, 12], "updat": [9, 12], "integr": 9, "prior": 9, "estim": [9, 11], "new": [9, 12], "incom": 9, "refin": 9, "over": 9, "time": [9, 12], "implement": [9, 13], "iter": 9, "closest": 9, "correspond": 9, "previous": 9, "seen": [9, 12], "certain": 9, "calc_box_cent": 9, "calcualt": 9, "center": [9, 11], "bound": 9, "box": 9, "get_object_depth": 9, "get_world_coord": 9, "world": 9, "get_cone_color": 9, "averag": 9, "threshold": [9, 13], "align": 9, "vi": 9, "type": [10, 11, 13], "vis2d": 10, "vis3d": 10, "2d": [10, 13], "help": [10, 13], "u": [10, 12, 13], "better": [10, 11], "wai": 10, "support": 11, "vector": 11, "machin": 11, "power": 11, "supervis": 11, "learn": 11, "classif": 11, "regress": [11, 13], "discrimin": 11, "classifi": 11, "draw": 11, "boundari": 11, "divid": 11, "blue": 11, "yellow": 11, "line": [11, 13], "input": 11, "control": 11, "orang": 11, "purpos": [11, 12], "current": [11, 12, 13], "concern": 11, "fit": 11, "dan": [], "think": [], "good": [], "start": 12, "should": [], "explain": [], "move": [], "mayb": [], "pictur": [], "diagram": [], "idk": [], "just": [], "thought": [], "geren": 12, "piec": 12, "throughout": 12, "project": 12, "directli": 12, "relat": 12, "": 12, "main": 12, "readabl": 12, "testabl": 12, "execut": 12, "return": 12, "print": 12, "consol": 12, "end": 12, "same": 12, "second": [11, 12], "If": 12, "ret": 12, "flag": 12, "onto": 12, "simul": [12, 13], "publish": 12, "fake": 12, "chang": 12, "node": 12, "further": 12, "pipelnin": 12, "paramet": 12, "lastli": 12, "motion": 12, "info": 12, "informaiton": 12, "movement": 12, "futur": 12, "primarili": 12, "model": [12, 13], "accuratli": 12, "small": 13, "program": 13, "command": 13, "develop": 13, "entirti": 13, "befor": 13, "sure": 13, "version": 13, "otherwis": 13, "mai": 13, "properli": 13, "open": 13, "script_nam": 13, "load_ecg_data": 13, "folder": 13, "see": 13, "run_aggregate_predictor": 13, "aggreg": 13, "result": 13, "run_both_predictor": 13, "run_cone_merg": 13, "product": 13, "done": 13, "run_lidar_predictor": 13, "run_stereo_predictor": 13, "run_threshold_predictor": 13, "howev": [11, 13], "yolo": 13, "instead": 13, "run_yolov5_predictor": 13, "run_endtoend": 13, "gener": 13, "gather": 13, "entir": 13, "suit": 13, "run_svm": 13, "road": 13, "sim_con": 13, "placement": 13, "test_logreg_idea": 13, "idea": 13, "logist": 13, "setup": 13, "up": 13, "test_vis2d": 13, "test_vis3d": 13, "visualize_con": 13, "plot": 13, "doc": [], "http": [], "www": [], "hesaitech": [], "com": [], "_": [], "movella": [], "modul": [], "xsen": [], "ins": [], "href": [], "br": [], "extern": [], "nnn": [], "plan": 11, "respons": 11, "written": 11, "given": 11, "everi": 11, "0": 11, "1": 11, "mesh": 11, "pass": 11, "after": 11, "rough": 11, "downsampl": 11, "equidist": 11, "base": 11, "behind": 11, "origin": 11, "locat": 11, "improv": 11}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"carnegi": 0, "mellon": 0, "race": 0, "percept": 0, "librari": 0, "22a": 0, "what": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "i": [0, 3, 4, 6, 7, 8, 9, 10, 11, 13], "get": 0, "start": 0, "setup": 0, "load": [0, 1], "data": [0, 1], "sponsor": [], "content": 0, "how": [1, 7, 11, 13], "sourc": 2, "code": 2, "merg": 3, "pipelin": [3, 7], "pipeline": [], "logic": 3, "aggregatepredictor": 4, "predictor": 5, "lidar": [6, 8], "point": 6, "cloud": 6, "convers": 6, "our": [6, 12], "predict": 6, "stack": 6, "stereo": [7, 9], "camera": 7, "doe": [7, 11], "work": [7, 11], "util": [8, 9, 12], "cone": 9, "py": 9, "conest": 9, "icp": 9, "vi": 10, "svm": 11, "global": 12, "ar": [12, 13], "1": 12, "timer": 12, "2": 12, "conesim": 12, "3": 12, "motioninfo": 12, "script": 13, "do": 13, "run": 13, "To": 13, "avail": 13, "nn": [], "nnwhat": []}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Loading Data": [[1, "loading-data"], [0, "loading-data"]], "How to load data?": [[1, "how-to-load-data"]], "Source Code": [[2, "source-code"]], "AggregatePredictor": [[4, "aggregatepredictor"]], "What is AggregatePredictor?": [[4, "what-is-aggregatepredictor"]], "Predictors": [[5, "predictors"]], "LiDAR": [[6, "lidar"]], "What is LiDAR?": [[6, "what-is-lidar"]], "LiDAR Point Cloud conversion": [[6, "lidar-point-cloud-conversion"]], "Our LiDAR prediction stack:": [[6, "our-lidar-prediction-stack"]], "Stereo Camera": [[7, "stereo-camera"]], "What is Stereo Camera?": [[7, "what-is-stereo-camera"]], "How does it work?": [[7, "how-does-it-work"], [11, "how-does-it-work"]], "Stereo Camera Pipeline": [[7, "stereo-camera-pipeline"]], "LiDAR Utils": [[8, "lidar-utils"]], "What is in Lidar utils?": [[8, "what-is-in-lidar-utils"]], "Utils": [[9, "utils"]], "What is Utils?": [[9, "what-is-utils"]], "Cones.py": [[9, "cones-py"]], "ConeState.py": [[9, "conestate-py"]], "stereo.py": [[9, "stereo-py"]], "icp.py": [[9, "icp-py"]], "Vis": [[10, "vis"]], "What is Vis?": [[10, "what-is-vis"]], "Merging pipelines": [[3, "merging-pipelines"]], "What is merging pipelines?": [[3, "what-is-merging-pipelines"]], "Merging Logic": [[3, "merging-logic"]], "SVM": [[11, "svm"]], "What is SVM?": [[11, "what-is-svm"]], "Global Utils": [[12, "global-utils"]], "What are our Global Utils?": [[12, "what-are-our-global-utils"]], "1. Timer": [[12, "timer"]], "2. ConeSim": [[12, "conesim"]], "3. MotionInfo": [[12, "motioninfo"]], "Scripts": [[13, "scripts"]], "What are scripts?": [[13, "what-are-scripts"]], "How do I run a script?": [[13, "how-do-i-run-a-script"]], "To run a script:": [[13, "to-run-a-script"]], "What scripts are available?": [[13, "what-scripts-are-available"]], "Carnegie Mellon Racing Perceptions Library for 22a": [[0, "carnegie-mellon-racing-perceptions-library-for-22a"]], "What is Perceptions?": [[0, "what-is-perceptions"]], "Getting Started": [[0, "getting-started"]], "Setup": [[0, "setup"]], "Contents:": [[0, null]]}, "indexentries": {}}) \ No newline at end of file diff --git a/documentation/html/source/index.rst b/documentation/html/source/index.rst index ef4170b..e29821d 100644 --- a/documentation/html/source/index.rst +++ b/documentation/html/source/index.rst @@ -40,6 +40,12 @@ object detection, lane detection, and cone detection. These algorithms are used understanding of the environment around it. To understand the specifics of these algorithms, please refer to the documentation. +This documentation is a guide to the perception algorithms which follows the same structure as the Perceptions Library Github repository. +The documentation is divided into two main sections: the perception algorithms and the scripts that are used to run the algorithms. +The perception algorithms section provides a detailed explanation of the algorithms used in the perception stack. The scripts section +provides a detailed explanation of the scripts that are used to run the perception algorithms. For further details about the perception +algorithms, please refer to the github, which has detailed inline comments for each function. + Getting Started ===============