From 25d1fe2c8d81fae3004e102e6761ff97af61d07c Mon Sep 17 00:00:00 2001 From: Matt Love Date: Mon, 30 Aug 2021 06:43:32 -0700 Subject: [PATCH] Improve APISelect query parameter handling (#7040) * Fixes #7035: Refactor APISelect query_param logic * Add filter_fields to extras.ObjectVar & fix default value handling * Update ObjectVar docs to reflect new filter_fields attribute * Revert changes from 89b7f3f * Maintain current `query_params` API for form fields, transform data structure in widget * Revert changes from d0208d4 --- netbox/project-static/dist/config.js | Bin 108078 -> 108108 bytes netbox/project-static/dist/config.js.map | Bin 412865 -> 412970 bytes netbox/project-static/dist/jobs.js | Bin 108384 -> 108414 bytes netbox/project-static/dist/jobs.js.map | Bin 414933 -> 415038 bytes netbox/project-static/dist/lldp.js | Bin 108775 -> 108805 bytes netbox/project-static/dist/lldp.js.map | Bin 415371 -> 415476 bytes netbox/project-static/dist/netbox.js | Bin 317929 -> 318904 bytes netbox/project-static/dist/netbox.js.map | Bin 1145184 -> 1151953 bytes netbox/project-static/dist/status.js | Bin 128189 -> 128219 bytes netbox/project-static/dist/status.js.map | Bin 463700 -> 463805 bytes .../src/select/{api.ts => api/apiSelect.ts} | 290 +++++++----------- .../src/select/api/dynamicParams.ts | 76 +++++ netbox/project-static/src/select/api/index.ts | 10 + netbox/project-static/src/select/api/types.ts | 189 ++++++++++++ netbox/project-static/src/util.ts | 2 + netbox/utilities/forms/fields.py | 8 +- netbox/utilities/forms/widgets.py | 131 +++++++- 17 files changed, 512 insertions(+), 194 deletions(-) rename netbox/project-static/src/select/{api.ts => api/apiSelect.ts} (80%) create mode 100644 netbox/project-static/src/select/api/dynamicParams.ts create mode 100644 netbox/project-static/src/select/api/index.ts create mode 100644 netbox/project-static/src/select/api/types.ts diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index 0f5723b02ca556af0bcf43703b53670b3ae3a45d..15ff8261ba8348fa91eba53c1215a0f6b5ce26fc 100644 GIT binary patch delta 71 zcmZ2?hV9H5wuUW?SEifR)Ra^fq~@n7WZK#)CFSSmq$cJm*((}YAqnRvWu+#UD5rzvFG+A1aG=jWs*<|%FGoWbbK2LN8B4+sDN diff --git a/netbox/project-static/dist/config.js.map b/netbox/project-static/dist/config.js.map index 62f1744f8b4751e82f8481f0b2e5f2d85220b3ed..09e9cbec5dc347e8362aedfdee71ec06742d7318 100644 GIT binary patch delta 129 zcmX>&Q*zZT$%Yoj7N!>FEiBh2PLH0*A|sTal$DxXqOPE(rcjocQ<|!vIK3{AQEYm^ zL>BJ$YZFFEiBh2wyREJ*{(W?wP&Mru%kQ&Kmjv delta 41 xcmex&j_tuYwuUW?SEh^GD;ijpR2HP>rzvFG+A1aG=jWs*<|%FGoWWSi4*+ix52FA8 diff --git a/netbox/project-static/dist/jobs.js.map b/netbox/project-static/dist/jobs.js.map index 9e9ea06b949672af5e03c1f2943f529fe1dd2edc..bbf27ef7a84f4812af5e31a85ba467b73e5d9a2f 100644 GIT binary patch delta 128 zcmcb*QgYua$%Yoj7N!>FEi7jzPVb+{A|sTal$DxXqOPE(rcjocQ<|!vINec}QGA*& z6HEK?i7eZXPh|bH!!*>MbI%4BJJ&1>SFG^ S{fZZxDKlfyb}m1*(`*10SSc<5 delta 69 zcmV-L0J{Iasu|U(8GwWVgaU*Ev;@tOha8dww;YlM?6@0KK}2psEJr~{MJ!E0K~F46 bK|xh4RY7$`c0#v3O9nLq0dBW*P6o>cd+8T% diff --git a/netbox/project-static/dist/lldp.js b/netbox/project-static/dist/lldp.js index c5c9584a7d970dc314f2b14ecea68ab78e02245e..fee331fa1bb169abae5a92ba348f539ee0e28ae1 100644 GIT binary patch delta 71 zcmaEUk*)O-Tf-K{E7MJDYDy{#QuEUkGHq>@lJfI&QWNu(>=g~Hkc9J-vQm>vl+@HR S6>V+vN^^3yzn;$cM*sl!c^el1 delta 41 xcmZp@#P<9mTf-K{E7Qg86%DLPDhpEc(-bmoZIzPp^K()Y^OUx8&S3l_003Uu55NEb diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index d42cb302505ad87581050f1ae4eaafb0f6971f04..cd9eceee7e5080c85c86b5467870020861477887 100644 GIT binary patch delta 117 zcmeBPEBR%uWJ3#M3sVd87M3d$r$9^RD-&6^Uzx~y zc86)GqidFvj<2JmzmBJ)W2jE3qeq^Tj=Q6`D~h0FBt+WVvDC%fdHWtOHhmVxvh8pD I*yghX0HEn7I{*Lx delta 69 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

}^x8+@=?hpPH{ls|UMC!v1)_btP{%?A2$8Ch^M z#WX(BJt!oLjSLx5rl(#v7qq}=p`)IkvNCpIU|YWJ*2;YY_2RL!)s~6snj_~Xm(EIy z4Z`td>#-?E5+glrlEeY^@3-zT57qPCZ%G`5wcTNiAq@}CD%f3q+h?~aTmXd{gF3rR zVpEq~D8st%zHk!1eHV_xZoAyKb-I+@lbk zY%z;4EHSDo3#6RkNL27WtpuP|S?b{y)OL_K0!6-Jz@)0H8Zf^MX50x>)hvjRYV) zdXJ4L7su|Yp-5c){^v@oHDnl^hVgOc-kle(`oL$%x@IkJS{3j80?_ESd$X5l0zGKu zf*dYc>Ec^HR6;7@xGh2rJ~jC8>cH^)hAMB7E`I2~lLT}6(T6M6!E*V%cVV0m}l_aF(aO{Uepz_{2nMX{n*UUPA{( z{p?3>+OOFB$z*iilH_3khVL#p5ryMUQhgu&-j3BiGO5;FXRcM$j*p$)k7F1xURq(S z$r5)j;`kER^zj`;_%Y6np8J>;(cbD7$M^3)IE>#dzu2p`e_}ttAHXk>E?)J}H9NN9%%s6X7qk{;Kd|+yWNkB- zyzT0)uid(J<-`M)6W-*DpZ;12R`TM1d_BJr&Yh6D?dh_MH$3fJix!`Jc4%Yih}KT^ zwBY3#c>KTHsk(o?xfA;+$ATPx>!ia$I8q_EqNf|0%n%=O$!s@k z^lx@38aDvYu~^vkhxHRoMAJo&f2wfUBg7p?F5Se^{CCj~F3iSI{*nLrFEdb|i_>6jy0O@{ z1NvRez=B6y7^7mqKSh0K(; zk74Yf%Tt1RDgwzAe?zv}Vy=~^)DQgrDVTDzuR3XFO8wNU$M{lRH%prg}5Vv4JuZ;U5AzAHLf#Bq-4qb*`;3eVt_nC8!c7BR}7 z-7R89Y|Q99b!7p@FIN2J8A|2ei+}lFfv&>|jW*z%TKo3}s!TE0Q>MM@qkq2^=3@Il z8n=(~N!V8zcanO?KTcu!zWt9LoRlhmy^Usi)!^$L8^Tj4xtM|1>*DK9l2rfr`g0`q zuJ4n@5@pIFtKWWY_j&|e!se8FS%#21NRVx$~epzvg^rBr9&FPnsU?EToUeqc=P^|D zB8?{0VR!E!dsxYCvTH9=m>)2`&`>2dnD~AZJF%M#qMz$_llSQdNq9NP^I}22QLtqX zIYFd+b`SXlr1>4kOlA4ma`Lu~CUBwrUyhLGbr^)>81b1lj%ussjS9J_>b!R!@v=vc zlbzdh(JIkgbQ7AJa#8lg4@`Ded4g0?Z&ZEo&b|4wCy2NSNOe~eutdrKs)=laEMR{* zL(0n)!~k$x2gjS@O00{&R+?*lpe|8i^-ds}!rGnW29jXkc9LCd6S9z-NaSB~lAo4d zf<(r!!rV9#$$rpF8rCDzjX>c9+tEk9Qo@U{ANG;Ypn-R~NGr+YpLLNtDW0hT@+>Li z4P<1TaL_j_cub)s!_IlgVUl6j;ju9xi|rGmla4V?1;KPDt5;(L`Dnr}(Sy z4JXgxY)C;>1I{Go#X0txmspOq@nSei49ifQiQ=8RoIE@eF9_|B#Vk)`5>r!AS#&bb z5c%a+-yFC}7Zf5P$KSlHa~Q;#V1FMbPmx6a$q{0uYZ0S8WnE;ie3R@gfrZ-2c8`-P z(waXtPJUEc=0?SW!osbYDba74XGdl73<=~-A#x=ly(}o++2IA!DwPCF$dn^TNXiAV8{cRyZ%-UQ2p#=E>kRpHcEJ^X_>nV~ZrIMu|$Bhs- zm|VQXx!!nc+mHbaoinm*K6&Z$hnvY&hDA^=owu?Hv750wnF!Br6 zkOW{s-a_h8>iAp8Ih1DV+sONflbyVlycg5@-nHZ&4aAEE6G_=(fN|L6p96@|j2l&c zd>xs<^m|H5@!|u7BWY9p_+sU`^_~qNlwQD%Q7uiEMkVEYD8;B28et!eO zDcHR2M)J}cB=J1Lnr{P1DD3*%$bVzOrZ12)NPX-A>Chj0*{0jcNpmm9!IUj4%QKRH zzPRoy{G>M@yqzS;n&e8Se^Wu_3fufn0^OaRekVDNzUSXb7$LFzwmZl*g#Gy;vYEY? zk&lwOeD|H?nRT0i%)BFwv@EP&A^X{FSCR63=pJ(G8er_7?j=`~O||Gelzal~*YGhS@P+>vdDVoZFGu#V=!0OZ9r+s{B&R9zzWxwaW1jux zAxyiKo%$q+k+%GOpCpeFBqN_9|4#byYd=liLC6ey=fmV{#FwAQBe|yoJJCFtGZdM! z`Q*4CyT9Tfu4K96vqawehL2JtUHqEA>a(PkZs?05q%0CQTiL)yvX|ZS8B)q#{v5fy zT>Ie9nG3r0tXN>!z+>m<$w3U=|9SEivXghA9|$iDW1@qd`U0ugzpC?z4wyZbl>+(H z7s#&(>B>($N)DQ~cg+bibH#SL=4xly&0i+p16TrIA(!j)`M_7m*5cbb_JgmG*RQUINB-E?_?q^yuYa9X7d~#&E7d#>y6R&CkCSt2X1HO;8a_pKuqPfTdGMQS zo*)hllKMal#K~R@F+@9*mKH&Wry^y6Bb;!3Q30 zz@sDo&To*1=)SI~&>O{p$8aLs$7v{SpK!v3Aqy?c_bsp`PyYIEk*$RE=kNSBd7P3g z^FK|lS=%4AOhGSseV80&+rLZhA%ppg-zBgXyzH^>k^e#QkAI(h!=z8|mLHH~B$xlf z55O>i+&}yw`8y$Q_Uw;2x#ds&guLHGocSO94E0J{<}6d}i_eql{BM6w(k3#U4?a&m zPslW@e1SCL;d=qp*_(g&3#1O%mw)0#@?nB`rd}ea@VNga(v8QTUm}0roLHG{LS`5K z0)1e|%jD@DJRdlT`*>uVoJzq_m&pJ1W%3=`x?d%}Z~g zsTBL)SIPKhKW_0T3}Be~|3Gd(*bZ?hhh%W?px$eBLeRbGe3WUn{g1?bv?prVn{io0 zSaZ@Wfa1)7L?)BKQB=rbvsT3{_}NW=BnL{;GT!e0BYEX~a}?!@qc;ofNb@@!%)$cR ziV!dhBgKLoL}pApqYh^LQ&&Wb2-k216r6QzzaYQ z;~alf7>c5j(2>95&*XmzS;(LGE7?!z$Q*m+2;G^N{+GOml)b^?=WZFZS&-Q7*GT^^ zxDXQ1CSr*>*_lCLZ~&&EMPkdZk*19cbAlWS;jRk%NdD`ukp&YOeOEK>V$ZInn?B9x z3xtfaYbX`)c!1J=GMs;%QpBl^F=q+AK!(`UB{XpfPK{=CcftggEX@Yi&>djo@)}x$ zk~goRd*Qf&+CGoKZP|_@bI{oJbX2yd*<)*HZHqKn$5r$?9upnRq-{wJCE(N$!rC@X z@k4R_Q5vTrhh)ADe2K4NL{ss-iuWA zCDcN@jmD%)sCzG5KC%TQuHSQ104rQS>>HN=6bid_E8Wd%w_=SYcHzq<`&oLc)-Uqg zk)>HAr$ zV*7I?&@2eOHz`)j7KOjyRuBBbtk%6BVhhYN_Jh5&yk4>C1dmVp3opbyC3;={W@O;Q zve2Ec*+)y^=wS`}fxQxI+fTXnIK7`%fkD_McI$pxS>oq!7x&Xcmr3Gc&Mw<>!aRQG zm$j)YVxkG8kigMg>`d^5SM;bqeJ(&EwyB&RT`zG8#Sd#Nrwm4eYd2kJ!4l`?*aNN030VdL9A(}9Hft< z#l}jycN>hgl@`b2m`=Eoo&_R&wURzdBJ90Yw1a*1D7COHW-9HG&|L_3qy_xJnSOp$ zfnS%E2KwA+ruXcCXVT)q*`m3oiCo+gwock3Ogu#45zIewh?bEp@cjwxVyY?E1Q`0+ zbJg@vD@-I5Zil-~MuY)}5?sC+_zt+sbacWuc^XQz5L}(t&hv!PiG-|w%&?Bb^c2bD zuQ?1_Au0B;gEe)hW~pgvIjR`#2tAjdR2Sxb*>;?DXU zMijKoJJ>_Dm|FQ}x{=*hOAlfhKT%7~Sg)sRX>f~wb;nWO+1GcS_6H61oK#~XP^bK zw_QrV%8$?Sa7G@q3YM4vvm8H3$AChgI!S*?XeP)Go}y*!6PMFk63_qWa=Miq%>?bm zSnvV|*4-4=Mb4>Ll;gfVE zxvA}jFo22#PYy0Bl;bPga$)OY6;7WjHk_}Bq|%w8B$y(2yOQ7BNG+r(5)?adNJQh1 zQb3&W#sz0w$i@Xvd{Rhh9~TiT>?%x&ZpSn(1L!)sHsQVbF8t4E^P7#5vs9_01j+Su&?w` zW}gor^6N_57pv>~6Tj|o1!+3jZ~M3xGXG!L2&1;qxz!`{_P z8=!fAy_Z%16u;`FCn%=7&rSCo3k7Rym(O7n-ljyPwmER9r6nz|fEtxCjUDJiO|qby zUI8Wj-`#YEPu3)ZU^Dy%O#Qsqd_X_%6%x};InFQm6?t|q zOM2+QI-KU46hi`g%v!R8{m=tBGU)EV!GICNQ*Le++wRc9Ms~=vG)p+MQl5FVUAD{q&+*L zX)f;=;o1hHqZC&Jv6@kO6L`rdM?v}?+cgg%71X2?&7TIa}&_B zoNVzd{l>`_6!S-M@1$Ai#cLpKGg67Pc+OV6*c(_rC$!>=b|FxmKN&F#eQarxR`hlS z#B-WQqIxlrMyZ)XS~4H zd*(`rj4rm$2NpBU>V33=4hC4&|3GE1eGYnK(npd{<7mdGRdZ@b(vOQ!=P;T!_NQ~SV)w$z@T&vM)r-x% zS~|jBnFM$4WFvm+HMIwTiGKPLPf#=m{ZPu&auoI#`?ySZJ4bl$ zS$tVF=wS>RC(jbuUZ{Am#|p_o9(09M-vRMteZ9~V5HGEVmvl{tw!t9i3DJ+A9}S3$ z6T^W?yFVgKjNvKAmxTdL7ziuL)r*5Nddmg%w2|z_XSji(=f{nlapc7KFu{i8l#waV z8<|nrKUZifgUn1q35GSNW%YTzgLomATWm)4NFh&-1CO+Eq>zF&o6pc14jHL=ZVp6I~d&LAEJO_ij?=ar%~nf!mc0 zVY+Ky2swoXse?TmtJ69#3t{FD)7>RWd}rGtbmz_(-i)Ev$(%czg(>#IFg;Q>hc5^o z(pOb$#4H5ZbEwWeZDCrszwM1B;!*_HoF!5?vF~GNB2ZI2Y&Zgf$g=YhTCvFuT+l#@ z6S?`1MCcx3YMU2We zy%gd>jnmtyH^}^E(_9^K|ciMT}r_-I_7d6q>h7^U$7^rtrKy$$l|UKaX(eg(@27HwR8*8 zVU5zYWUro-WEk{;0@aIN7Q2Qz_OxOES-#Z{ApmR*%Q~a!%0GGyTqc*|4lRB3 zK?uZ16!eOixJIs|>X85i)N=$O;Pl8EDc|~5=+PTng3J0Qj|Gc*J>ARtcfk<9@HTqG z{;mS%;-C#EYIW1>%$-=#u4`dMD$MyZoZN|PHH$&>l78q~&Fp{qTDp6?($uS|-d#9I zVK#))z{g=8*vUT znLD@4+hh;D4Ps!^4H#OBJ~UQYWm=n$-9XpSl3r9|*W3W~yyYf(*V-0NojGQ^nTqRM zg9x?`+WYe9n<+8DQ>xrbbKF7y@@-%-Gi>bzdT>)8*3Xl~6wE>wYq&tG*ShA#<3c~1 zxIoS42a8BClL5|5uR;nfqZ1iAPHD+mBMF?*($z>CIHRR!AU;;o)r&!{B)E`S6e1{Q zWH+NOd+h?m6oiZl`Cqk0I9<_s<3VsX9C$^w{ml zKiD%bwqVnwi91E>czwI}W>oHAuiOr^ZIoT2LUS5mC-|eAji^ALakhX5mD|{RRGOff zw)`dUr0*m|X0^{zvnkWI%pNNUo(xgmDx6#D)NhW(;t$}3*cym z4bwf(#P>ofjjUviv$wyOrna}wBR0ON1Bc<~?eV68dHX2abPrU^;ry9<=m>?&^3L~j z$4>r{_tS1t;+kJtVt3yQaRtooVl^M6KLe*)e=i-t$Oszn(?|&GMujYC7Umu35 zGsAX$g!V$83w{LJ-C+K%k3g+M@`;bauQ!;1?d%#VJYzMIf^8~ft} zv=toO{veHZPjj9Jj||5Nvyf_o^BD(mqID~I3FPT&WGBjU1cl-UG}AN_t}xiZGpiS; z+3y~te}Lll%TLfH{c(_8^AHWwR2%!*MbMP#lXN?*%Uz$O?R*sVe*X* zo#wmp5D_Prr(D#>gAOw)jUc`dF{vUL=X$T8<+fAT9SQCAOwy#!ss`)xc z+1EY~pVCyGJObL+t3UMxc$_}<1z+IT~C^s|54h4 z$Gwk2X&PfcdlX&@0RA!1$8g^97t$iF^YJrtLO%Jlp$LZx;M*;psC=~R^=lswX z=h>}~(>*8W`N|C7(<(e`!|Lg}a2sd616*(LVIc~**UfQn|E6>>1)YNjJVQq@JwYAr zakQgTmW)VBTd_A>fXc}&i*|KvL%UE#j3gw3md+uqYa3cJgH8Jrqe1qQ3KRaA0mq7FHu@wzO0#Y3w|Q)c^dB^B z$v^xg%;gQ^u)(H22zs2@oF~U14+NP%Cwao z{}!F5-K(%;<0!`tPa7_xT4s+vjB@nzbYFh|w;?~)INOBYHuhMx>G0Z?wl`sgFMsQI z=vq?ZZWCJhY9=Y5u<>bnjLL`tc$$uHZEMriKtqEcX*HXJndBVf92 z;%v5V@+d!xJi`XQ3#RO17rslc2Up$uJ?gafwP`K`9GhxRV8auC2V<=9)lN3S7+Y|Zz9mtFZ|-v{p_an}4_^cx7zEC!ebPfHHCoNz7)@I&Ak96sC$ z&+4Cn5v;JY&tT(AVQ+ngo-XZg)1q{71s8kb8S1b{fGHUaA`=1Qo(7hI6&BM7^WmoW zG)K}D3I@`3#c!Rg@mcta?|vPkXO>CN!WmYbzvEf@6#}Z7_#vGn?fK9CkS59Q!8XHH zjr{?{92joC1$O4g^ks1JV?TjHJii{o)>(BsxNm^Mxd)8BX4k4*fZAaPtuftn7 z@GfR@lJ0jsYx>2}akQyRS{Z+`MJIhf=Lbehbzy8E^UkB}d17idjT!)ER%+V9_CE)g zZnp+wI?%>${vUA6_fpf_u{UtmWZK7?O{TqoGv340udw&M1c?5?WSZF!Rd@(4&JeMx z7wL{QifZy-e zni@}~eBwFH-2-QK^`b9@@(E<=jL*nOBSUAF_+Gsj=Zz{Xvd&a-!0!`}Oz_>oI^b=Z zoBw)E^W+iC{e$aFhev|EduXJFsV{LbMG?bMr=99Causci&}_Jx0(ZmeBYJ>u*uYn*1o&Rbdp5!rJGHO zk^_ojZL;W$$qm=4tV;VR(lr^{G6xKtRB2(O?ozs(= z%A;ij_yTGsua=xQk`O{#x(#VV+8|xMcs|Daz|mjL+~5mPhYddkib!O|6&S{{=@_5H zn~w1wZCJ%c%km@^TBuyLzGflD7rfw6oI=8$4njMsY^;n%@MH6{17)UlkVS{fOntj^ ztJ^HDyqn!nW*Q)2_QNvM=iv8YyG)msOeyvl`xf39-DBF$K6e*3$`9=}nQ6es1z!z| z?KVxA=6nLX|1KyEzus-y2M?2JkLkLdQwpfa-dqd|#2+7svAg$}s?o)l_JClMimn&2 z^1Y@ZIN?)!O+VcgR^Tgw8T#$zmK4@}4I&Z23@dj9TrK!O*UsxQdCKmR& zN>djMEL7glJp@N+Kw-0AqWjjke7MGkJ@*u}!|SU|&tN#9>kc@(AUF=?pEP4kB`rQ- zmOWYxne&#zrUPu|uxU3`D)(VHtuN>Aef<3d>C&?D?>&s^Y#+rRe&Cm#rg57$zwCJw zVd@rB75i(AY13djgmZ+3`^1ifz9BeZT)N(kKY+k5iy2O9RfTc=*8k#V$g-CoQ|``M z!IsAG$E>mwvX_k<0V5e_*Bvo6b_8)Hr`7R>Lkc`%B5mBi>c{=7xYo+>ISEm(DDgWy zgSa~wH`(f*D4YXJVbn`y_pUe;sW#F#ZMclG8(>;qXHp4`$>mTk0}Dh_*d!lDvS`$ITH zSh$jI#^_=S7xD1oGt7mety8>$jeWvu+S%KQ z3qSQMqh_@?>@mQ9)sFDDwlMx)K#u=`8KA9D_{(Z5arcNO=zPN+rEP5MQPVMC^qHez z^@HpkM@`3FQ4MBsoIuv$Fm2p97D?)h-4zizK!sMneh@U3)DMRC`Nb5jj)WV%aL*os zTvBXvtw|`2BsmJWaB(tgsWpx4NF=e#*y^_=aO+u8n8D3*5%%#~Q`DyLZiQf!FI!T3 zpNsMLY;ibaTEqp%5^s{9B4y)($w71a`$q-SX|T8F1;{!lJ6dP*Aazxpshha-Pt=)4 z`QbcSmyZznLcK{Wl?2_}iI{| z?WQH1>d?Z9qS|?*VVvxMgyk2_@?ehy{@P(7=`aq6@bksm3F$$Z|D{1$^5D-niK&&6 zf|9Run7&8Gx{@mqxOyiU1dfCJEn|MZ{qDsoIIJ154^KhQGQ3&1G!(+b$@4Rf^~+k= zz>r^r?gO@ss!?H0)cA8ZX`0WV(+|C;4TQ?C~b(f@${KCesJXQwYJS>cJ%m zJ$`=s97mamIGw~+tfQYjaK=;)KKSGr)82K+L&*sHf1O=ze>9pqGk3q|o^$Rwzw^Oj_A*$cr;FIL zVlgaXd$o(1YE@Q@Z0}UrVw2O3lE%_Gm0g6n^0mrxOeLLgC7Dc5;B=m*TN&5e*tTwU`0jfJG1uXaUNA-3nVzR|I-sU;x@3>D};zBwb}_S?PC?pmRe&tG{eC#E5|QGac-b*E0`G^ z$+Su~C2yJC5rT!ZvQYzdP_EDsGwSUQ5#v#5used{d7Ix6#wNh`wl^VQ*;#Re&30*3{Kh~h`0ae40^{QH% zLaNrLpz81ohq|yT+om{Gje79b0s1P_@>;)}lzMRBB<* zR#>#q0i0@UZ#E1qUaVs?CLun;dZLBRfE$`ELjTdq)-YFg zB)S}|+|Z=%=#h5TC)5NvJ_g&;XvD`V$I{sWu;HsgM&B47CzFIr#;b`$!_p)q^?4mwt z?hm_9+kQ56oGW$@FEn^)`TFssc|WupwX}Obr0HTzZINFt63*>s<9QDX(GrSj{s9(% z_2s<>plED@2$2JO1Am<>YWp~td5G)4v?OhK-B5$UYLs(vJ8aTw}QNvL- zfleJ_){)I>g2Q1=lpkh$gm=V&BM{-r{ZzddmQZgUVeZr#72!K%+}c>juF#(cjTY<7(8Fx>&G=tVBTvf5LqWa zvlNJ)&~cIC&Rgx6)Oz=XXxrm#Udbxaj|li7FYy;k#EXLak$s7X){RU3O1WQI;a95s zN;^;vAWKNA>3X?ZuAp%zSdFPj)dqXh2{sBF*3Bna38s?mx9I5qJOMVQEQr>Pl2s~8un>6VYJ_E6C9}7AGYOTup-f-r&xN@7+CeT3O{z7 zeyYL`&>D$$J@G!>%?}==Fc-85SDb0XhyXUBc9^qJigd{L=JC)&|50#9~EYTuq7WqCfwU z%{Iee+<@1>d3l?=wZknyFEmxXFqD%A`U{?Ag>)-$Jn80VSu(A^!8Dc*Jj+I4nIFCn zE`BGUWrs2LDC@fKEoRogEyfrzpQxPbhcWK@=h;-PgkL=mQlpn}=6QA~yYzzosZf*>d**o|;58*`d%hTizr z)2wI8GF9R^3FcK;o6CY4b;Ko_afT@-RIug@ORrk)2mA@ZHed{lfpBHXQ0Ha=GPeZ5 z9Sl>)M(D1uP{9TXqhSTXHS(JJ&wEqO?A3ny-5Ds7N}}(dVXKEsTJ47`hK8~Ni3KI) zW8rumc8C z3L6i#dC4m*--O%#S6Ce)x(jc3J7P^Zz-I;ldSPvK0GY<&groC92OuVb3oa9BPNcz^ z1!)L65L}QCEGfK)^9-4mFVbd(*Ih@78#PaO($y3w~V+y&fPcWEDpHUt?pEhD(>I2u@|_uPh+2lVS1L z0^dti5+-M`cJT>cONflq{>BQW+kDgCSgrhX>~E}8{xQAIELX{lgaCx)m!k=^5H_=2 z;=m93XZ*)(_2C|hRG8wFNc$f!4KNRny#T%;TiCzEUnpF+zz6p6>en%VE~3|&bs7p% ze46M894YUH#1gzC?-sg}eK4D;^utlzhvW%s1IbmWe10o)|ex_gB& zL&X~`uTakd%OYKa_4kJ5748p)v4s={91dShGbKZhfD~>1keQQb&g_IYi~OZ`-(WfE ziIoCuxQ0+}#Kr)GM}%g-$ujLOU9v%t5`)*2oSeX~*JPe`dOTIQi=nsarZ+*qU3BnG z);uES9OR<$Z?VQ%0(lC2nZzpV3f2i{LM?FTqDaDe%LDE;-SrkbG#0c*E3^-A-2$E( z&Rc8VX7>TT?k4l6Xgx^p#|@-iS3abDc`gO zeK=DRxhLF0^#eT|vX@s>R=d}V(EPTLBaRO6NL&z%0uGh|{0)YBWpS}PQQnDnpbm)8 zyYH}~ae99wc7{Ty-^S{#{yXG?2;KU3whEz&AVyO8`&j>)I=uo|8DW64`3zbvz}fo5 zTEdEHj6`R?3m*2;L8BpCjmlwViAqfP2b6GrcSb{{SaKVg-$^F!88$NmWk1VYk3!CJ#hiLN|TH0CG*oKZ5KPp}&5_4lpcpYCp#^=>CtPt&xfI zY0+0~IE^?bvY;!^v3GDmjr_RW{|WmME;*mFIg>CTAP7?CMK?M_t!?sz9JF-Pr>q2c z9}#-yQ+7RGulS6$;S&9ft)+|8_;8x`InK5s)cHBvkOJn)SZC%4eepT#!4v-%%sN~v zAU#4mzmQb{CAnps%i7l1D`H#wph)PKI5Uv){sqYrAP)axMZ>W>S?35=F6m3Q1uzrQ zYrkeY1&)H{8}_rb>5-hJ7z1mc@WYi799%G@AO~63uf<7-{&^Drrzr&_DpoNUJwJtu z{&{Z-7j|JOX}n3unjID{$jwhJT<{u?T6o%IKq7{V+JQl?<%$D~8reA@g`ZitIOj{9 z&NFdwOy^nS#eM+LkIF!eoReTDfL-RIP1CsIIMrQD-ql{-_MvBD344#3Ev=4+HR8L=@!9~a2nZak^@W|4_&}x4 z;FEAEoFPBO5|uS9bGEpl?gYoDrArDJt_!=3ET5bKDeRFM9DyN7{Ac3j5AiaHxt7I} zUWsUhbR7Hny;#B8B$78E?D8tUT0E0m0C}d>dYQC}70Kb5veG+da)b$>M`!XYa2cD) zJs6)S=kheVJ(B~Dj6TfdK&Q}>imiMci-7cAW#xp|zp(OKaJeRniv@Kki_ae#!H(h$ z(B0oa;MM-a02Sz#I39u1D#}ft#Rc$0)hrZf8|G+-`b|HbCfCFoO}=ArTeOHiYQc-Q!g#Y6AqppPST zNiN1QLbhB!50`bheD(;P0t&KQ*}$jMGr4@?XpP=M@1UtDB6Kd718s;>?7V22_E19B zLGyy1Owe}-WFo(v=c328;`fwhwz&gCzPd*3`PG+ejM=Z^>qP`QBrRXopL%mcVW+01)!J8mieZkV{1 z@f7jcQps-;P$~~pb5Q80Wfiv$#kF)bZyKHgO_3ptm?P2SYx(bC-5%|0<+n3aw}*bV zjZdZE7TC$p^KhG~MNhfT!JrC0 zdiTOZz(BXc@iJzCW)P0!I=9aywk7}|nPHY~Ss!tSdaIlv1lJZR1`pNMJJ9Jyo-o@s zzCeyZ7XoE~BG)J-C;oZ-v97#@fm^Hz%|E;e18@fX{x-zR9MlN8wVc-oy$$g%;iiOs9kWWbo01qf1U%)x?SKPF`W;xqsj!6m_qC9y)@#0sGUbd`4JabQ^U6KpHk6M(}aPwjbh3&Oj<^WKy@Zh6OOV{3AJ$0WcIO zKu>Cd(n=TT7TWcg5rgI=ED_LZw?Vp>hw0g0|p1tTAjWP#CE%aa3Za6 z_QNH(Rd4x)gO2bG(DrGh3-~SmK=4<0;$%A>`|7>YiZl9Q8{0~csbB!Sut zwgEc&xqXq$G`^c?)Ge&E(wo=t$#r3n86n8X5&GWt$3GSH6phz+{0s8cV|T%qp1!#T zJX?t7T+7>&+|gav@=-XTiypcTEIww|+3WdyOreQ4@Xe`%mWZynchgS;eCk4d7rG9k=sW zlihYV%t+i_Ex{feoG^nS8(fI689U1ymNMaa zYA%=eKHM*LhC1}y5@0U-U0$0{ywVc!wb&#S0NuD7Vqh!n*$v_WOqt!-cU;7O#kZvS z$_j8EEfB&(9l{30t4W+f82}~!J-^~>QcFByCy?B=K;i>_mdgq+uzPq$>iX|_R6>>a z@Dt-BWs0k;DGO*630=019{x4AQ1P!Jn6-)jR}BY)>lQ|~l(vW8FdBCvR#v*6+Dgav z@Vfv2Qni<_9J3C66Po}TV)*Ezm-w`aZDp7kiD!_VC>ZCC)PI0mDS037ym(1`utRji zKE80QKQXgqa^&ffR#Pf{w2%Agg@b%tG;lA6$KNt~Y(KwzGG6g&dnIfwpihWZ#6u|u z_(m9+Vp!9ndk*lG!jMATUikvNKqn9Knr-sY0~~=ZJUIWC zh%{nYgxsVC#qrAO!QWIzUwVLpdcc?QL0$?oT3lvP`5|BoH`A!Yd=hOw#J6Hu;{SfW z0ZU(+3eX3K`AnQbk2wMYR79mmcsdM^7Fzoda8fWfO)xs>JHi7qg=S8sN00=`1grxx zffw$w!qmJ@?%v1F!bUZ7?%2H|0F+PEwJIZa;eGEtZ$;UwZnrZGazL?jb zU+KjoY#iNkjOUE1P3+YxW0Ly_`tTUoz*1UpoKH1XN&#RTbsp#3Y7i_PG9yl&G&E1w zs^A7m#G*Tn^Hrv#D`9fZBS5-#Kg8<+;@vG}i7X=*nDoPg;et$-Xz(0@(tYy?pO{n{ zO?{M~7KHlU#{@Z#j(nU~FjH5zB+nD|T(SiB@9s7REufWUHp)6rZV?-hESi4%1XO^f z(N~|~i&IQqEl(V*@=>D$GPBqu4pI3jz8AFY(bN1sy8AT9MOgfQ8avCt84%JiU|b7= z_)$XL(l#T$0GtBhRh!W@^zj*f`Ea}vC#0!;Js^QOt&xy$VXu{TnDDJz`ywx$EOP~6 z6&WY4DW6`|S6+lB(@n`Q@v^d3QOux~(co7yJW7K{De)_%ex=N#RC|DJ2R3E?fZVeL^Jo! zUC(yUIrrS_Pk(mD^A~q)vRJHQ)8bqpUDbbKQ$6jTyHH)eCMsuynG3mUD!4A>4iV3V zcO4*u7d~^)G&m=!+pj1u6Q*M#d*%c=NQG&&oP2;z$JCd|-hI)qWiVz9C({<*VxlS; zt{RM4WUF;r{SC2g>7KJ>1=k$U5V}+g4Q%e36OkqJF?6Z#pqG8eoMljbr%555>bA1+^9q{Crso$!mV_-K=d%{Y zYF!QmvZ07YvMwg^v%D+>#MQ;Jk#sWmZ_9;vImIR=6LNFZqS)pFF-5l8J?UgTnvrd3 zIg^ad$)yjrY(#y&>{yv|MwnMC)|?>os%Op5H@40Q?Fye-yZXh=yHxMmhC_Wbf?vzx z@R|0DQ?kYC@GCYspGu~)8L@iWuZml&>bKWkw%fvxvu{}_l)2!jds>AE-u@$NiPPIm~yyL z@&M2kUw`Q2%#7eHm8;QbCA9d(?u5lEbofQH*_KJgqFIM?Wu`UiSJ(G%Z}D5QR#7zT zjhdS~)I%HUHo9hnR;|5O4RDDKeU+XWp|8}%f?u4EqUjO87(f?}K0cNm3x3N8Zw`po z=e8iLJsWCN&;E7l(!Nb<)5a6Kre}oyQZv4^xWM7xuTA>NZDkkVyKx)Y)ion@m&yzq zU3Bv<*xPKTwP!5Duj^$*<`A5n5oSu2#{6Q8Pkl%OStO8g=Mtcul$_4aJ7!eNX4{4# zzmBmn)xWvCzh*}8lxp|-#W;o~xD;)8fK8p(v^!uRsK+mQGnoG13R0>^{h+1+jRt9t zUyW?Bw{~$dDJn9Kqub4~YnedA392-$Qd4Ad}j_~m(@tvoqIjwGVba9d# z_cu?gTQ4c^N_at%LPCssEeWBzftR*&_D#!KC7r06RxGlRC^B%=y0{F{l13e5T8%PU zucca6W0zF#T9^@LOViAFb*#<;4!hQ%T6ISK{3YE-JBsrNcy&0$jPcbd;xHd?$QXZ% z+PHO3TL&L*z}wuS*jJcHNC+4U+N{C&`0zu;;Ugnz6=JWOM2mXs)*DU?&j<^p!6`=H zl2;t$xCrYobS$jkK=C%Kv)guWl)SbumyJSLjcmKTa%@HzE;Tcv=p+*HicvJ<7&a() zeR;%d8Bqi-QVrpkur7|Mzu9)+{LqXrRB9mQ)f>){1Jq>dV`YGfd%8u#V3NiBgT6S8V0o`MhEue`X~y=e3w;k;zSiD)(&h(#A<$t?5(K_$cp{b|9wE-G}Vg>J9< zvkg1dGv&MJj90x-QMtufcO0A%o$8y*CrMuYS-E9zzZX0&iPKrzl$;gXGW-paQpl+0 zUCq1GlGS0bxoisuLIFt@v-pxbjSqMHeMygH)qCdb9xhAF zi9j4vs;!Mlr4*Q12#K@!jHfM=RL~mevG^+1sJ6Yem$8_CYnc*Fj?H zd-nRycY$^y(TufJbK1yQF0xEm;**ZL1gSLX7JbqVNh;|kEk$0R(by;L5>ln&{TVSV zVeZ`-Loi8VQEI9$Y}kbL_aI4Wvwd)1<>rWF>Cb??txHQ0^#}W|uqItXywp~Q!AK!F z8WR?bL^zgArX6uKQK1g+-+5}mYwz${!4yTrg*C)wT*6eTp%DmIPRzqb8}VquF{QQe zh5c*Fh9N1{$M#oU7Sv`Ra0zpznqx-Ip<>NIUg#~pqm?;rDh(AIhsQW$7D+X6x}kXp zXsVNi2CKc7;}de&5ITOXo0v;zFLl#ttem4>G0Z7vz$*qh6zA33E9&-kYD;8B9Q9g~ zwwRol%0{fvUFaVdW?aLgZ(i8o6&$E=QMHP@D}G=-NWZAL?Q2z;>4toad2fn1L07WuvX7xEV4=~ zPt$R)dZyB{QE>@5t*@M#uDrS>&mrKG40R%#6J1+>}W z=2SYFO>%K>hE}Uyb8xTPdvM>rY!0eGG*_CNhtJK;n^qeS?z`~hI`!^@>zZ3NkVjmC zvozy$PMqPrC39k)gF2HFJ$w{_oTdagoGV~WtG_yUbZat)WjKKDV6#NUjC!!@@MUdU zyD68@S86ww(*8t0I8@StvUp5 z{Z>`YuDDC+FSQ!ZX%>PIQP)@3RmO7@sT{yRS)w;loXa&=H`o)RIHe9$@7o;a4cn`$ z#`+lgB}!LT7rS4Xs?jU^ZcWk=bJUHwO#8BL*;_VfJ&FfXLBxLMuW-> zrnO6L`oksavxhv}gD$~U0+uf)cBupA{df4*5#L3rW*?~-)JSXIC3s4u@;S|rf@1&9 z!-AOS7>32f;hKos;wLIyM&HXDQ8X>*fklkiz8!J z5}i34m@Xt|GD3|c&PuhlvyyF2PG?|8W`q_=tU*={vaS@;S;3Qbv`EdCbXIIpZ>W7M z=}@;FsjT$6gppDo3z9g<5#Fj(vtvZ5ezkxl0)##KoSlZys}|KQ5KA%Y zoJ&Tfss_6!2lb)0){+nt6VvLJqdix+U4k4gs<2%-ahA)g*_>`#*W`2)wk4-8O&vLm z7vIMv^=(JbO=#RH#I1`(Ur$)9;jR=RCC=t7VJQ7#7iX22a01Jj*pjoPN=sM-i$_od zV|C;NuP8SMEs8L2wI`OA0{mU=u6sL0H$Saw7eBCY~Q-WYmPOPrB zubd{{MOzS620)`l|( zy{}X;qQT-Fa)U;47E2itv?fsEDe z_W?vjmdJ|nutD^WY<<1MD#xfN_J7W>L;eYLm*U#YLW zPj_hgR*F~WeHQjgvuTg|;^kKbI-rV`O1pi!e0KVDQPXN5u@58W$aSLwa6osv-!tg; zxw)O^6Lq6>MZ`IrD}D9(nz?scee{Z5mpXl1Pj%xL?O0(Jxz%4^5!=`1v-4>d=a3F? zHeP_rrHPE5etiN$Ygm*67(%yCS6ya|p}GuUdVIRK0P2$qLj<*?1KDI6L+lHS)s4cS zPjxo!QGa=5V_9q1(yHz|b!0F9(xAI2+QMQ4XyhYVTIyHFPaSV;3qv*|llxaJ)gIr{ zQd=0}x_ZWkTp=64d$;k5*16B}kyBUn_l1iysnKk*5hxuc_)hDXh6dJU41d-bes@@$ z#juOMTwh=cQg8-nuOwaSIs48{-MsH<4!mylyuD_VN5l0nbQcXyr)zv-8t}1o8xx0f zQ(tj}7K6+>e7bXR!6(*mvKs;4bLDTCLuM~=p|gGL_FZJHddg8f*y6L)_=H97x3_or zERCF`t-=ByKvV!cxluFXn}|+|!#*Kfob$9csxg-^Seo;gPj~(eYBc<)V=Wm|zwYo? z4!MM`QlTM3y7c>TrZ zogM0H;`S5cuP3n)2szDBBy^-jv$i#nF$=@Uh5t9r^#fr{J=3(03;_sxHUWZ3AtMB= zi=*n*P2;AKuw6YC*sCrzZ&d%$WH$}3N?+A1Y*$3N&RkW*tXYuMcQwc1=-+VW^6j%> z%bc}Z6axWJYfZQr&h<0qBQ3}kTBE{P7&g*?4+#Yr(~y?o1v|nM%A`1^{>PaEYa}p% zfYI$#zkQ}=Git_oO(+Z<>OapM=^VkEF$;UhG8~4f643UOBHYBBw^~}#OG^@0w6u(v z6?EF;Ln9Gkej+jnr&|pBC7o*ASw*0!IQOsVgnkuP2Y$Cp&g*XKP(bu@O!gWW=?v>` zn`~Z;ag2@vkeYJ63I>V1*crBE;HZjfZza!>Wi$+BY()fRRclM--b7yWxCo2fy0DLi z!N1%NpINZOiyVpefalPf9qu%vk@+hMxmCe7lwEB_JsANIGxvx zKq;Ut!9p^xo2;3lav>g{2N4@5RE{tI--#YDL*Ni z7tD_I3MdShTvUyAR2~?InpbKvoEH}~(UsOWvQ$gQ0TNfg)N!0lsekAYHYZnF39I#; zgVj@ci)_H2uRf`~m0M~VZNtpmoUq5$yE|PQ0~(rT58RnRbH$v|O)xKpL4S_SN~?3~ z(XOL4L7kecb>_*Ey%*6Iu7pR3X~T`F`L0`f6|Lc@M+lYX;LU40WI`@4MmTW~Lt;#r z>vDPCnBdEcgYr~+K4mdqWv&}e^MB@}SjFeYRfR=){9Hl@L3?FL5~=0NzK`aQ_+7qTbto&^nSAa@crj z3uFU!D1ETcg<+6rNl}JtlkbF8*QmekzYWXmdDkQzf^UDr&NU19+S*?APp%{9d-I}q zW!#H{?E^#IgY9j0tm)xECfh5|+lTYq5zqH{w64bTLNd{jmgNQ6K9pZ}%;qOj39b?w zDy~n1kmM0^rCE0xyg!=P*VqBbXv_&(*@2>3)|1CF42Q`o#W5FAJ?kst2q!SqY0&U! z9zq$#pkim2mU{9N0}vQ^FX7Uy^&a*J`BLxWI^PPiTkk#V)+JHGEoR-Tbwfv<_gJou zdUl>kxZ%gjPMFV}Dd~>LklhpGV0PnyERqNmd>x;lTKR9S1X|-$c$_hoyYRfIB0!fUyxyUozX_ETmLkHB) z3?8^N=|<#*?k0#q$j9M9{q>;xumahyMJxcc++IqFiWarusJ6_BDMRL~XT3+uv`%mG z4sVKkgnn&~{rYgJ&wu5h2A?U9;3>^MWPrarB8FZEeqkm8)!e~1nO*9C_-dhpKI+?Z z3D0dnXoxp3(H)u8)b@Y)j<0t`kmK<1uFBQ^p^b<_867%Ay49tjvBR@kw{sq$tJJOH z);VrEqUnW>t|Cm=Z4#12AI-FSX!saxWAE^x{nHUBw@^4s+H8l`XwW0H@MR$=xpl=e z>^2;95zR{~MBKW9nR1Ime07Su#da>)r`)2SKXXtlIqUlZy4En~76&=DgKk|Bp9d8n z?Pw_uu-hJX!xF`!4qYv%h@w}n><2*@q1NnSk`sJ1q)O5@zCd*e9wJ=`;Xc9?IUiXdLMWpOH&32E_W1>+$cCL7YUVw#4uBdsni3QH z&$kAS{c&XF{Ivc_RGYr z4o{AdUiJRT=4QpZ=yzK}um`aFkmGN`r%Goe)kZ7vzLp_bT3hP{ zq*URmYQYETz_+1F3qgpB2pz96F=K(}Judd9E$zI*{8g3v_*Z*;B4&$9lOi@?my6u6 zpgwd}EwJ_URaIVzR|%Ey3dcOCr@1rDRY%=zg0FUXRfiGIB`9bM+MwZ2ktTS0a#_Ik z@k*?QqJHP9-3Y%jqD8>@oQ`6=pB4IvmHLsaeD@ij?3gS%i3t+#1QZ}FsQ3CSG0yK? zwc|uyQ((1lnE$_~fK#oh=GcU!Za%kvSObx_KY+npW(yCEg7vES4T*F6^ zEbTAIDQ+gTdxUXLjs2q$T|l(D#VIZT`V7I)<`z3R;}1l{PW~L#qn(6-v_^-v;a*t#9UP4aJy5^2?SES|)1J@DiA*#YlZCdZ(8JZD18Q^NN@>O|j;}24 zZIHG`q=p%#&@a3cZn!P*-_jNp2O@k=ycK&0*|ZXZx5R=%D>b-@-}gGk$H}qS~KMsROay8Xz`o=GYWM z6km~cH+1pbhTud)<0NvU!mO4~PBheCp=Z>%#ge|+;uh5>*Bn&;7OSQmZnZLgYQutC zY;nVB?N-mlD;h?yi0S|;dE13yFs-{3At#Kv^?;B#HjjtY_2DYI;8wpC-vwrLhIgBQ zfAyd7rgiBQtX3?GcZZLcjkzrubs-Ui?fT<{6~F6}m+eu6Hqlov2`*8t?<+D-ym?4{ zV5)kX@v)e#sLxJ)VVwkF5rvi1lRBn;FX900ZjT%1x6ohU-SqWUNLlJ#J1dirSVqUZyx9V&6b5d;bq=k(}y- zQ&s=4M%ZbPhF>EMA1tU6X~dldX7&t4PAHkwhvbwu2=6Ac=}ijuP*9)oZhLB&U8nd(}>#^NnT+ zOz(qA`JQ;{Un!_7Ag0tlWe=T#(7S$zIv`I&N$(}FD<#5dXeejd-@_aiPv{b}xy`ttlH z^@jPAu=O9A-^cCi+#clF;Nm{GAi$y7w{XtqaXJS7%|HgJy7QuxtL)#UoHGdAf3G8yQiL zE!p?fI308UW^^s;wM#p!9dG!^$FuN;JU*Tg^^qkT1pbRlmabvWmYUT*pTgVH($FeC zHB=;79OaoyOF8~%b~^3z&Z7L5b*}AI&n_Q>$$!hT{R)r;k2clBRYLTl4pPPP=r4gi z=%PMZn)sMgO-%1qcU?VFqm5uuS9+?er&6`GQz`E2&8~n6TKClzFcj{;`fc#PiRZtC z*=)Y1u2~zW*0C&V^J#XMgp%D1FP|PuEF(Auh`?jcxzgx-3PW&owXcYfnt&lfS~L;j z85C+tA|%-$cJaOAOoQ%g4K(P!)>wmXThFT1fy(oc+uYlZ;|2|ww}UI388OqKE6jlg zONPhs#qcccg~Nt!4%Ii>8(?W=oAJ`9g}j_TuK86R4h>lfhX?%kNyM-ylY&wwN{%3c zGG};DG*1cHX61B)y)1MZE5j>q+o|4v?TPbBlh|MnH7O2W!m76cO)M!UEJ;CcNXV?X z_n==oYF2=;7?ZcYo()85k0Zu)mqSiG&m@9lzf{p12oc8urWJU+6y&U zlm>2G^0*T26*XSX2F!=F=4Ja}k^S>Bsku_}wTI@KrM-1&ceIr5gKBR$$kS_XxI(!{(C`o8AC%3!?e zEpLe&k>gwy?-&%uOJ#FL+3}UKIh5V6UVdF{&BCA%jq~}9`5MHb6bLFC7f1Os-=GJr zxEu6sT4#frrj)*$B9^6NjaD-jp7aodo~ zJLK`W2Yu~r{xP_l)NfsHbM>PU>^f%gKYgEmtMaKKJ2yz!@q>CFppJa#XV7y*yxZ>mo_qtdiBR0QeB<3 zlsy4kc9q{ynK*|G-D>7Lm*_F9aj;^WN+*?6MvRGWK#=dSgVP((Ln$s}oftH`%s#H|S2GbX-)DV6blW-kWUUbbMJ@H8{fg_?2(Rf z(i|HUVsUOPz3v=QB8IxWP%^GNlV(6|Xivz*b?ynobswgy!3cS75Cf{?=4!+!e*U(7 zh*n--7l>nZKs;S_CjLeq<4&WZ@RcT#+^M!hedOj1)e;=_R{%T#F@vq`e^XI??&emL zr$MiA=9bHLY1@U`jy-^roV38W5UM5hrduj^ahFjNDkb+_m2fDjpTETn<>P0!v{V=# z#yEnIu#ae8q}qII`5sOxpy{{;amGoIU*n{8If^YXHFj&&nxR1xz3Vk9#nsPYh`8cprB}Q=1`qB^DTquVvy8FUO{PtfsN`h+s!ofX}R)-RUBP*?+3J_DR z8ciwc0~gA7ORb`u;F}{ugWavkcnYw`HcnXm;f2#Q(yG34^-lGHne}Y?o2HFw^Bq0g z!>yc{5RxkMN(j1C-+4zhmm$SiWQ$pZVTqAdTd>v{jzkIHGfEKpm8Ai0L2U~OWE@+` zuB%h-P#fzxyXuZCOM>%mycHfEtbWVOhLVt2(F{`RRcbYnE?%SVHNh5o=bc^n{rR2G zLHBrqT~Rh2he2@W9;e!QSC~v+y#KBxx=G;#ok4&paDDP!x0cOJ3qfAy;=2F*8-=4B z+a1!11pw~TbTGK%l#7+`-9!M^qj%fT<=EY|6p3rz|Ln#tjUZgpLOUATdGYEGe44DA z)$%;5c+cmd#lCh=ZmYJehpc=#hf7wu_@)n)kt#TDOHhMP4L-bjh`oTJ%UhI-AG-G> z!JK~d;mURJ+ySPNNyZ{df`#I!W#P*x3UL$Re9;gS940+`WjSDO}OVcSVS?YF4(JZT*00t%;X^_G4B|Y~y_b zpm@c7E%;ry&x_x0-RIj_qd{+QT0n66J*^j$AO95x!tev<@%{S`4CD8bU+h&o9^4N^ z1o2Chi&sB%?T+nINv5`FElhu4+gHijS-uk2sJp&)+crfkaS#rw3DU(+eXR^Qz4%{W zFKmLFC#-INs{G=OPdV43#V4K_+O)AlYo}{k@bQtT@n4RTmWyBeWtL(*ftPox?q6@| z!eNqQAx_El%Ha@Ps#wQjryHBiSWXg>*>2XPf!QHxvH{=++62uE3MFHil5fExUHss$ zxA1v>;`#b&#mJ8)xQmo_z5#tSywbQ|DY_xD2L18q@MZ1+SJb6fP9NyikTE! zci)6PJo~DXj>gqbzIuGmXuQa9FnU(RkVpN;tF3e(uD1T(i3->KzKSRA{rxqxC$8-y zHvQq@I!`NB;gV-KJH^-hp=m*$`j<6dRuBI1xyq!d*A)cRT&(=_)0DQfUi|Z4 z1-cGLFWW(LYTe%#XmW~qzG>R4KKl3T$e`NskETnf`6TSC48Dwd=RZ!tvG(LYdf^tU z_-8xqXjMc1?A#EWLdnG}l#z@7bdr$zhkrgxly`ieES4pwaP;KK*LH6~h-FnmY-#02 zSM*M~Y_EFH%y#wxLZ(QXZKCA)U7;yUW+E`j%~UN~Cz)(EFds2z_ zY~ciUtCNuBU_>Nremxn|1vhe8XgfK-na5otHk&V&5_@So`4&$66uBUvMP-BJ@HL9F z6O!B)g^zZnKvxm)=_g2dIV|&~f&rso>mG7~D23b}@(V2T zcOEm97iKHSTQ->>k_vx5LR!{g5RPNSZ`w4ZVa*#8atOh`XCLvhM~{=8m*!&CqPgTg zG&kpB?71J9?5yepsixkT`oLX#3ujLdaWhfaJDWizQsGz4WIGlH_UALCqC!G!05^ni z#wnr1yZLLCxz3M`8c|{mP7s;II-KN25Z9AVvTJQx7V;D6!i!Gw(~Vn^kPQ>fEsHYy zK_6*ck4!h>gwt$CKlw@-FT#G?Qk%5S|m#woojYk;Mpq^}p`$IXn?*XmFsJ zm0)5I_v#r_!Hxld}IXW|7BAF|la6WQd{R7@6q%sWJWxh*&c(b5Jz zN$~PFKkFI>bEetfhsifdy70sZvC_4&Y?-nyvRA%E_LjkXZDqU1Ni}g6PK}cvZ7k2B zVo{IbLVHRKSfaotT{=r<*C0fBnh@-wD-b8N%8|wM&XuOlIG8Urb&iuR4g7GHbU@VmVF^hb~80g zu*uCnoh27Zz7SK$n@u}=#aUP;(U_E$6B9#|oUMD=NADqr%388`J30?K?=4(4Pb5MD zg)c7vyO;E0O&>Zfb~}c!<=e~txCrL#Wz|cVcQ3nqiCFPCw?r<#r1$U@)gpqH{jyf@ zgGfnsKAbkFO^ac$~U{ z^qKN83w!AqvY&n61^{1Se5#^aZ7CD*OtP+w#Z-AE3xJ8mR?RQcVF#DTtTH<1_D zAc^M@)^a=eLSi@EPW}g2o4!EKAoZ~eq*H(FWt;CHC(TYyh-q6+mS?2EdSEQn*HNFVaK-D>YHyy;%@3xf{?mKq0rUGq`$ zAduJiF(PoRe~i3pLeifn`&jG&2-e=hO%IUM6nS5N2&kB1e|`vaZe^!FLE>btaPKF` z7YUNlPm=#6eTB83BDWIK&))tp`5FlpCJIRI>BSZ`59bU=r)+*X5x~B%=!#i-@B9pr z_rC6<6wQ>r7OwsbX`>tZVu&@1Cd^hgu!-ztcYm5}WG{V|Tv4HY2;|L0_r)Gak8@v&J#UZX!?Ih7rmrc@I#gxQ0Xna{Tt*Vy00xJ zIAb{R7)j>(IU8l{6M4vAtP#xrZHTA&!VTZX{K!nvUGcn7QkYoQG zCP&$&-z9ewSK;D!2}}q-`{MV=|DyQEzfZn_HB%R2Z~Fl`M!bd3{{W&B6#l~>lD`v@ zW6%7U^IYN7PssaC#8>#y&rq{0KL-i?h3B9({r2Z1VMgU6pjv2e|?pVZ^_6)yf}ab z7Wh56<6sR(Ojw2p59z(uBn92+&PSPKm;QmckB-F*Ur|C9adsnR7QlJtU^1Ic;xuX! z?^+eJkYP9ffgC7H%6Pl)59F2evoVw_jovKOAk8mzFbgesD?z|4bd(Bm5SfJqr1@CQ z!bq{8{$aROP@6qY93Ugdfo2wlibai2EfqK_4rpPL051T!5JPjqa151%p~97aB7a2; zS>eQA$bLdw=GZGo=+1)lSMnZG{yLWc_uH7wg2HycMm)RVV@N`;h$rV{XBMHuL0F6y zg)P5Enm5(V;bdbNmsi+Z3SWPXEIpj!)e}f6poET1p`w+5MDyNJrtHlp>04 zfjP_Q1v0{(Dx=A*ia3(hoedMfSCS2^p*tYR6mO!vM;Wob*;)|J=fIhdB}7qo3W)ddVtGAh-h0mr4J?KqcqM&4#|A02$umgE9}@> z8UeH2wU#>HaWmb_{&oaE|EQ)L+27XEr#Fq1raH`ivW|9=F;=^tHj^P1UQgqslYMtR zJ=cnDCR;!Xq_WXDneQ~&G%tcX9EJ{-;U+hRj(Dq~IrMAK>UXOk&s>zj=4OfIHqdZ6 zChCQ$D>xA=jcZPFT-{LE?>5j+uFpV~v;@T@yMH5XDuV}ntnl(ix|6VH*3ueg*-Qs9 zjm6Cr?iI#1(=T9b6_-#Od%#97Vd@ro89qO@g?jb;08&?9Lhk{VYPM1f?bPUE7n8P9 z_g;8}WD6Kvzw)RES9pflH?{%<61#01-OcK@0m%ycPB-1b#8K0Fmf5Ctj*lJ4*UXdC zqoxh)_uJ^%?VWQ1_bTyFXHC5sWr6MVEtibW;X(~KfVeg@FvniqPABNVT)}fGy%F9T z_Jf@?3p2u9P7hMrGsjZ9=~HBswe6vYd2(hC-A~8o*jx9|@A0R9FLl~Mxx6(=9F1YK zbR`%q1SL2n*2or#zu=}1{PGJwG_Dp~VWY7h?4=bAl1=A%e9~WdA?`!b>+&}v10R-! z(L(J$x)ClQ*0>)utg!a|lxvaG`)M^~gk52`?Wa{`8UA*0KRtB0A};3bvMn#n<9B{p zo4O<>o52uC9Mi=f2FJRjM+WM10R^$m74+zOg)=FBSW^Y9+E`3Y*0D1cbQin2g7Q`I z_6mAEdI^E(jDw6l33~{1nJA)^>sUAoW>BV4s3U8aSlE9@rW~Y?p~a>u zx_3J)x0M#h6PQkcAOqyuhxQg2iVpl^j*7qKsUwZege!0L66wH4Ey2{Y9k3g!S~@#tAQBqK|mC% z#NT+#Cqzn2L|vTHj`OF)K4qcDb}ND|mfAC+KuR`b0wDc23;o@ZL~wbbKrO_k%)e(A_`33p_P`tIC+ToWeqHPRUv z2gV+$r%MQKN+*-q79-a#6}oM}({>EYFS=I?=j1WkQw~&lkvSkY_f6y{?QQsh!Thab z^v5tX?`xn{K*2W~=mBym8gOUz7V_q1O}xL>Nbe_^0#Nfb%pdla%jj46!8sn`$irA6 z{gRN2<0t7DjH6GUq`xF&oK>Cz4?K7UtwYN{x`J*aN5^CKQgC=t*6I!l>mrxQI^{#I zN^I9D+Dpe{EOd$<2gvR`MPcg{!gfFo&E4prr)ifQ;+0FTo|GfSjchl>K2#$3aBxqd zoLJedi&z({apX&~;lM>SoyiWRAORu8rNWjbY9YlJfd8kP&cOY&-a}u&h+p;4_hW8%4p8Be zIbPgR^1wYgK&xTg{cZqKvYlNvNDD{fn3{Hd9X0^9#=(sWcB~-f_ygnS;vog^A1n9L zleOUx#0S6XQa|f871Ymqg~d#>m&*Y}y5PJ!OL^(QdYsss6miOtJ-BGv$$snwO{VVj zf%bE3+(&P#)<##fPqJM7Fj}3{S_P~&4$=LUQk#eQ zzcLM+SAh3ZUYQR2&=75mKx|hlaPJ!aPDeU}HWcjhXM`jok+dy%15nF|CtvOS!UiHV ze12DiB@Q~t@o6eT98l1MR2#KB<~UAb@Cr8%(-S1fGQ*mdarZEtwgy5l;gce!3+Ho2 zl(}~no83}Ki!I0AE4UMS7WY$*P!U`_JECbMw~lZvg3(cW2#?xPdNT;-6Qkg8*iLU6 z2kt?qpPhitEV_fs=L9FdXjlBy2U1b9 z(8`u3X=PtuP&}vk7-|-i8I)=(rX?ezU&}x&hnB8cbn>>kS2~=*YZ&*jnFSa7)g-QL z&9ehn(f@)e`}9@d&OWxz58>fr4SrflXM(Kye3^m3$lj&rY81^pR%(4 zAcl3zIeMhk!>6IZl!2`=$lo)zVsaV-!kh;AIJ)p@)tqLL4B&#(IgBRA{&)IfM zI4Y&~o66bwAgyH2`{>rfeL*hB=h+<+J-&V()XL>OyFY~G?0JcPYHNE)G=~Dvtut~A zwiWxhOm{n5_yGL)vTEEN7&i`@C3AgH)?j88lY>0a3dUAYJlW773wClW%86y67jp)QN;04%qqkg0PaDZje1>-y>UzS+8AVQ< z4-=9{P8*p6#mtx-m@78bgUoDF2}LwFWX*ZKgYjZ6H@}SP^1M+}PJooOab%H|N=A7f zt2$4tOHZ5N5Uuj%ARqMxE%w$jz|L5xRFX&h42s zFu*cqjS;$QUkEuxgw(@0jn``(a3eAhp}Wf@d}rIEbmz`6-i)Ev%UmFvg$Vm#gdQnR z;R^zWbgXKPn1wid7S*}?EJEw|&%M4xLW<%Fvt%0Q@Pq736e`F(8;*h}+S&Oit=#Mb zEodM$3;DuFqI3^2&CLtUQw3UkW}1E$5`LfnxzNrYnxXIBH8rnq)%p!{2mA4sWQe&@ zyf7c5dnu%>nxJ=3Z-@oVrc>-(l5Skv9)jQ;W2q!{kYRRTlHLxxN=(5B9%VPA=n*;) zWDln3hsyJzrKKb+Qw>W#n0`<@d~9Zx{^I}mB&F$7rjcOXo%6JuxifSVjnA`>-%s~! zPC{t*LzzHWPLy4fp)JgurH9L+FdNu+4w@>>;d!_%Em{$M7ulGS&=Z8%Y(hK_d$Pu~ zYs0vfL_1m%s(TZEzWgfckFXrjz zQ0{#TSZ{M|%OY&oK;hgXt>Eg*@)B<)!z#|xpOz)(v3mXUJgwaYJ+!1=;4&=j9G9h? zIj*68!OaCjG8PM@GLTeGq#)l`GGb9p!Z|sG``Op7p+`UiFI_{Ad2%3k?!l{Bj79O$ zXC%SLS~`z(MB{rc>DH5yT>S1thQTc;0B&LNYpG*TD+Z9`o9kE=K)VrH7dw50N3VrL z9TR!0a6oE}x96x!Yljd_zhw5;#sSb*{y=w9a81q1uS zTj-7Z`-*goLpI>A)lIWAcLAB**TFiJnDZt0v6I(n76II!JK2Y>(`@>euA{pzm74oB zCA%A^hyrkyL0j2uI5aS4IR`(HU#Fnk0iY`qq%Oxiw^OEo5$?!~`d(avROVam`-39RjC~t-U}GZtesAyeUk!K&~wjm|r=~0)+l@HdujU8*?C0AH;>^E{JcHU+&ga{Vw>-VTG>%Jb2lBK za7NzsemHAFg-6~`dq`RT{L&J8_dQs+K-F!m_Jj0ikW%aKp#yka`$33cGXiHaoTd@9 z#jd^weuTEdr|+Sc5a?xJ{}86qU08Q7?dQp%52NL7w(wzEzor}Bmkhi5!_Dq4^?10vgO7#NgIUP7!>5cBII;Sbyae)eopKOmIdPhWX^@zv zqj1&126#I*_6Bsg{hf-+mHS-2&VGDQY=6vciBi?6cv|5@d{aLTF!uo059N zmtmIp6y4vTpn$>9Xt-uE&1W-KoN_&`sfP|Ol`t~IK7(3E!hE_q-XsKkCa0hvtz-q0 z(!5znwTtYkFPQdGC`h{>rf)Wd+YP0Q$`$zv%nRh7kJ4W-kJv|NJky+cXTs-F`Fp52i&w zp*5?OpDvE)B>URu;5mvE$Rpr;z4|vlPxrG=eje6VjP3s>J<7aapwF!xL2+pR+fyK* z|9q6LM|4l%QQC^fJ&!_t8euxoI2bCXh&zQ9^PW9H{5N?`K=x8>g0xYp@$erEDKuNi?pt4Xvy&qyY+Ee zZOb9sAf}b!_==e;1gKTYvmZSUUyqyp@o`9KC)@k~&>z#@5c^4`=>P;a$fAXfK0%Mt z_ICE$0(K2N2Thk09)1G0@`eFeWZd+QvX>Shm;4-mDeBeX%KXEo!KY5fNLT+ON--T4}XBWOpZ-6x3`#tKkwzg~j0-T&`Nn#@tf8wI8 z-KHOx)B?7K1N^U%;O02?=I_yKA&l32AB5RgIQD%AKM38H|EAwSG-fG;EOc6Nz`3Nm zlMq@4cMtchvxcW(5=-pt)7aCJ*qfiGr#E)DYvH-LV~aihG6stXmq?Ty`w7(I7B=z|YTev{k!Vy0 z+qrPdPvGM-&9>|7Imxn1o`s@b!|I*|kxds|&(i-Us6X`wdb}|DKgfgbzW8(cX%a15 z_6s_}cSdgiC7s7(mm z-HE|EUxSd63rnw2?6G@Te2vLfc>3>*4*RqY`_i{D z4*SDUi|+d;9EH8_U?wN&e8)4UUmP7pEBZP+fH$4*lc>#iCV4;g5$p={?lSB-VrnrB z89=2Y?QH9_5X_w#RB3NJyXAi&E#FH`Z^bfq)@0hpT1=+BfGpl4Gzr`3MM&x&m`pS4 zG71m2O|WafRaU-cv|SizXW=q9Uw;2PTFag&Grfi*qYQ`4!eUp%Kde&Dc%S(D}zh%8;`85vPz=zCy!v=_~1Iz;gJmfYz@~)4U0d-p%g<@M!j~R$H)!vLR_uk zItsiFtCQdb9@1tOLdb=%g>}LG4pr+-FVK*}URrP3R|f8hv7;MIG0+U#U>Y<96rGCM znvJHmvXCE}Sp6GK+*NqceCjv$ZF#jQ?l$pOtCgwbfM&iPc`NjqI#SW0zU)n&h4f?Ao1thO=c{-YcDm~ zfX0)TnnEO7_>W6X90VN`3%4tbv0= zS#v-}fDe5Inc}u=N>6I~j+PPU2-Iv{EjeW*u>fi5Ii!u12I-o`^I_gc5PcL8P>=mP z1;@3cD^5WPXwwNkj5nR&=e1##kk-zVK(tV`3cpZpIKqp*#S{|uObDt`RZ~?giXU5m z9Vj=g!#Z@h+|<9@ySmL1=5y@Eaue6he^_q%Ec`iam+7*ylwyytZ{y7r@eAy}cS0*T zwA*B+aX(-4YFT`@X~L8$e){!p(?0l_OnXe%?@TGU7r@?93irdG7l^QT?=jUtdVgsT z*fp%^IuWbbYZ`*%BE8r2(_NARj}gq@*9oyOo7!g@h5P!^eWsmT=l$?@*47&6^%j1< z&vb~C&H3Ss*jQn@X>%OY&n9u~4p+vpyDLmP&-*y+^F@rTEc1S@I=GRqX`o!BfEjt7 zvy`V~jjUE=h4EL7GEtydE7VuaffZw9wINF<8m&aXo*dGsM$73&j!rdNa>hs&n{)v& zIsr^!61*jNj9G;F!}NU(-Bw~|9imn3MBH6D@~QApuv|L zUd-9;kfrWW<6?k`w^;DS}O>;%$ zKr6AZ&sLebVa}uSe(o7KLZ`4B@Flu$O}`&k_poQbNe{9cs!dO0IAH5e=*L(n4i%m- zV@zdvKbF!*YakBY%zfB&0;&`q73_+`rrppscozFrjp;z)y@xTAONVmCsll+g!0&J# z%CXHBQ#Jcbt!eXMI*h}EhR4K?gudO^Yuu&Yi9c(=&pi+0Y&n09>Ua5OE@w3UD zIV%Lx81AvmO$_AN$PtK;QFi?iQ&VRES8ZAyuRDFngCC;CwW?`c!HQd~3^$XI^ob#U zH)qBtCUNPh?tJ3MzSt%UND{ky7E>in`%2eyS7)b1C*po^K2INb2)Fq0`&ttbIIA$% z5WCl6I(|G6!7TObFztBP%g!4&FShHq@d7s%L=`Zv>_!Ig(AM+t>F<4P!(arG!%vR2d1K2Khp z({G3x)ZVbk0GCw2EV=zjgEuf$NOyH6U9-P`A5EHm65`OgJwR+K% zm|$D#Ov1)&ij#l~_aU>^I@8FGXbL-vZ2?OXH)*AW8C)cnWgo9I#cVO&tq_WFw1u_z zc$~lcOT!t{LMJ$tcvJl7C>s|{4w}>7KPs3`V;Af>0jpe|9j!Nck-ECx)I)rQ$Lmd_ z{4AcVuZ-~12@NK3qax@IP6PyG8cc`+b+fa_O}{zpOo_(=N;bKqul>h_0e0o97Qez|W|7NGA6nCjsGL@|ZRHop^1zKG{*+-c=`ap{@I%GgvFJgW{~1A9^5U;FiRqP+ zf>fw?n7&8G+EOcVwR$I6#DatUEn@+`gX{$s9M-JZho_)t8BVMma%yXFRVXmo)S$;m z4F!b$6#p|Y<4%q!m@!Eatl!PvBbxGb+{yMdnVJswr}Xd_41Wk@rB|I=S29d)NJcm0f#$RMoZqW%edK6-&Y+Kp;#)n2?iX zAiPW%0t|sb0(k;~5W*xgnS{(tCXWe(fU&3*uti&xMWt5If&!&HL=PyU*9TUu2(>`5 zh-me;3TmIX_5OPGerumOlL6a5{3AJY_St9eefDGRwb$cYNJCB!U7IN`g423=mUtbd z{$RG)Yh043!YT4m?88nm)6!}Oh-Dmo;S_x_RlanJOiNi19wNi(#Z1wg7R(V($Fy$G z7uzhWqmrM=7aJ`F053>Npz^t50|ZRx=89FKAc&X%^F%xq%oCHa5I4*NM^K=@Jx^@! zRpAc%bJyD)v(ZLn#icdajW`8MgGMBPpxv>KKfrHyG}vu0+;oQ^`32&i-7zKz$A_iC z8B=fP%k*j4xo$htc55#`{QA9gbs=VBJ$=1U%mtkv%Tr@%lZs^9;+{MLK|S>_svaeUicF#4M+#AH2f(G_)}J*?aMKIjJWJ^8sF6J zG`=a|bTqKDT%%Kco7U zQglp^zA6>ddeu3B(nh&uq6KHMgJodZgLJk`r1tYTjVNDQXnVOx8~~?Z)3`1~Y2{*1 zMycJ*V1^-sK>}<+4QtP~Xlu`0Sbvp^WwDJ;wkLuOhbZdZ?u5_i0y`b70CjJ6+S;79 z<#t5%P^b&=rKF*YMS7ykX$w|0RfjhgL}>`)A1I4Ks#y&FBt&Z#i@Xs5r>z{;6|=Nr ztpcWLxwB?C8Ze5T=`gK0w^)o#K+GKl4F-5axCoD_bHcF0hkrpDxJ2yg4=c(rWeVxf zE)h%M;78x76nVImR$|tBDOd?w)S*9GDX#QIt#{NK6RK7W)lb!mvG6X-aMOR+iIpOh z?$+nI#p>7?zkYPJ=wgvTrcc01R1f(?aU5Og1_NFRD*Ar6_`Zb>Z3Ho>+9(FngB!uW zHQ`o&eWTdg3-9f|SB$3}|4a%^BDVeU3Zsu-V!&;Jgk( zoi-jG*FMghO`Cn9zn;BW)b~bF4?iF#pb5WvKm;t7kb~ZOKrOH8ZQ{=KP>#~YDK@(@ z15U;cKZ1`jfDA&g)MILAOvv+PxO05?v_21t2P|Mpf4p6cK!-fNUCh6ANT=F$YcWmX z{~N}-O3J7BJ)+D~<#j0oeVlL$_lZ&Q zp~yWv$lzV&+kht<_Ca(}PA}}kS-ArfobKNzvPP5xdP1|#%dcQ>ksgz&HAq$&@Tp7p zi$F{}o!$?zLIwR}zqk~$RzG(@tmECk=pfFx`t^nV?badh>l=!czKz47%?;fd{ZA}B{Y z{qiu*16!XGFUKs@%Z`ZxiH&jRaj^p1qIQZoDTd%{gU^Yv^si?{PIAq+ zdMS`x{;l$-lk=o-B(M2aF9opGradpL-P|?X`v0n9V#7(O2QFg2Dn@WiEp}8;WWhz45$ADpv+UCC~Txi?d7X?D@ zIvGgQm9fsi&kO<>z%j#!fXf!xwuzG`j|a@zK=br$07oGov==HZo6{z78e>!&`6hAN zWaC{kZ8E1#0bjwD;AJYmB;dJ|4tU>mUv;M61yDmTjwI%oCY92rOBjZA)cajA<<4N4YDx!Jt0uW7sg(!aovK z!-5RvDn9my#DF+1i(EChU6)0L`tj?_qEP)vdQVtasDk)BgSC@s98Ym{Ob@Zr4svAt z#&q-H9s*I=(iA8I9`FD#<&I!)a>Gy7{N&Qn(gK#%d z|4CdGnPZ|G0qk!BX55T$0rU+wm0cC%>>-SMJB)l0Qp98-6@$hg^yU+TuZ33^dY$%N z1rZL>n^#3mzlirvh$ej?s>X)^B8Bhd3rc=<~CzY!?kMthr&J+0To%Vhu72<0EQa-z#tD_kgV>Is$9?uDi#*;>+FuszfsEd z4@E*ZDuq#99b^D(*l+&UU?PAs2Ta>oRLj32LjzTxnZ~(zg1QkvR3)k#F2{VJse?;H zvkyull_~0;^93u}jmCHm84m<*s8LnK>_ah>nm@t`z)gof5@iTAgaacreIgQQ^v7aAf_plo zPb!SA!gA~4^@UYb<<{qXEH1>1xM5^e51>_8ZCv~0KZx6F{#~_^0f-(9&Fpt1nm>Cw z_dj%}o8J0^NSPn*r$q<@4cyR9c$=UMzGl|7wN)0KTfAweB9^AC=GXcmvfT4giQJq)Ofv(oN2Bq@`WqtV1 zq5v2jZuN)yYAreUK7tP}ndbI{0@S8$)#A?_yRT>_E23*iiM+ z|06a68bW{UOYsQ99?blgxF4t`bT&bPQ0RY2ke^y^0X2#=AVi;xl>Gg%i4x9tdU~R) z=F{S4E5ASotdjYIOIDdU96*L`vsME$TpjRO*-)-}095a`WXXsT*~xMoE>+1gZ3u4x zK;tM5l&fVArT|!DI65ZFBxHFmStbtR0`rxhKC@5i@u$gB!>dNumh`MyKF4b*a@0Wc z8BaJ)T$UnJP>}Hg3o^s$_oqnio#QETEG}14)MuQlk@1u?RsuAi^2W*pT$YVh?*kh| zHM7Wty@boX-$+*!uWfOg$1L~Nu`+Wg>ciI??n@Ph5dwVJpr%g^H--t_>`nzj#pyFs zWqdy%JvRCqRijs?N-Ge`j7HB@hOC_JhpDQ~&!(ydUP_fq(ZC7gq?ZS9nM|Z-#z|m? zQ9qjmV1$uWXOr=QN%cCLBxE0yCb#0UJ5BO(Ig=)Dk8y8Lm&qVae)vnnS~LI>iL-*T z4$T`c83iIR9#y&NhjuxvFIW;IEA9RlggokHJWENJGy8|jfcV2tB@@wqZrYqKr=z~p z>2en?UQPNE0lj8M-ODuG&3krZ0Fh{t0e8-glOy%188VI!-i4WR3>IV;UHzRHLbpwn zedq_7a+oVj*DyJ(aP$ptKgNEeA#8)W#elnr{N`PwT@fR6uesmY7!A<4L0nzS32&L09er{&XHgD z#_h~v8L!VRl3yy?P%Q7mm3~z!L5}sAWzrUlYh$IX?sE$yKPC&6N+ayAYw@CWRE3>M2J6rB_RKX*3O;VWY z$%3i|a2qam0IadO*4L)h*fP_B44I}`QzlxgwVN^rT!Ho)o3d~SXPRKGuGZ*$lN>v! z)9a|RHrLgKf{i$@S8MrR+Pd5_Wb`~mr!|;(;xwO@Yu+j`GHz*>PY&)jQ=z%SaUYQ~ zBl&Q^Z(dX8sc-eP!5$r9ARNPxT3vqF(s6&pE=0@- zwB@8vCgLzR%r8eanoSC|!dZu-7MKYwAx~@P;+s=l@GLc;7WiOm=Jf*-0#!hY+>;h; z^^_|$3_gdm(j$I3G{=0yBcK^7akV!TGJq52Q&@b_%m;P#+~^J((jv3ctKbJ*ed7b8pAZiOW8*;yX)cBz zfQ!Y|dm)SZXHX8+OIqZd7>EuZYL#CwGRHmb@}P*R)w9>iU`(u0zP`Uxx-F0>3|uc? zjKfw5-Zr9NKvUiNhwJ5o@Gd~nkmAD)&L0sG)H}e9f%(k=EFq{$4i0t95!RU;5beK1 z-U(Za^lo`K>>3Vt%fT`E`sr@DJ_fCDepgPAs5o?wv_p`$_a6BJx@(gh*$pAkD#*)H zx&j+k8GvV?acZngAx{;MjJZ3OJ6U}h2($kH2JMOpbT`ZAvvB~;u)GOS#}U3BXvB)6 z%*f{RxV5Iy&8moiV-?qF!!7D%83>%D;SHYYhpTL3(C5i(4&(kK-VP**^jeopD^NXv zFuw)?R@4|};mvRgW7USMn_hgIQVQ-9ZEA;MHh}#*gyYMHmq_(WPd}`j3U@w z6*7qM!fi7oY-sLnFg#Z$RgT==h8aOW^~w>k>O)CHXI> z8QM0b#pMys+;RC&p^z=wP%XxF14pNi(Ao!?qTK1rP zo1WSRdgyovE2;d6j)x@U9Ie?dm&L7tBn_5XQE-H7Rl)i{wxf*k#gHa!n_b1d*my!TP*fLYqBkAgcZqR$_dn<=;x zmAcAwDN(4r6~7d7p7ZaJkd zvcQ8I8dCb;yd2&qfK}RFWb33eyXEkHsw8;6&jBLn4v2sIJtpsk68`JmGM%1(On#r% z>_TI{cwF8>O^-`IH20Stmp>ZRSOh5g=-zIn7Y;#wPCt`rbevzo81<&hKa=CSTZ_Wt z`T+FWp7z@2wHfdOYi`X@iUF;;$YCvF=eMMVtSHdha6iY@+7!Mm@xl+p-I(FyEVUtD zZH97BzB$#}!^63Fq)f$RyMs3Fk)xr(eQb}k-&&`hF`I_jl1m@l0wv=A?vYiAZACfI zsWGZ?YZGrDjRv31XCc7pwC9G&bg>ftife6C0JtQd)8Zr~9~q<8nr;DCajNzqPA4#*jC4bkPcs2M`v zsk02GlLs)$Df;-IV->*r;=Y4&>To;{?|;w|N2~jSboroM2g5k7N^k##T)-+|zQIg= z?~vRCv+VlA=sQ2XdRUhC52Dq^+-#@hBXY`AZ*()}aw|;=tUhYKSDWS4QoP!1uU6pI z7J0QMwP0z~&*f-3bVRNlvP5YPmg3bYHh!70WJ-@pn{9~~qSAT>$l$@@p?6~E_t+NS z_)4L^`=|sx>7cz&$wFpfo|5BfF|G8M$> zgQr1~*3$52JKARh0W)zGUfct!?NSrVbr-ADq?Ln9C!i?Agccp!MCs|D!1 zbmbYGesH$cak`jid_}n~v(T)&bm>I1UehI}v<|@S5y#QM(>jRfvg2~%t>w{OS$V_3 zq#r$ZTo$9e{wL(9*%bh^X0f0m>t-A{CZ1g;MGJfV_s}x~V$faIyhc$uz3GH3v%tLY z)N?WvQ>jlnDVJC*rN&ugwpj{nkzsoMjY4J{2m?LoCcoYDK>z5JWZVTh_9Ccah5p`) za*>ExV06dKSLA>JrI@kCU@kXmO)_h}=>!BXMc|<^-QD^MPVw{fCtr~>Z?Skfj5YRu z=j6cKmaD=d3#Xk%{#xz@rQ7n3JV1eWa9(cY-!EgYS@auF-$p=8<^=FhYwut!bJU`1 zW%Nm7hUe4szmZe>B1;tY9mdpm4TxuEU8t2^a4VEinU+sk=Vjq=RWhhC7aqONn#0X~ z;=G&)zVO}ivZ%0)tGZ#eEcI)vz1ljjR_521`L$xNR_N8{dbMR7k7v=Y2{~sSvjj8|u diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 66ab8533212c31a12d0123c59a8611900eb19d32..15c4dcf8603cfd787510edd851da58a6f4d0e250 100644 GIT binary patch delta 11014 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%0DH@{l<=hCjT3#S8PigGO&m{3A#q@%3B_t4;K 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 S?Xkbv{88&g3; - -/** - * Map of string keys to primitive values. Used to track variables within URLs from the server. For - * example, `/api/$key/thing`. `PathFilter` tracks `$key` as `{ key: '' }` in the map, and when the - * value is later known, the value is set — `{ key: 'value' }`, and the URL is transformed to - * `/api/value/thing`. - */ -type PathFilter = Map; - -/** - * Merge or replace incoming options with current options. - */ -type ApplyMethod = 'merge' | 'replace'; - -/** - * Trigger for which the select instance should fetch its data from the NetBox API. - */ -export type Trigger = - /** - * Load data when the select element is opened. - */ - | 'open' - /** - * Load data when the element is loaded. - */ - | 'load' - /** - * Load data when a parent element is uncollapsed. - */ - | 'collapse'; - -// Various one-off patterns to replace in query param keys. -const REPLACE_PATTERNS = [ - // Don't query `termination_a_device=1`, but rather `device=1`. - [new RegExp(/termination_(a|b)_(.+)/g), '$2'], - // A tenant's group relationship field is `group`, but the field name is `tenant_group`. - [new RegExp(/tenant_(group)/g), '$1'], -] as [RegExp, string][]; +import type { Trigger, PathFilter, ApplyMethod, QueryFilter } from './types'; // Empty placeholder option. const PLACEHOLDER = { @@ -81,7 +36,7 @@ const DISABLED_ATTRIBUTES = ['occupied'] as string[]; * Manage a single API-backed select element's state. Each API select element is likely controlled * or dynamically updated by one or more other API select (or static select) elements' values. */ -class APISelect { +export class APISelect { /** * Base `