From b8cd715d2a391e6975143e0fbf1fb5835bb768b2 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Wed, 27 Sep 2023 17:53:11 +0100 Subject: [PATCH] Stash --- bun.lockb | Bin 94222 -> 117006 bytes package.json | 6 ++- src/ComboBox.tsx | 110 +++++++++++++++++++++++++++++++++++++++++++++++ src/main.tsx | 9 +++- 4 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 src/ComboBox.tsx diff --git a/bun.lockb b/bun.lockb index 2269956704e86a63d87454bc56cc105bd7b7762c..6c10088fa209e22c53fd5daea80aaff76f95525b 100755 GIT binary patch delta 36671 zcmeIbcU)B0);>OG1Y}U8h|-ZFg6JSk5D^dymazazQ&AB|8Ki>++n^@)zSU!mQDXrM zcI+i;)EH~*C5a^#)L0U0EWc-+0+?vN?|VP*_5Sg@N1s`H?Yh?5Ywxq?%rI-}FNRZR zR-NwcWm(*AY__|i#~cr(eO0oW1@G9`9z*hrJ z$;-7orDU++gDX6EI~~` zDSw32VGm=4!Ww)V&|09upfr#vXhYCHrFL~8HMO$>rT(gdlHghBM^6nPXSyy=p=bcH zh`)`7)L}HtKpM9NCCvgr$wIE6B#;>>X_TwY%Ss=lRXC$@9q_e5shu$>^_QBA&T(}$ z69?Xj(a8b@$r<`|DlmpvG{8GlpoX`>lf*|s9YM9Zxmmet?T{4-jeM$q0#cI3j*y=E*C8KW6t1v>{aulGih-d_;c%!;Gz*j(m|)^b zu{0UCh@MjzEGs)=3rOL8*h560ZiO4(vdwo*^iy z_yqQ$0j_{j`C$h(pL5cWs3&G;>vEIxwRwt+q0kstXAg0T@>8{$x_$+URubPoJ*y9u z_wW=Al$DvHC4O*ja&~rsLeT~JWa*gt3I!&oa4RU;X%#5Bf-W;vo2$#u(`EKc*Y!`; z=eI=z@`Zc|LJgBZN#Ugp6bj5r;W$v5LX(DKelB>@=dQcRcUOxYV_9qSQWT2I$fto0 zgOdJm=5!Kp40!5)Hz*0@)`%ujuP7{$8XQ9g6=ajTxJtp3!M;H`2{=cpH(BbSv#;1; zpWNgW7*6pWcxqqWPZXdhC=HmV%hyqVx;(XDyqf-Ey&=>u?K4?OP{j;wZhtKr2?gM< zqayiWzvR699CVPY9hgV5Ee#MgOKB`RdkH9+`m|KPZ~7n_Pob3rO-aofpzE8Q3+M0K zSC^apYoI7#RuJ|Xa_;2Jf{f&REZW@uLc>@z6qX@4GQBo0U6+}!P;_f5N**QAs}hZr z=%f&_UAlHqCUrClJXxftL{mX&O8aWH+1RKRK}}(Ql3aG02Iz>EuMsF@C``*!3)2U| zvXgW3v@e52$sdB!l<4|rX60%Xid*2xf@I(1^gPA&aFOq)%j~Njn62p7T&&++qS@;7 ztQ5F=w%R6Lm!Zp7bdL}#oJB{Z`GW{%V(66gT?;WAdslwGwy)w4ib-B=-oShv#?j{G z4AkZpC|*hqkWc!}ZH;_3#n4{A06C<|;8a~o zDr)HRv_sH=q9jrrX>=QLyU9+@PgM`l7JO=F{nU<{oF@9hz+9a=El;7y9++8>lGRtc ztDWH7`og71*g=315CmINVINR?(5V`6M@;}vbJ!M?ER)?qRIL$sTksa3)NTrdCVmts zskpF{sK5+RQt(Sq%1@W*ubpWd!t%qSO-@hltG$Q}+E@>Q(z4T`Bkab7gQ7(nE{_of zog~qLptO%AfMSa)3PfT)D7Alq_Ozee1f_nDfl~f{P!rlnwje>0MM)Z%#5c*wCu=^wSeX`KQH;_t0l?V)JvL&S>R>Rz&x77rS2pO5Mv-ExX3h9-?}wpq40~ zfO;f0+6s1EwE5XOkAX$U-}vrIOWKf7=c|y~H_tkD)0chmb?@_`u2n~>*NrxH3Hi3p zv|35Y+jq=&ieJ$jN$+N#}? z|A@4DRPbGL^p%A-F6&2zU#dFgPW-qjtBN{1o?bZf%+4QO4mBM7Dr8CLE!?Q#p@FN0 zG`aSh-R4>**=>4`e6x6Z#Pr?Y_UD=!K{nRhzecbw4^P4XzIa>SM zBu$KIzm=9l_N^~$;ncPDk1q;e|LK+&8`*Zk0@E7@nqBR$2s>TodCBV5gB^DJ+??N@ zzO}y1+)ewxXf<`o#@M$bPR8E9JAZzcMh7}9+&F2nZ*@Zp=40ZMx>rB<&Gm?Gy#iiW z-yJ`DL(g?rcRp~*YiO6+xYvqC4Ij=PdZmu}4=L(`kcmsL`nkN?f9>Aw@mIZP&wZXb zXS9{c3b*!K-v9Dbk6&U>-W=uAp>~gptq-K69QXJ=mt9TWVVZE|dwFp7wW*Ey-W-oB z5A^M=ZbuER(lK^kDKoF(tiQZgPyOOwJ z?uS-%@vu)b7-kdlS~sq1zv*`_{$xA-;H;RND+bK!Qxc~xDRzl&Ha@)5+{E51Zrl91 zsg;w*sx$h_w|;Q@V)u}1Lp^NM?I)i;GwDcXw|Sk9dkpn7(3!VUy&ke{`e^Gfe;dCk z%eX$rR;k8s>TPmS$(oy<+T>HinPUlNsj(cKOuVp!aWz?d)qwI&9nQ`mx=*6nHNz%w zij=dzC0WrXq?oZ5yDBc6oQ2B;m7Bw94Z&4qzJU#xvxTvt1B!dIwRJ*Fha=S$= zoe2($un--Puy#TnA)k!0TA_Ubrw!tgNP>u1znYvMk zVLDQwOdS|vT0|+-z;>soCWz9znabE$p}phv=FNJ+6SqYfuo75O1+p`z-4@?3{sjv3vuFFm5eF1F^@;K-Y5vklIos}>;FkJ=-b%qDu%LFBeV zE=CFrQW@iZPrX7>n6){$C~zF}bq`Wa2S;PT2jIU~z=^7DPzM=$;GWcssl7r>Q;@c}Ye_Xsrz1s9 zFDd9Ls`5grjWul%r0R*=CC#8xSSH2b63SahYhJ0eVP588hLO0{`7^b7h_V0~7Gb8F zkwFe_08_cKC$y+MRn>7{Zu3FrFSaUUWX2&ACNdAQI1P?WL?))o5@UPNy0b9D>4ZF< zW}Bq8kV{l)C=sXbiG7fAlO0R52vfecW5pm5_N)wKkUjIV3{xJoXK9vUDkBHcH{i1H zyC?@%hO%i6%&TUYq238I&(t-s0+DJXq^i|{GD4~=Qex@6^1K^JiS_C`Q|UwNW}Gwg zvI)m)noYQYi`=*)Qk{iv79!PANZmt9Z0zGI*DF9u9AuA_*UZ38ZqOAevB3hQG(so0 zkrL%=R9CJy94R4BdAcquvk6mKyO%qkMUb*yJ(gx0rkqia6@%QU$I3u#JeZeVn6jG( zO9T1FgB62Z_F!coHlC~)8*;iQE3*$X-0Z1P_^`EbwOdF9unfx(rA>WS>=33*uFuLG z!c_a}OPdA5q!_*d*Gj0>+=~@EhN*^l$&2raZIEg`IGRCWLJWTc*OaN@y`BveiuTCI zqJ+#l8?Z8`Fr`aF=7r58zoA%Gg<)qx3x{)GW;<%uuJ6hEtUyMZ2819Pd*; zIBfjbO&WQNdy)Zh$`RhI*cEpiZ&v0Srn-YN+CGFbl}{sasbVFdT`oA<9L#7JQk?@w zH3ivK7CtZxIMl=z6M-Zxe{qkU0gkj3WjP6sWDz)JO<(5a9;Qmbeny+AxI@hZCkmfq z8KgP|jt0W!2O;dR5m9qPf$I;B+Mx^{y~d9f*9%i!LuMc{p@Vaf%F$nJt|WV@62Xxy zMhsmW^5B}XwRR!OC;qI=BTVIvVW}8*+B!kXlmM3I8K&G4z=}P?RCiHE-D2N#3{pBZ zW?uEfR9TJ1ok&>4$~}!)F)|HMEgUs5q46_u_btXLhUT7Vm2TVYW0&70sbRcQRgBS=*f{fJ#{ zz%ZSgv0`tW4w|ttkaNwLSEDe)YPi=%(%Mi(BSo_!oKTdLLRlG#k0CQx*qb%5Fc}i_ z13wxCj+7I9Y&$r~JDh_I-+~LHQ-&%8_9T~p(pXkm;4p94c8kJUnQxe~ES!1yVfvbj zJwq*+Ee9Mrz&IO%n;1)saQ0C>1V@9472RP#5(q8{f%<`?X0V!16Js!B6LIA{2S-*A zEBdvl?56#|k-e(24fTUmb0iL9W6Dm0qb|`7E6%JXOKTjaYTXj{5;AF4CxIgwUGG5vCf{SzNXd-#1A0C%9NN;8>0e z_9)0+VZRyR;2SgxE_`t&5x*hE$Z0 zcMPeXLaKgOoIHe-zC3jfsjgxv1c?z+!;tDAqz)q`l&b9G6bkG{P|X)!9s`a}&*0$K zQ{q@!WSF6EJPni)8KPVl&&ndhl$i<4t4)}4T>?vM6Q;VKAUdV65DncE;r4S_JFI&=3X>6DG7JQeD~F_RS2Ch@>$MuOSsDr2KKt6H{l9 ziW2VHu05oBs&PosOyl$lCp`>~TufXkRgy%tu#~Yf!@$vOR;39r`~qAQ^{+aM6gjCS z%kgZ)9-A5HYbq4<*o&U`&@&+g2h;(K0C%7Y;0e%GnNmF*6oiYY62J*SxQJ3Y7O8Mm zrj(C6yU;JT9=%WjiE>IE!HU8~lp6R0Dgf#Vd?+Ygl_}MO%PI^3_?~cmj8Zw4s&KWH z#uqZk0`NEC`X@>jfe#59V2*{WG9^JUp@N{8MBySz1NRoVN)&UbFaY{W1(hjvq?PiC zl4be>BtRNK#d{%WE0e?vtF`xhFD zBmM6O{7XA&d_e%xU_Ve5I3m{jfRY7{0c4RMBzhc_E~2z1e-wW3cY>8eaA%M>r}png(0QA+wtJW-mzV2LM6{e^&1 zRx?i8i;xhmk5MWLmC7qq$_kV6|0k5HhD-H{k{}VBrQ|n6$^Vv11w_f2R!cllO0JQ3qSVnki6=_@deG{iyQF-gWa2|o`C%#l zV^mL){(uTn9pPM56M1yU`V40yy)dvEgV7vTJ`;fzc+!y0M061)LH&XMo3jz@PZp>+ z9D$K|vOpJs`)5jm|I241Y5!65mIfk9UfoyXD^t>3E9Da<%k&3GfdA3i2=y`mx`AgMQR*4%K*{{>X{zj({Z?}sNjVv(w*fX}xrN zMvV1}E4|xK+S$YN{DH))o-8BDMt}3nny z<-FtBeG`_tE;V$V(#Cppr0L*o?pKcfcxSGYLGY~sDSMioSr!-at+DMWZpVqJTMJgt z@H=GD2)ntGcp0W_;?XD2oTizgFw`{9z|2e)Q`h z)lRJPSeL)=T$h$zzBoVo)!vr+aq*+vo{h?@x$s5uh)2&?`MwgLzKGJ1?c~eg%D5fh z=LFWdIk9wt*ZTX%2Os5@_uPJBa`!5QvFlrox@r)csB(Sd`@5~Kz4F%TsX>qXwOolo{Y`s((M3k9!V9m+m=sx)Kxt1Gjj?#5nFj6B-zw~4POer>hb zQEA+#c5|lgZNrk*YdX?dP`(VlP?wY~wrxA@{HcNd;|30|Ha9HDVB!zU9(ouQb!z5* zX3FjdDQ{oRJk`EUR-Le>#>bDX_Okx2WV`((&w10nYX8mDGwfP#8~w&zjUSu|=-7JP zwtm}-S{+(g8&(P0(D2buYg@KXKZ3?%k4hdv91Fs}Ilr+l9)5g|rUN6Ko@3hI=?@Wiy3qntF$2H_$K@FUpHyZWqx7Ta# z%7ad;PZij|cxqU;#gEMf_c;E**n8rP0}UJhQne_%{mg!Ae@RY{KIjx?ZJi2b~hPPuMuPItIu12SYL*0JpQP`_{`k>ci-cDS; zW%w#|B=<}2Y2?eGc>d4b+P%3rx!IM(gjZsH!G&uj}4#2)S0u+Xj|JC**^`a|DN7$$sJqCy@DD{Uz>a*${pX<#hq=suFH(e-}&7d88PK-@9>e&A_u#iZEeH9k7&d9ujBGZPTM=T z4@SI7_6{nzoZmD)aqZ$o(=8W#RlP@mN8+wZ{n8UT`7(INE!}IgtL{_%oWQK}X989n zKVY`}b!YYQYbo!>epl=Hmu7wJLNA-Xa*rQX^TEaMmwT@Co>{Pa<>lv|W1S;=Uud5z5K*=!xnMM1D%cfLL(qe*KMmmQq%@KXc(?`p2L z?&DxGhd=bEzU;@m?CDbpqHBK5gpNr{)IoKbIVtz5kH z!mHRSbKfoRu%}M$YHQ`Ypg{%Q`!$&J%c1Gr^$of|j!kq4Y5DG5l8M9od8d1iK0Cis zzqS?q>Jn;K;T6ZP3k2zR$;0>e#NLV}-$Sr}=MR8HSHiWV@Mf-n7KkM7Nf$ z5A3~s(B*C}URftcHhby+(qA8L`}K;kHg)S~1r-H+Svzx`Pg%`Grg-Z0#h%I=ynW@4 zJ+B-2{kCZCoQ&lwyWiY1e#7)0vsNGRZd!jz+ojif?erUXqks7pfD8hwbHa>$zJO9PkPP5kxU)>a$mJKNuB zRJ3!5qVw}1lgC`DdaS-rM|wgo`vg6kkS~Mqk^aw*)iky#9d_FI+=ANQoW43@%77ow zcRI7Rd#i`5vIa%@<+S~I?*2O?ifD%cW%j=xmUxd?d=)8 zt6|^wkrPG~wK?GyqK_Y9)`V-CMxQRp61!IJSiR$R-J4eJPS-j(x@6$DdCeQGY+=2t zR%BGie82lQLT(>59X;a264NSu&1@FN?Hs*WU3}(+=Zj}E(*oK|zpLbD(o&QAb*tQO zz{>OYN*CS@?*DyWtFedUH$OB=_~S|F^M~BXpZ_Qc7<0ShgOEQT&xoyW+G6&C8AU5+ zJ6#)h=8Gp?dS!&1IrZRn^AUl}QD?){vosyuD|gGeMC@2p{bcuzJ0J z-6y-;O|I8sV!hfIncSr z+dc8MUp&t4;;W81@~GG2?>A*Sx@y)>y;4-7Z0Gdd)98)+mX{@Tbc_g^G;STFk*BT^ ztG_y)waqZ?Fu-}@o~(OcxNK+|Y0=iL*=6U)xj%$!n0Y9@)`OdjIAK5@v1 z*--|6bR1=3GVxdal8dd^q@PM!Xg}fcuE|jbN{#^N8>e{=J|xZ~F9qV7Kyw?Fmf23wSAqdytiRC6qUS<@;#_V3wVy7hk0 z=nm(udX72TckZq)><-=VXyHAeiE&oc=5=L8N!^!vcQW(UP5r_C7Q5|G?}rtEb5B4V z*^Z56(LfD)YBImnwYzOr+F|z9+hs|AtZwXdKSsIjo3fziLyRw4yVlT;TXwDHNZSi1 z9JIR*?A~-|yI&|3&^p0( z(w#T8i*mWk-fN3`)Jl#@NZJ#q7}wtBmTK>KE6cKHJLm1|n3LPe>IOe^dnM`U3@Bd) zEgGlnKX;^bN;9AFg{$0OE@`o5RL3t?aho=!+?$zc7cutcg4?YU+SIna?s2Gb)0f*0 zB+gswbZp$KIm-Lf9qoFxs=kc9g>>te_PTJ#skz7!;Z z`fY#9kuBT3Ze08{tu|YmZKID3wRJ19ZGHColgSefi+F6c<>!)Gr_{Bo zDjz#<>~pPGa(c`vHCOJRACU3- zX-ep&hR!v+&i%Uf6W^}YpSJ(i-Rhcgt3OU#oYJWYOS6EXlZ?^q$Z2d-dG3PQSJk2`TAlc_nw>8ga zNAG(SI-i;5+H^=6Gw;s^+O)I771MUr=fB^!Cv#2lu%ZW>pVlrtyVw4zgVVn0p6*5L zWP>N6bzYg>_$Gh)*szj!PeQ(NuuZrS5l^36$}=0zbc^EIkz7-De36EWV76byvmtq= zY{XZZjx9-K=`wi#+H*~0N~6{Gq2JC*^=NAsV>M*Nj``JZ%=d|Sv|&e*jYo}M$L>^F zxzahZ^`jr=y=xJhadKbtR%b8X@Ll|1eZr7^%rW0ae`ZcCqwMedK3u%W?b~%#!tbRx zJiN8_RNP(mu)*(#@4cE7*LCZFm4)Bvoz#=nV;nEI~v>66Z{Q-&#id-t8@h11eX(zU59 z-P{w(rcG>@)v zk4L-h{q?}hw6ef^b8pRRVa7%b#Qio&!?j}tc;DS*5N=y|->s=UNQ}YBiQ|jjZ5VsC zmFw)m`!0uZ_1d;-ad4!k(V>@1y?58R`O8t~MLrX(JI0K#YuoBdRHx`VC*O~6w0Bwf zp~5E{x^H6F2HEIC8_lr{8gamn9l3b3W&M)uJ6pattMjvwLs{>4yZ4N4P_MbypWD`t z&MxsN8(yoLi{I$k>rVdR?f&bd=%ky6ce8l~l`PP)vT#G%dRSXbKRfQHXS*(LTCSON z@@22Dr>5umJTrN_`FWF{T-UFE)9hg9FkAEPb>8_4k?=%HVhr>fgF&@}dLY<=IP z8JjZLM*pzc9^+6`yG`xw9b{KyI!=XH00K*fSIEkHdx<2vfC=7Wf$_E zE)Vt}e#fNwwlG!wlu=hz3lG{>*W5kPJ<=xmh*z(aj6s(|U0!w6z1+|zX&DP0V$;DT z>BP>qXZ!;P3?7j%Js7#&a>uw^uyZg-z%c&sG(fvWLAiTr3Oj9nTVm znzBW`HC#Nq2hMnyDeIW5;S$-rQtX-dYt_NF!*Ch4|uRU3GN<7z#72&lv zsL`jDdsdG+Yk51nwoc&@>H~$0npflP{nNxPdHq05tg$ znhelzgV{ZB#$!#{TRdJWVC^#E**0)%Gc?>V_6l6;I8&CCso_SjqRe<^Gv1V$W@$J* zOU%Od1#UOEQB0MM?Q4Q5%gEMnW7u|Zo)b-(V~&RVlIe2d*+p>2!Hr|KbT*uXjV@Qi zO<d9F5PU(V8S zzp~S_pcS~rvo+iuHflDsT4Tz71$U46&Vg2IP1)=@8ty*34(=|v*1U#$$Y$`EwRNWK z8MsF*VlHN_#FQXN^6ew0kPrO4iH<8S+0sx+Houm#GYf{f;e!@t|(6F$gx}yCysp&Qio%%#c@h! z=m+8g{Xkry*y=c?8x#Yn3&qyNDczwMNIfV9;sM3h#wk6a7zqB(vJAuvimi)NHh^Lv z4WSr_8j6*~DZQasNhkJ)c|AOhy>3?XQ?Gh+;S*u`w@Omdb>8%6+H`%EJo=6Tp1Kx( z_JO5w_5Z1XrE$gQbDzc3AGI{b|4*7fMK3uVgv0Mkh(8ze9X|NL2Q!7_g#Ye5!T$g5 zLHA$pHt%xg@OK`%hVqZER9R{{|}l!OHaQ~^q(_7o=^Wf%ulOnkSE>por{gzD6n^*+0?!l*snNfhM+3{hNYnx!aNv{1LduhWo#+eX$-)SE zdi-S3-!eaAp8f-AKI6dBxcX0<=CcT+|KFS6fE)xDQF-bpEu(TCeG9#EJ+O)o^5B1k zf6M%gdBXSP|53t!uQ2*@6aHtcfFHp590SuHApbztT6_{>B3U&>Fa2uP2brHSPye49 zSQ=L^nE#`u`9HJ*nP2`HuqA#KTX33AFa9>zhnb%-Pyc~5pK)MmTsnVz!Ze>n7`=`J z_`fi}c$*b}DD5OZN5&z#kouN?JniFo(Eoo{@!wRB?ElXa{(A-%Rs??CO;5kh7aAs> zRLERu(oep9raZlHMEVa5ERBngwfn+3fZhS0li>S#g`|f3Q*)m&PcIxX z_u!*vx~&`mHJ60>JbCcp|IEPBxcbko@rMcvd+6se^@jt~A|6HG@u5c;cAYBb9hv`9 z9(5@HK%o3!i1NfA3;ggYRYjh@;+a`R=4Z?!`~ODT;m;hYfv?mU&x;gv zBBng~ug>XvF7)S+)Cv9NIsVfPUZ_WT0aBg?(gOhMx3QFGDdkZgfl}TtY87>XzpM4* z*rY$)+2%i*=&1sAN}W(6HQ)_20_g8>Hvk&}nxf6X7GNt-3eXR?ZwKZ8JV1Y`On>EE z01O3&0mFe20R3sb8DI|3)LH^HIRy)UX4tqE(zO8_z!tCr>;VVB5pV+P0L}op47r3G zOMY%0Om-$0Qv*~rfU z-T`j_`lJ6oKr+x1NCH{|ku)o`DMSG0Q1LwQ2%weo05lP}1Y8EL0LOt7z)9dVa0WO6 zd=In*+5;VdPCyh84KxSnPvLVx-vcQ~cLrJjk71aIqyaKb zN1AX~@DnW1rnHf`2%88kzj^>IViSN|Xe;WHJ8c0W1!x+w0I~wSPq2yxv>ia!LRDc0 zbONmfSOPTwQ-JpRDgfOZq+5tUs?oNtLS|KfD#?Y!8v%4fFa}Uj*oUiwngJGoxs+!G zN~@hf^;`fF!VaL-POIJ;s0~p6)F)9#PzRbadnBk5ZS)R+GaxsrgEToZbu2azJ0_=f z2kHWDfGa?Csh%1jhxP*M1D-$wpdmmDBOLGn8UfxIpMJqg_!R*^P+uSb2n7NGS}DN* zt(qo42+#}&1E`#=69F^_S^%wqHUO1J0%S>YWSS;Q6UeDM0AvN`{>t1TN@6G@0co1= zE(2c`g%feC;IkOO=H zi~)uKWafMz56A@u1LSZ6fk6^K8gvv;2n;7j8Hz*!Fbo(0(ARp1J68Tb)64$w3n1HK220!IK6<}h#wI0)}^Pt z0^5N-z&>Cvup6KTI|0fko+wSxcfb$8N#F!<3OEg%0nP%KfD6Dm;5<-y&S~(WKml-( zCi@x^*MVOE(vZ?O0m>(krni9yKpAisxCh(^9s|DtkANq@Q-G}U0(cJm0Xzd<17ywN z09lyQWXWR~UoclVD4B_*dkc^tG*<*e4%;YD1)v*89P-Gq$e}2o?u5pG5l|JNa%xiz zh(_8Pln!%rsIvla$P*5G7NB}M{h0wZ06Gy?2gr-vLF)o^`Xgyc5aQh=o=$&@kw+&& z`E-~C-Vr>V4qX8kU@7v*AIO=V!8Zb>en>%3z0l!1FfV>R8WryH#9IUmx!PZ{I*x_kAxH zu4fZ4{yu`AR>N-5{^ikh!$-@y8go7Uz44EI^FFZSdGug`LizXTmFUDf$lEtaSU%<` zk$FfJ^xnS0xtK&3qaKV5ry>#^ zI~KZgM2Q?P0VM%KZ^HWyvXUH80VRQGVE4jlEH*IF6FqD3PN&P;Yf$ zS~R+eA_o*nksr#ak+-k6pJH|dS5yC9663G7GUwzHIku4;SD>Qgqqf4AuCa%}o}_{t zGy-Eb7S)!&5+#L~sM|mghphNX?fe8m!$N%nN!7m#Dwq7F>qCFGO%6y>QSxbJ4D^UZE{2t zw1G9ro}V7*V^$N5CP#szI4ODxl%nJUgv}9mRjggwGUSjW7zmqSAUyoj9`dhPuG~S| zNHJXmjRX&oW6jCISOojPr*MnGVzGp9a<~?u4R#m2DX7jnm~%FIIewiS;6>^cHRK3) zLJSy$fI*3mcVk+)m96oiF+Q%cAGSF;uALks2E7Ggwe!){I9sD&NMu}tU#Q}29OM9b zW7ca=dIfjhE(qj9!#daCPpLS+Ksi+2f_dNDJQIj3TP|G;FAN|2yKMb zCP(R$L*AgoPrTL0as1?NG>V`J2X4Ztd!+wA^a%{oV3B{+{{jvC0B}aEvY_EzH*wI}f zoE*hRnJ8)G=ksZe{&Ks)-A0~fIX2;HmxQISzkFX;5J3=bcrAV^96&EeExcdd*|yqf zcfShp<+z1%%pjDAwrwm&FqESQ$t8{dE`GW6a`Zzv@(|k4Im{5&xT2hmm8T4~neD~- zDJ4!M{pH|?a^N8}qiqYVEy==3I@oGTyQtjdogp0?uc(zAHwvu7JOq+7|i zOFAXQ{=W|`e?QKIg*yAfLlr_SM$DTW2nlk+%+g)NHPKF7hkrkR$R)FjxzWm-cDy&o z6)GRu@#{IRgL17szt51f36$eIHaNE|_w;~`Jp>~N`~6|;wD6e1BUPjL$h#Te8gLjB z$5bE16$ie95(``ov1s%9wQtP#f!c~1hK_t8Y6Qwb8GTyJ?^SAKhCil|`;fynnp(HI z_tm;Vhbu~2I`Su|tsLl4x4qe_0HciC6*c5gkXOd^i}amyd4EO82uI$b3M7-FM;5M* z)FtJHdn~M|vBHs$LXAK<-lUhMr$0C8=8}pUazx7X-b>$~pRqlnqU4Sv{}r_@k6}3{ z|LKzO=Q}HE$WboG8>~s~WzlpEfgOI>x@6|&p%o>u?tG>JW>xFX?=pa+XSwr_(U)?FJ8xphbqE~e zF23U!;-EWqeSFWS!U_@YT5@#9`xyrpB;1KUh7#Jwu`SJU=O@EM9OQVA6LZscC$+za z!=7+<#4-_m$j?EJDCv`Ra^4K<5sk@*8e`M(QS5f-YZyT%IXGqKR|mH2GUzj38U?$o z9KJGfwOg6#mxFepgx*x3RP{Rk?BX-;Tdi+5nXnWh7 ze@Qh*)Du0nEIMUa)FjW5LQQOocn;{n_pSC5M(gas&#KCKnauSNm$B4B+18VP zV+G50@#KAsF;)*xeq=4qh97Rs*#*i$KNI)s0T+i$8j<53!Fr6#afZ}ol&{r1P0q+8i&l5`UzQ9MZv;p4<_icYU zHfZm5Db-vj#9l@X+yQCl`c&Hh-rj_>caVdJF7-d(Y4P$`LDHbGrD$y%KFx%)Q;u=x z$C_~clx~gq-%L0^2RSt8@(EwNd39PEhGx>e{#YZvSv71coqhQ|)iBX=P|(od_igyz zym2aO(tR6R$zehb68yRzH!41a66vj1Pd~nTbvSEHf4*LIj3&qRoYZ&LhFzDB{*0Qm zokPg${(PYsSIZC^F+6)JDk~?u^WPF(8o)oV4j=e?V`>X`R-`oMdzxaHlE(ZHQ`D5h zj(#5?2InSTUn%q{j4nr@tZkU+ z*vWCsQ6<;JyRqOpeS-N8X7FM;c4bpvO;@{7Kd(VsOg3+TT^~A+B(RwSi5lx zuSC9BOy?5WokIA1mXJe^zPhdX;u9Lhu4kx0w|DeDDul056E)=ctwXjy3o>llj&vqx z!9BO9(1(q~s1Q-YCUexYTn<=bE=JPxBP=wjhBBr;UyQz#*TearYC^8=&BYU7T=cO{ z$>y66OOm5SzvjFp?IhhJ_}*5q!h;BYs1=q@r5y&=sm1rI#W~8`jDsAJHKV>$pW<14 zIx9JP-;S9^3|4+)Ehr(!T%9|s`N6Z>5^MxR2;1Yv;5oH9{OVb2;d2i$2rFhd`CFGm zZRXmNJ#eZaUC>ph+K@=1d|_>_ld>d|KUEvzj&8#{Swpdp9Bt`Y1)6WQ&UohalN;b-mJpE}Y;nhNy3s~!KFHRPD8;hWjO&~Tz`8*aW* ze3v2cbmn6G+i&i#TC z_#%R}^5%AsQx4whKQm?M{zYGpP;x^$2_J_Q%Hdtx?CZ%7tJNS^G9p}NVJE&P+R6tj zWoaXRrX8&E_r6Lyi+vsJ%>RNG4ss;eQkz3pPn~*qOVZufAK$X#t?Z$*bXaqczblqC z_oUg#@f~<`E-FgAu@8#ohf~ch(foRQXdpy;g+@O$jxI>DTht7FVkT%Gl;goZY1b*K zxO(^)1H3=*_YQ`oZ$|U)sI449_EOn+-fiZp;}tdJ7_(ok{VDx*@7U!PCG}$X4i3;o zj!NrjxA@-boz6}bH4lX){uO3A{l53y#k#>t4$mLqeRwh-$M<%@yqL!G zfsR}&6L~qv`P1V0uN=AWOn!|QKItjEk-%pGjM4)KbgsVRD^ys~o%g{*wep>J zPj`NhGdCnmR^`)o8#(&!k$VAa2Co0<0pz3GG4}eQJ@|$&i^Heok##hMVesKlVUgpt zBj+}@#@$ag?TTQ2mJ8SFf40NCq0#=KFG0sblWh9p1uma7-q?+6jz{Qj$|rD>zY@e(71s`MS*hYKVv7n$v?_NicPO zE+j+z^{h;F|J<2@rQ?=>Y+T6VKEc_U$TAMitvE%vZ9-M=Bx#H-k!U}4@n{iSk-R*mgF zfWIEgx!4GkF3vgXR&abB9aoQUK7cdg^_iTJ&)>X7=$RD%sGWm&mjRqRHH{NHvB=`I zytXCh(BdyHiGIiwxZU8+Le5>e9HHU0A7lujxNdWIl*r;kuNMNaW$w1 z>kys3UvheSA8Z17<*f($K-3C$ur_&sS~7oXmM$+}or!fRx;VCvd|gVOpmyU=6hiz@ zl&JA30xcLw}RYW@GNrN(** z<=o=RdoDLG+Lxzk_2XP#d2aCBGqt>tWWjQNV5Tmgc4xtM&VS1$(WDw!6HSCg=u}=y z>I{|Sbs^WWDX&ALqXH515G?fIQ(h`;$tV`6TJ$WR52Vja)oSwv>CD8Z_oyu<_!D8A zd&NWu6{(OK2ophbs+Z@qvWKEpW%h${#mz(Xp@nglAD!> z+Zeu}jvG?ez}ytAIwKi(j}*M9^YU})u9D05?#dZj_S0qdRp(}9<(Jo+CRzmxt-?N{!(Xi-YKB!o zZ-e1TDOq_LbieMW>tC7~%)R8=SIQBFD=)_uEH#pDq}j>2@a(j_tW42{>VEjWfYgdy z-Xx8y%m3Vrt6qf^%f^iH-f3LZo)uLvLIp#20#PdI9-orcSBp-QGqf~_TCAxZq|H?K z(dOrCbJfBp9C`T5I&Gdh8MBa*l|C?of8x$L@?8SB_M!jS3}gReIe#*obN7@#L_uvi z34_x|6|f%eb;-H8$pyN+RKbfKD`lWTB@S~hZXQklrW-0&C`$J^`rt%ZCX&1A`lqG? z;zHq1#&I>O_<0BLzr=Cfs^GJF(PQw7VOD%}I1CQoX$XV+@X`HnQ=Jpf*%=C-tngdn zx%P(i*@r)GkifO(TSaotZ6$G1Rcn{~85&o(3!f9uxp(+*#1GeW z#aJKaOGd7IoD@!b!W_yyiibsYBY{#2dYnL8?+1pEwgN$_-25!u>TvU-lM~$rwRwDU zbIz&WUos)q-)pM<_^2SxE$AP*uTbZMQAL{xlkMluIrAGb;RK`IIe)%wJ+R}$IQzcM zKXwjBf8s4xIF;jsNFUsgigd%uE67YyYlmQ!WhSR%$D^}Ic_(56I#7rmWa1V*h_^`K z9O`|n5(cVhA&kTOcyKQMpBM+#KT(3)=<(0(m zB$1-{OEP#bj{NBbIJZk@cImt>I76LEHPF5ihXsvuWNF`e+@)%KCqM2CulDC|l`ab4 zP8;xpBRPA%V>8aUG&6)7RlT%ITdq^}(j{HF)=II=E}mP=Ycf#ldOYXBZx7|{OVtUS nQx!hGJ2#vUPU0*}t0Zw%P5HEF6s4wd&nez(qe_3Yqx$~<1=@(v delta 21457 zcmeHv33!ZG`}cDm8H{8iBq1S4BwAY{i6j$A46(~Z#Fn78kqjBKnZ%N`%!DecRUGZ1 zt+ljDYpo)d+DnU~cGYU%E>!jHMk`;d-|v1FQLp;<`@iMAzUz9Q%kR0*?>_5&pZlC= zX7V_*=2n|^$uK*j`AwfQmv~CwzArY+{53ME{iY`Z-+E&CwrK%_g1>rh*XlQ)oK(Oh zx^75w`ZqK$`cWa;%}7I_8PpQ7mtH2na`Iw;>+;}MW` z!2?vi%WXh{8vfoxZTJ&N>hOJyZ-S%-mO)avXCeI|OSJqfEx)J655rtCWH+QIWYO3x zr>)2?)$vx_FLXF<#r7g8uM`C&mn2pfei@QHV}Ps$IWo6kI8~YD zBT4w@F38Wa6Cdxi6&99A(o`tPw@;#QO~}iTG?4RECV$tYLz8QosP%GP_Hp^t(sC$h0A-q-2??*d zv+ef6a7U3e5EW_UdXS}olSR!SQPe%EC|sF646M-REV9>!o;>RVNuG0z%r9`-C8-)X zd63*|%Po>z9?ez72uFT)_}D^e1~^riq{+hY+=47D7)VE+qga~MLYsp(q+^mL+nLkiygT|U9i!N8EbczNcAGrhU`U! zPCG_=3I!=B=Rr>+wq+GK$yJA-C(F0BQuUj_{rJLa^T zQEHdhArUa{LR)c8IL3!*%pHyVt%xM@71m8ShB4+wGLDE1Ui&sswpgaXbFeJ76ECx-y43g?O639Ro78(*X^4^e?(MFRS64gBv%ifl2 z%eJoorw-;o(!!-h7XaC@t=gf}q8id)lN})IAioJDmX6yCk_PZ2%9FeR84!!aJ|yZw zu7jk8=TipcEJ(6^G9(QwU9;eP2cBYVD6j3rM;RY+o#?D~KNynC7}QbS;P!M-TUiDf z41FYOlRVm0?d5Gq>O~I?J(QmArkXhck{&4wP_6+a>MH)n2$j)bLo6;Sv?oi>6g9&J ziCx>h@U81>9v%Dok;elPD;(4Mj+p(`*^dKf@0%x|8RHho(Jd~oe7ff8(^U(5|Krus z^M9$-@~>@V6MYL7BiO1|=G=BSnQJzB|k;C(6A1QHwlT<`oc!WS-E}BHxmE zDMV@&Uf$GVoK;1Vl2C#1vLLg3whB*ZW--+DkfeA%F+9nmsw8#h6PqO(QjzMaq&QOD zmDESKb3>}>x=~1}<<=vm*1d5%w_SBf>Y>zq1}U|bQ%LnxbYa*p)Z8&hsjX~5N-f6_ zh-!OXkWzKeA*I&%2r0EjC_>Q6+qOtzp1ib0JKW1#wDUmpDpiaFkRpQ(ybSJK42DJF zuEJSUv%JQ{%UfCG=H9#l;&E@D5NVOud-GBVsU|Ovv=~#c31VA7h2%i9(G5n`8BY#1 z%R6iG3O@^z_|``4{E|!GgvZ(1Pq+mzT#{3=^<>C?ho@ixf+S9;16!r`lwgk7#8S=J+VcP>sM!g$g0s$fE6K_6)j`y$rh$D7Mgyxtac^u~|8{pFX5&b(1f@HgGt0_Zi7NoXfP}n#ys#i@}OWT5YMS{in4U`lx9z40B+1L{M7>yP-`7D^}I5twMqZ>moq>lR-f zgxsV?;zwZQ7|d8hEWl=%Dr(y}1Stv`7|_UUmkucCi?{HCG$P zPK4z<56q(M;U_4C+Eta%^l72?sFX5x1Jkx2gzXG4DhY$Z-UTDqs7?%QsX7B=Lta0y z${?NrMk}uxXBM+@tHwMyP5n<`)Mgb5X*oKamv^@qbHd>)MM<-~28;%QIe^)p6XO$M zb{M9f{BKZp!(kD;BE=#vjNl1Yi}5P*$jOLfG~2BeFNgARd=_jEB^C@qX&)FB!Aikq zdaD&L4YC;1Fitft;UxK~NM4?5F>Zkp!^8kEW5&dRcO6wHci{g|e^&ynxP1P&WW_7PsHhS4@<_Vz|!#OD1)7TAx z=(&Ru-`PlM+YSO{5f}v#HeRqV!FnrMn@ zvlxGbl01V*hOwz_c|wN8Fdx12=WR0*4d2~Pb;A~yuIT0?HAG3>Kq^B?rNTFAY8g^} z)m)@{E2(bSs8W^GJfxId<7K4aFql@>)@*Eq$;HsgPz+;W2VOeBVz>q65I%80qWpMA zUNOKTCwAfq1M%6R6E7WzK<%XZR$0o1AHc9u5IIfp{KA~NJ(b0o14hxNM&gTLszGPzdSg$;ec`clV+*O2O>q^=>Ap`M7t8{VL#>PWzD zT8eP_88A3l3u52ys*%_kuot9(p-lunro%7~ES;J+evT9j$A{3}NoM(x6rNDmVw{YJ zg1R-)Ho7H+m)5n&6)C*DZXCbl>*2yjCHe*_;R7dqs+Snxt4Tjdx=51VAMgZ%0lI<# z(uV+4KMbJjUa}7Kh(hJML%Qx(JY=r+f3K1K%RtBi1iVxY$W(IwD9Hl@0rJRWnj8d4 z*S%y_=!a|lOT$5^VirIbN#fan42%Hix|gK<93}UUk_I#yp!_^7|8B_xY<|iZ3Q>SM z9HU96R)HinP^|GgCF#cj9zdyM=(?Yz za>tcYmC{8D$~d8A{1r*%Kh(;Tq=B5$I7!Mst;sW*JPSz|Ny0k*F{=yVvsd)qrIpOkw1|h(9>Tl$SDo9a`%$dZX@KIAX{qX?jc7Z`@RMK za=rm2qtFo<5D!TMNYFYa$@sG{mtvuVrX@+qjvBvHQti%~o+Rc;qo$7vmOcE{tB`hIX+>;G@N^MKSt3QUBdyIr7R-2NGekZNii`3pzB_e@^h5j+p?jept-;2W0ae0jT9FZ zq6Bp_Mw9=2cK-L-dB0~U#max5o&SAyA`I^FkcIaC`u{JUosIwJXD4sqEacapw(_%1 z6Ynw8%Bt`=#hHA1k%?a~wlV`>Ff)_K7n`_gmX%fG17>CN%V0aejNJHKCZ9jn#PgoB z;%^CC!Mcqz@dmT4%)}kDGnqHvjeAWVI46_&@G-d8;)igr%|qs9GGAVTyB|M}yFYKn zGg%#8hI?Ip4)*{aH7}C|@)@|-K41YX0owuAj2mBsC2m;qqLsDa zTfw@O!IGD(ES$H2KYjr-O|i08-0@N-Upd*tk039K2fm!i`%f|Pi7#7OYkml<`jaLe zzR=2IdC9^|z6I>5~G-eyTA zpD@kD7cQ}~cKixh)9GL?D@*2AT$%hVSP!?Ab>s`&uy2Nm{|45XcQ1o|Pa|)sm38F{ zmcl-;-@v-_?#p1`OcQ@|nUz`jO|Wjyz%Q>@Sr7jDE3gmDwA{*i@&U_X-?Q)wSTAl| zk;!^<8}5Dh))lbsIe6t&E9=J{ufjU8BVd_4@HJRB8-94r$_DU5uVu1Y(MP7UmflHt!zDC57vLJiTfY0vW?t!0QRjj@%><%c&&F~AK2J;t!y*j4VJUs z#G4$nvaNi~LD;v!#7}{3;~|G&AK1ldR*7PkCpL)p3cJt#X zc@`}8J*&J|;*;OY;L|sm_!pr2B_92L29JLm*1vC+-<9}hpqD{AAGXSeBtG|W2A{tf z_Jh7J@eW5ac(*NZz!9r_MB+aj$&imqJmqMH{DH)mK^&8K1;lZQ_x>P5J|Xc{5Fbih zK9(V$l=wi1Qxe|*aa!Uvj%UbcBtHCj2G7|J4;;73=OkYHLTQ2lOCl zlMk)(MTt8<%-|Dt!U>?CNWAgM4Bqq|SbEYbe=6}4pl3m2Pg&)Ez|>PPbr)i8vQ_>< z;^#r*cVpU5Tjj4L{`6^>3VIFnio_Gnz|=hm>@!yRs>Htr?Y0+@eby>pllY5gGx#r{ zzk&V}CZEgTEB7I`&spW~Ve`2(p1$9o4<2u2Kk@}*F{KAE`C!*Mo6wV=^bK$=$LIbf zPpK~h1kfioTzBi}JA?i*U{#yjj?l?!Woytdo;D=Q=r8S-Fwvq}u3vzSu zI+0Wkg72A1!T+s}+SA`ld=Ex?qdn5;?S!Kf$6CLx z|5V3Xzpj7F{g^`KBB>ifX&ra!=r_wd%TdMZnE!hyAEM5MA?Zuv-XnalgHgWN|0gzq7Tizb=7y^$XyRY=c0Fd zA9N@8>BFVG;rF1dyHCejzwrOvZYB5Y?-Z{Ks*HsPqNDkL;GNv350@V455&6rbgcF3 zdU&qBV=(IH0D9{h{{OhK`obsj@!>#y75ky-(7*dX(y`XB>#ta>tO)I0@nKEXk5V*f z{r&NOL+6tIjmm#R-I1#M{{~C$I~cqbbM?a9tA6~Wt6r{lt<*P`$%Xn0>JL$;e&o8l zW18crDD`2J2@TX)wjw*Gq|6i4VuA>I^|B|48`6QkG-xG8lRDVrJ{{LTB{u}DL@V7zt|MRH- zhK{vb?P4YAL!VPd6bImu7_^1*0I)a zufN^>8^8TNsFmj>dT#`m`zJ}wAE*>95gA z09`)-r1JpU0d!G6q@zC)4M2j@KWRF8ouW5@tLg0*Sm+P&7ZhFPODyZC2Cip*k;FUU ztckc3&XNYuix75T1VC?BbOX8rG;Ax73iJTdfSy1)5Dr8D^wJ5vu;K&M0%`-kfFH0_ z+>B(Q!mkzcGpt9i8$^>eB=-P&fqlS!AOr{n=oN@WfIQI_z#Eu~2Rew5DCXO} zJ1E|Jl&nB1&;v*VdII;jx0?mNtKwW@-9t;EwKy`rL?wJKV2iycIfd2!~+>mGKt)hPdG|%)(($~Nj zz?T5M8}%V@5}>~!KSl3H9Y^8_a1=NO90U#lhk*mYJm7gi051a5ftkQ$U?NZoj0don zNJT&%kPj39=|C@l0;3Pm7w89M0AWBA`YGrUBpwCu8CPlsGzVG$ErD<#0%!$90#QIT z&>DyVVu3io48#NU8kH}Q2u~#eZGmKfel(>wplSefkv|*w6}UmqrR%^C!1us8;5alIfgHdAi~moCcl*+Ks_& zG%ykv2%G_?0<^wd6!Ifr%P+X$>U&FBLLu4u=xM@f^fY&Sfg*sy+zA+g zCII=pDnJ_m+Ef<3LE}{*Jv5yOlIm0kXdR1Mv8;ad@09ccJb@ZOD9{)P0fK=>KtrGb z5Cqg0J6a>m{gLzoXmV-;wE!QWCg2T_8_2KZ3i2uWmdquel7AlqQh|N|MNuDshCn0i z3G@I`fbKvSpgll=MGHBB!ki+ABB>cbkwy`xM_6;DTWFjjh$4w1sx=S=L;}$OMI1$2 zEI@kFwFBA$NdWB>lnhVhEQb+j! z=_pM>v>Vt3lmlCV&A{6Lb-W%}4XglO0hR$vfyKbfz)OH@0dDgF0n7%T254@l1Ji(~ zfT;it=1E{OPzIC$Zh#D!1dIp90>!{M;BjCg@B~l_Q27Y}>4}rXw7HZ8JOktzU?%V^ zFbjANm;<~3%md~E9B2dRaX_8Zd{Z1e54;F00u};fA*Gi9q$iM}%YjwEO5jx*{%c6Q z4y*y*0Nw=F0_y z0k{tQ1pEk0zl9sFTaB3_Ya~4u9XEJvyd^j~F1W~1YA+C$1h&E`E4jFdZxYzhklU2T z1FySNemRtD_~$Eqt7|zTH<87O?-E%({E1X}C9wdx9uvp9Kt966(}JKXhZMa%>gRzB>zu)6W)Zaq1Q4@zEOw$!the zL}WxXHdhbze{LVFmM*$n&fDX`A|s;WBcdavEDte@>gvaP1XNT+^?onTURgpv0Ax}9 z$np=bWDTs$S>_==Lfs(!$PiQAPFEJK8TW2wiT6E(PYPPs4;gW6OM@C-j7%2d}a_&pl*TG z_drtRYhL1(l|={Xhj2u-Ti)b}DYfchR$E6zM?_&-O(HdwrN-&!hfD}^9Q$24B7Q!x(x43Vduqjn5VxpF{hJ(B8bQ6=j2 zVD*CZqevnPK3FiP?!;IWi;7kH=xh?{J>U%eP?MfF_iozmG5kfXE9|&*?uj>Ic);q= zuT4|OZAVTV27#PHlUURPrhZ`(-=GcoSCgokhV@|Z7Q;HR0MR>*#l-0c$$Z@_>+$rN zO(&r`Do0>z*H4aFabrSuAMXPu8WbAF*e`pF?P+N6y0umdOL(WF)#bioP&&M=A2D;YmVNZCm?I06k}(lckZrdRytLrG zdSmjocq%2LFcsoLI;$U~pIEc3_35<5D{h*#1`uiLOa+MMy|9gWnnaggY=j&gDAx2s zgdPY~cb642mV`D>TV_EuiZaZ@`9Se&FYHu9>WfLeVV!;wP1_%Lt$)uaHU}lmYAE1r z8YM_P`bYOYQgzjSdK89h%bAiH~lb~nc4H!Z$E$N6O@cbNeuG42BLii z^Eb4{PHYlseGo~0CNY`h`iA1|J}mVfm8mY)gXC-^8umpuI~$4kz9>om(}A}0MNe(( zxbipeS7kPd0v_G`6fBnXMVnYcC#j@<+)lq?-~3)N+jc`45EdXl>x77;erQu$Y~+T* zelS5lSfprsztwBxn%|>F43;z;W(gHLQ6o-2vcx{=%6R91PhV5oRC?DBHK}75&>*eB zltVI$kBC*AJtkCmWgran<4_W!tbOa1eewqC(z3vKR0pNXt3t)B420#TQ1KDf&=2x> zX+hY|9{jbRP{WMzz}8ct!UwOp1?k7g1Rk7Yyf}5;YLuX`gr|QF6?jE5T2?os0P!*2 zh?J{^i3(Esgo%j$koCjFaFWf!#0!u?`f)n>H{1NuV^r_@Xf7rqjyjy`^TIHAY+#tU z)gOM)5AX>dm$J_3m$C~5BO}^Szxq)>4H|zMy35#@f?eBHCWeXB0kBFx1ZW_8`9hbU z7Z;+07E)zRgnIynp`ZG*rTyZgR%!cnlz@+^_2o^(Q7WMy95i9;b+aL%JK0SE6Nk^W zN*e(|`bk3ZFNDtv*;^a)F)1s@W+ zs4=6tI580OGO2|Kehgly*-|7thUHVaIl(#pqS2try(vgP@F%ZX!{Mvu4eu$l*6L*A zgdgD?1RL}dedf<=zwhLh{sD>~@CZ?6ch?|nk4;+P%Qa$MKjX)?CuD!u`GMq*mx$&I7L?7#t@bPnd~dIxQeAltZH*SShhQjW za4puAd-#~Jw(UJ@#-jwe6QOymwHP)86aFWGh7z4))ImPk?qvOxV+XrxbuqZ1F=EXS zj3X*e{EA+*J^V%4*DMYXRXD{|oPPXI&o_^czjh{&o?#TjXj(r2Xmv>cWffC@4?~Xj zAUT32I>R*mXrQZJ!GWHWn?x&hl~soo5;Kf7m*d-rVd$m*n|LrKz(oCr_k#H!)SNUu zRiFmeIJ%3}PYY^2H>-5_!X*=B))^JZE&6#vU3U!;kNdZ9Ds@^@v^f&QFo$ zC_HQ|I__WFdNNUMOFwJqYNE|{C_2rk*c1~H+d6VZqR6$OtqqCdDYT)t8FcrEeOQAe zETNy2lzifoy)QrZYDr~I2aE8^!pQWqmGaW!ye1d*m|j`JX%X$I#4{H4L&EzR zFB~~>a`I3gvJN{2z6^H|sUzUAJsrd>l$6hR5Z{c%=Ym~XtYr;-@#vX@Itrg`cA&q*fd=U(FU{G!cdw&y)O4A}M#L!(n76wM_Xvza-=U9o z6_-b_2^QUoKYujor#cDz-Ut$K&+1u8*B~#Vi!{vLOCzJ9>r+xrVW zU+UrSoThzHxX|zM<(aF41LuOHNq1S@e%`~Ax)PrGpmXX5GCVqD`2 zM8YWct5G>LGCaE=Pn3;jA!5p8R?jQ9prFVeZqFZwWA((6LKY@=PiCz}(|pFoPm@{j z=IT?~DbHGX<-%SRZo^S>Sp~Uc^YV+t#o6qHsbKghdscC{t*8j+(22Ek*yrNQJl0VZ zJ5&vg-S#nU_qNxC$JN2vrDiUUbVAqh4%2GVy7d2WVq8l z(mtVZbJgW6-Akm7XX%?W*0IjA@SMo{iqjjIOGHd!UBs-7%qS*KV#%A2Ze(&5FGpTs zfwMS#1iHu($KGa7Y+mJJjo9WMn^}OVx^gTW&H+=p7QrRVAoi59*v;;J>_!#gKb8fF p^n=V(9GJ|!#pFWPLEOw|X3|v^?-$}V{IZ}{e0EUqZCvs-{$E#wbcX-{ diff --git a/package.json b/package.json index 9408e19..7ee1ff8 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,12 @@ "preview": "vite preview" }, "dependencies": { + "@headlessui/react": "^1.7.17", + "@heroicons/react": "^2.0.18", + "@tanstack/react-query": "^4.35.3", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-select": "^5.7.5" }, "devDependencies": { "@types/react": "^18.0.37", diff --git a/src/ComboBox.tsx b/src/ComboBox.tsx new file mode 100644 index 0000000..1aba514 --- /dev/null +++ b/src/ComboBox.tsx @@ -0,0 +1,110 @@ +/* + This example requires some changes to your config: + + ``` + // tailwind.config.js + module.exports = { + // ... + plugins: [ + // ... + require('@tailwindcss/forms'), + ], + } + ``` +*/ +import {useMemo, useState} from 'react' +import {CheckIcon, ChevronUpDownIcon} from '@heroicons/react/20/solid' +import {Combobox} from '@headlessui/react' +import {useQuery} from "@tanstack/react-query"; + +function classNames(...classes: any[]) { + return classes.filter(Boolean).join(' ') +} + +export default function Example() { + const {data: options} = useQuery({ + queryKey: ['obsidian-metadata'], + initialData: [], + queryFn: async () => { + const response = await fetch("http://100.115.154.44:9002/metadata") + const fullData: any[] = await response.json(); + + return fullData.map(md => ({ + id: md.relativePath, + name: md.fileName + })); + }, + }); + + const [query, setQuery] = useState('') + const [selectedPerson, setSelectedPerson] = useState(null) + + const filteredOptions = + useMemo(() => { + return query === '' + ? options + : options.filter((option) => { + return option.name.toLowerCase().includes(query.toLowerCase()) + }) + }, [query, options]) + + return ( + + Assigned to +
+ setQuery(event.target.value)} + displayValue={(person: (typeof filteredOptions)[number]) => person?.name} + /> + + + + {filteredOptions.length > 0 && ( + + {filteredOptions.map((person) => ( + + classNames( + 'relative cursor-default select-none py-2 pl-3 pr-9', + active ? 'bg-indigo-600 text-white' : 'text-gray-900' + ) + } + > + {({ active, selected }) => ( + <> +
+ {person.name} + + {person.id} + +
+ + {selected && ( + + + )} + + )} +
+ ))} +
+ )} +
+
+ ) +} diff --git a/src/main.tsx b/src/main.tsx index dbe7f6b..ff6a505 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,10 +1,15 @@ import React from 'react' import ReactDOM from 'react-dom/client' -import App from './App.tsx' import './index.css' +import Combobox from "./ComboBox.tsx"; +import {QueryClient, QueryClientProvider} from "@tanstack/react-query"; + +const queryClient = new QueryClient() ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - + + + , )