text Untitled 17 views
#!/usr/bin/env python3
"""Fusion Cinema Control Panel — source installer. No external code is executed."""
import base64
import io
import pathlib
import zipfile

PAYLOAD = """
P)h>@6aWAK2moXSWL*<dR%jpq001BW000UA001s$X>@64Zf|mBOGzwA)aTMGOU*0O=ZcRns7y{w&Pa`q*XPpG19G?kP)h>@6aWAK
2mq=DWL+o{orJXx0018!000R9002@&K}1bOE^TCeS^sX^MiTyCPccw{Hc=(YcKQp-wK!XGQeP8Wwd~}I!$De+D{Idbm*p;Ht3`pn
!`&11N$#83B_%sak-)IY<?j6a=9}3k^s08o7Bn`6UMm{g!dEt@KmYh2<>qGP?==6UvN9XxHK}ZE3i^UFy)mh#)D}x~Q&-
CK9><fjPN&y9sZH)_X)C&3)P=9<=qNe(vQLM!8BeZhh+kfx(B<)4{Q52bni+SS^m=sW$v9Gvc1@#5Wv&X{r(UnH9*b2$XOpXUv@w
~sw6f0ksnWUH_9?S>MQ&B5t3E-
By2v4G;dCZ@>B5uK70aJ=I!~U^`<0S|O_Anxrn63GK&NY6sXQCr*gT^juHL?hnqQxdD7QDJ=#wf-
T59F%O4Bk|H?B{2I#2Cdlh^l<=AXXOYCXV{5}GV>Sg*+F?elALwyqvquTLoqd}FIE<!YgGH(Z&_6gNX#i6W{fY+a;!4f%0YbU<!c
Z{D}k8=J~b3Cmxk)wc9dxvVUksCr~o=WT_zP-
*(p8w1a7jG|Y%Dzs1NN4<5}aINqf|6yvCrrNndrJb)#%KPRxEvKc)bwXDwEgpah1tgQB_YTHE5Zb8R(PE4D&fF9);DeM+=bLX?iG
@mU>(a3X7lj_wPSdx8bfqeVGb<{UsbCVQf=&9gQMt+J@POc%+Vd0Mqtw+PTBpL_c1;VdDtztjEuw&)+9Kcbv8JMxax0CHgB-yi&-
m!$8gC&mJ0zp|>(eV5s?rQMhr?jRd7tK!i|Ow13MY6R<MF1f7l^k<3s~~Gh*#KR;2?+bX2Yi<fE?)}E3GL!pFW;mz8b)IUW=VGh`
6w-
$~dFe(DB>B3gHvuF~(x4oV!DyM1}gnxW;b@lEDWqTGv6aMFm?8uvyB+$2mTSP5I>4bzxFl6|_L4Wv~~L?eOTE<N*H;N8f()^;f-
K9}2)%QA-%omb#$QRwDZ`Ikhek=|5WD6`6B22?-
1bCfM$07X2aQ98Z2k#=;A{@mk%$>^b(W%M9l4^+pmQ$3<3IlZoePT_ao!pTo(}Mg^<*D9E=(%4%>NVHf;FEEPA}C3Fq{=KQdb{Yz
j=j?)W;x3IZaLD8I@#F@U(E44AU3Xt(qm$}`_=}$9L!BcFBg0`&QdkBhc-%X~^I-Rp6PG{-
(lwQvwsySznR&afu>k3e|tPrGQpwR2dRUe8oc9HSn`Fn#HzH>COce<Lcbe^+DrSm$e-Kf)<&*vq-
a{Q_Tujh%r*ED!VT|Vf$zc0nwvk0TJ_TZ%4c4_5(=|;n0+;7O+bvk2PN`?Rf0B;2+!Q+LMx*H}*GN<dyHvxZY!HS^#=MK8Q*9$sP
F#46Q5UVPOGeus+;i|K~h2dyW(y+4D4}+A0C}k(jKJgs-(O~(8x<6lBU(PO%-
_IaGmj;&pLeEaQ^($LE|I0O^IU`y7lmO!#xDK{JeLykG;JG`4y=os5u*p2fl?GV{i#Y+rVoz69`oWF%F{bIW&!~A4&!WMWqKt!$E
;j8Sr71sYi$<xzn&g{=e|F^OaAArezTNF#!I!_(2vw;ciNE*zD`h8$@9UCH@xdE_t9L`U27=D`cUd&V)<}Ek7lLMGEu5|3dEm$|w
Wh-_zn~p>KeSh`7s`g5$+d#(3zrHQ$k8nqAdV`|#0AHY4S9;BdO?NWV856rb6zr>v-
um6vR`nJD~b=rV?Zuf{Ih~(bh?CKo@;ds&b=e{To(h*O(j*301p9?kw5pVUxNuw?@Iyg5zT+=Mvl=Pbszez+wTU{#~XXw{e2FZUO
{@UviY6bx`DXDIUxnLm=vreRwK8CD(kFaFs!y}bpSHv-T)Wx5z=&77X>3v3s5E~c!#`fzd+e59o;oJxO*N1;L79z=ABf4A@-
wCff0~?sY5+qDjdtXgCt?Ou!wmH7h9>dwg_y2%Y1^u4vAr8NhCrn+_I3<=?@Iv1tc{a6s~?KEGqI0E->Vw5KvlRQIK{r{r~`-
ThZVRv2R8XUBy@<pn;=ilZ(qM;-
vb!JbHg|_VV<6Hn~1|b2grxP2PRk!a)IMgvbd9_<{fDE$UCk37zOvvBP2oI6uCM)<R|3N<CTVz>C<nI_vYN;hlzW5dpm(m&_>vU}
6y#olzt>lTpj*={UD_2Eqx>aup21HUxcL(mZY7Wpm-
u%sP<*NUL;3dtdHs$Ym;_sSZr60OT=@1s(}9|I&)wp>DPe0r(DdfW%o=v3fXSejsK!2rNh6mkb6{|3l(qi5GD7fn@f25>=OaZMm-
qX5vqqQV(vQ=7!OV<(O19t3|94j4_U7o^zv6YuK*W`@k+(Cn1LPu|j3<RxH!Y^C_E#2}t_|S_fF1<FGAs50f_GFnM|L_W104PJ{1
16%CSf!LCh$iU{*p*VD6$^V#%te0_O38(&=fcy>Dd?r=^|n?y^ky*0W)X(y&*&s>zOv{0f*3dN4WsAA2fYL3}6!Lb-LA@Gm*nNTE
@0@jo%;y$fnhI425WjJ1%uwC1-
<HIcJT5~iQw+`UbA}QLxu=xuZy!ae(#2jtQ?Vb9_Huyh(M5`s@uJjt&t}4;jE(!nfI@P6T&mZqA`BQDu+a?RR_lP|QXHs316{DsP
InZtz@(ZM)kAm)*W*HYbtqW_*Hq>^!oLU}dxd}zp`m|3Q&_=6d@j+AZLU)qId<sy<iJ9*@rN|#3JCjq!29Qo6B%!W|&$5<#g2jqR
K_#dGkB7P^-
S<8(X5Tz$gF^LX7*;LH1Y#ZgJ|H*vc_Iw90SdP9zVt0hS;qW87$tt%9T~TU8pSW0)|~c`Dxx5t?QFhb5b{k~SZHXXnTP>3pw}W4p
<x@iG0gXCkC7g~Nt(8`SZvu749deLM7-l%h}j)0T-#&_?1XW~F;*d1fOk5#chV{HltG#|K$=*lX*zTkT_KDmVq-
9L=r1@#Lyy4`#2M)t4J8}V39;}u%|w6$RFWO(X}r_<QVNC4NP>)kQHuCa=rExPd@g)Ju;(cbt5qJlCM>U{7GJ$XU-FUmR7&Z8oGm
)Pb@>bMljD=|%facZ*FS)?ggs{rw|MggRT}<5hOV(;_xDgQFQs2_G(S2xoR9W5#6dGShoP=JI&60{8TP7clMPn7(z{b6NbxFU#6b
QWFbZIa{4w*}lI1v&pl;5;;#VP*7J6^S(Rj8H$Mt2v!7umvZ2lXLN$6bIB^v8~Q^nwC^fK>^zN3Fk`+?|({#bEmfVLY5=(o`eM+v
=bqkO*|g*iSlN{9u5XAZV9zskxH1-0mJ`{ww5-$NauZfj3E>hs?S6a3D$E*m#JXtiNGT`<JWxUKDud{yiA(Ha<}-
J^%dsP^ISaz=wycu4>Ht;_y{H@)#WANO`kZ<<-#REAvaui&YB8Hb4s0aWp<?JDE0XkBG~z^lp|EWj@S(<*AyEaSmYg;x!<?!V$^-
QWK$!Zs7NSykscO57}*MbQB>{C!lvzxzf)^Q*5oCXFj|wQX$Lj7oEyWK#ZSWwMOJb%~Ax#zW8;FOGR01$i*M3v#T14Tv}FcaFH?4
3FKR+9;E=^(E8`USW!*ZFIWPh30ab%@kYk=-}w<!QtWH;Q7_T!ASmpAwRpFm=ma|+-HTkOq_8#TB0(tkhOczE-
_!{QS5b?n6#w{gl{)QMZ<;kAmwC99A=_SBTD=#%xfYPx8NHZJE4&PLa+~A8W*N`oK6xNfXZ<*0u_e=Y1!n%O3MtC2cmj!tQgk9Yc
Kf7ZBtrJv0-
G4qu!X5&l3dZZk#QHp>(Cw+s8<_o8*PWj7Ta8NKe5c{1zZ^aZU@HZKeG1l=WGhlmPicS~pk+M%ZAFTiH6#!qIKN6_@SiQkNRU3t^
IR7by}lWOI1r3K6sl>>8hK>8n5g`0w*}_=!DvuB6g{a6CzcPnP_(t}0tO9x$h?;8ujLkK@xv6Ehjg=G#bCLf|u(;bsrpF(;6rrEa
=ba<|$;F82Q(ql`8DVLfx`GUj_vh5?@9rNdZCT5{`Qv@;)CM^~369*0PKFijjWb(8pNZUojgGs|r#$@(4*C>JQy)P98h7WGj)k-
B>W_od0fFJderRN<V8T@dI~?a@B?FqRBNVZvVH1~&~eeYdJTGn-C_^Jc!AjLe0IvFu#rZz?8BAOtp&I1oLdeW9oC2e#Lwj|{MDCd
nTe{_LHgm=5d>=9_O3n>fygFfO^TmqsHrYjJ3zLJvpt(_&-
5RvDkZ`(&>o9#Kmk=CqWvMJoilOfP~GGU<d*+L1B`1HOwh7PsaB8)A@2<x_sL;7g-HGtnM4+%*oUH6K;-4L}$aJ%b-
k<gOs960DPCi#d*lRyaDmh%=#C2=j!C=e&*bhJ3|-
9p#=|FTVc(JjI!9ydG%>QOwD5+m3W~xM<<rxdjHT)h#0OqgNkwQ6aaHxxrct%I&614B4|xy!D4yH@r?jE@o@9)-
{(c@%Yd{Ke`NP7){BSEE>TeZjeM~UJkS|!ZOz(wx`X_fdqDHOO|c}Ky-XBHr`Vx(yN`k?Pb!7$7W%^!53`1X0e^s1%)h+K76QCP4
(c*24~~N61vgKB7}pjA~9pTBvPwFJaV!zt&dkQ(D4?<p=q1L<&s=k$qmz_u@ii*r45u>6Q>yZ5Ix{<A0e9`4?|`7Od9Z{+;WQNXb
qtMV%yX`PDd54M9wWu--0zR&|V{G`fXlfjmm-
4DcGuAGYr%VfR7QY@fD5~MV9`4D<7UtUel7XR{mO}x#he^c4hLw^09!%!o^JAztdz%u0s5T%T(z{<hGUPxiUauJ6R@cNFMlTB`qC
KC0T}L7*oh(unCYlGoCBfhM93prM>2vyI=tyD|?mNf`NSQVo7yjV*6pD$UPG39k;C5!g1$A0N028>x&PE9s7M4S3N0`GLYEK?02m
|oH#AHtCP{k0^Yxk4PBT!C7u5RP)h>@6aWAK2mmkzWL?xO8JABP007ig000I6003cda4v9p#XRkD+eVWA^%Qg79{{`%MB1{~s|4}
V5@mBEQ(BSQjZeiwLFABx1p-
(Al&qvuweN8Eg!?4dJztms0g`qucd3d@%tud8cTay!1J9m4J6{)3nvl~dp{tObrb(HnG5Pnu{+ncZ^bnSmgtJwYkXcwP@6s@zkua
GNn!u=-
&JJhvA(~P$O_O=FSm$Ahz<O5$@8IBiosc`aj9_@2PQ!Sa79|;tK9F*qBs3;zPC}TN=X6@ePYMK`kq_hX)rjQuf#wAj!@YwcJ`?&S
OQG@oI*DK|;1!AaWlG8=B~en+JfWp`@a);MgJ_kdc}eE$WLl<aT*!tc>?V%x<m2ZeP2}%X4Jzm~r)Bl{&p0aSOZiwvD=L4l*U{`?
o~J7yQ%SLhh#vXuvhhEsiTE|6aT)R{Sy&=2a>f-
r@{V;LL%WxSNCml49v2zlalnU6^QWv#7kQX1pS(HSxEy)Tp7^kN92WPo!#>9+mxOol<g&h{OBODpLNtGJf%2TH_$!&wJSgcZi(x1
30onX7r~h2j0tOefKv{AT$zY!54qyC{=J!9-^}+*suJfpTl88)~bb23TVNpD$`7A)5fYe-Gj)~8xU<biGifIryUQUZNexSC4)SyX
uaC$jBAG{B)dgBjrbXs^cd5H2f@fNhSt@E4F;Bpx7krtp=<~D<VL@Z!Scq9Zo;F9Oz_ASS84$j`~1NZD*6U;d~PTuT}L5k)iNlT(
3>qQ0Il<k}_TIOK{%!Q+ZLebCjG`Fpf5zsMNr~@eQ!%-
(Bdn%V{@)C$$t}`!tA~qMIJpBwDBl9!{hB=<)2ok|AaARJahO@%fG0AB-
1I~UaZJJEe8La4A>vDeh22ei$_7RZw6`UtxTl^#h_w)(&Y;if0PfR@o>jE0X6|GtfzFK0t20<7(aS_qkLXWv32ufOn3W8JQg#3cD
f5p9Cf4Ul9!d|)5i+$ees7^e#O`yDUa1dr04#tB3Qig~J0df=c*EHZX^ez4fJCfqBdSpWZO9LoRaA=+3aktrKM*Y+4{y6xt|H+rg
XjGiIV$ev)=;e=telYBP?E4lMp@31*Y8;39@p5?a$sgxy+BjkakVb<sKpT~LG%cIq0FF1;eZNJ(d9N5dLdJG1hxk6Rx&qu)|N3KZ
*dLAq3HV}g-
X9NO7fQ$3%XFO={u_r+`PlmjPvjUUUG#_V#~=Le>z8kidGB9GxbEdOqua<o590#%2mCtgpZ9JqaGmjZFnm7(=KaEESU`TpKkI~8h
Al&cmo!g<GAd)%{RuE3Q`YGb_V5@!d15boY_Yzp4F`h=`o;xI7Ou-
^zK+4vWT1|qk<Qd)nuK?tsp9AXr!uyv##Q<dfuz)%;lOCk2AFaM`lCKR<&B&s#9D=D>5?#+;tDgWx;UgMD5E%C1Ua1pvdaKuX<f4
Ax^Ft}!LJ8FZ#?dQyc#o7{(5k5Fr#xayR)l<YQcK!w1Ns)R3}tuN1=$l)jik>n?Dp>Ai+jQMH!^`?9ov(7oZklHDO2b&?KO;Y}BC
wsKbq8x-R`!<~%P?AA@-
aRy=>wU|gq<<}msNj0~JX>*~7q{$r2at&68X!R&NEgtt!s#Ydw>f~U0bFNb0{oZB@x8#n_<^%p$zB?V_FeT0LWWlT!Gl#GVc82pm
}C>hW%Q$bDKDqy|vvNW@it}YpZE8s{{v;L@H)W(jA+SubUkhUY3v@WMf`lt*D$4vSe9(GAr!-
Js?Sez6#wF*ntUSxFYqbf?18LBT1GfJW|sJQ=aJQfVaBe<Q*e0Z5Znfv5(B}a;B9%Z17EK3a%Ecy%wGYMlR_WnP57vI$f)Oc9+gG
%m=`()gEchM(<b20?W-
T!GYf>VIXo)SBnkpXC@_x)=CHu%`P{zO0(k<$<T(;uPJ?>eRrgf1#>SWZHS!<&l>A~Y81qF+>&V7`g~4KW$_e;TV{&R)2Iaes)w@
D#*07H>hecQd{m3<2Ip(6T1FOu3mTxa1yPbfZn|mvsz=-
~fCn!CP2auC;o(2KT@OijF<1;5ytad_u1y0K1EBDy=PI0)e9q%5w`H1x{)lu{&<JjtUr9VB;(Z%Wt7GC{4Nm1ry}!nErNROST2tR
JE_`{(1kpKRoSg>;(aH$mJ0Be9;FKPkW=&-
dW!Sx(BnE6#`aqyW?8I($r}M3X8IHq_!Px<<KmG$Rm6T8dz<LLo}PwEhnNQ5LV+FISEl-RBk<49dp9XaPYUAzO516MUuEp+jRDmh
cHP}h#ct(_1<q52hhDmxY#%)B`E4fhO!RE&?uRwz{kfhPe6~rFYah=aCGMxa)09i$-
*cH3<C6{>jc3z=Ie978d1<#WZ<_KxN03ah!zWukLcMC6P|ZyV9Ms=O{%F(?`fi8t4PJAXg{Um5{Ms4aO5c0>KHCR0N~jcncY+H*0
ZSm7J(z_6k_bW3E2%vsoNqKh+2kGT(n9C*kWgk#kQ@%aMZsZlgn!|ct5<n?jy#R+_ZvjbA_>V4TI>AzxOU~Kn>bmx9h%jti~jR{L
f~=>}<Wt3cDT@IIh!(-ZWjUqSEGl^9Xc7-0XQsKWoD~fe2~31b0JvFfQq&uR9$+65KqRmE>~7!qsXL2Ef9-
V*Io@(IuIEO9sX0cWuy+QI5~kc<Krmf>Rak-nwsFXlF}*(G^_3J$cocNGxtoy71&kKkyC+Yd4~Gb9IK&%H1TOxb%E{@$VnI<R2fv
q7ihGlwZkNFI`n|3r(OSFm$I1lqnbF{QB~vSWk!S&1pGZf^M`8*F3+q1Q-
ae^^`}Bfwu<Nnn>iPMLrLhCeWiEY*lfONNH6}6%Dt1*aRJ2o+b3SO2PbGIH&fDV*|U|v;&rb@IFV$=MdbZ2X7IlcM!etevT6ZUOh
^jS<VcbCC(7Cf^?&I<;zr@hyFf~<=J`=E?SPBf2roAId2e~fTMzLelUv`0LND2RC2ElRZHEle4>5a>7Z<J?;YjC8YB;44B88k;)>
TJ*A$t<QpvDx{^Ti%;mISJ>9H|$E7tgn%Hn#Dc?jp9^>I;!iP&a85A#LglIPFwAMuxlo!q&;4W44r2I=x7a-
g<IW`bLlE^u_EV#G*9V`E{R`G}d=U5;6#I0B-=-
q0|)WEFmagN+%b5&&f2tEDsl&!Aj5T7Mw#zz3NDtD@v^MOPUAmdiXX!IAgK0CND?iTOJ87gS#SG0pF3PL9kpzQ<sKIsjo|;o>R<s
-!SSoTj_=^q!W`tMUULoE|_uT*sxr_;#X?y*)uez5T*a_=1N<z+e=AB!|%Wz1Y`83SkUqPOadOA4nHM^NJ4$3W7HT7DJe+4K;Zsn
5w#OVbX-lG%jqm-yU`+uoB1QWJ6KTXk441^AHi{`vPozgK2`bt1!QpZH!O?*X@M#Ko0;1?K(4*j*4lR@GLEyA`HBl^q|-z-
~)m*@GO~F>;YI|5zG6WMhOeK*(9V0oK=tA902Uw69z<aL&0JP5-
Ivn&&d8A;fVb7wM@g#BO1>jYD#d*9VNJRc9b>3J&27k9l+cuI8b&TKDKQEx>4~}`(|UiZ&0tO8HP5487K8aDY6Eb<&{?^c#_q;%q
u{Zf@3HYy=^VaGGjSI_!ojDsTng*g}2a>c{0(>pJbAI8@X=aIZW84mJPCgbA3S`qjH(9OCZ=Co#F9Cs7DeQr)yCoBw#N{sp4s7&u
kH9oB1G~5ckAT-D?uVQKN&ZM`{+n4KW35{RFgIl_mFPl>d^+L24{Jjj|=pkwfOn`fUS8LQK?VG%VuCyjnPicr6f?j5`tH-
Y8hokcG(*N@Qx$0yxCmZ>^sWPkFxfaQu|f!%Jp?3T8>IBrTF?KDQdCUDG)Q2P;3kO5<qyB*!1-qTOm-
>O2QAFxNQi4?i^xzM}amVuq(M)|di>JoM2wTSe16&Csu5j|-
aOr75$Zw$lVt?sO!mqXVuYhi5|L92WVMfFl&ot?vjo&Sq2j6jP%mS}n9^OfZHg-;rk(<n#`2ocNdo@P;{aMiRZ{E-
dIF;8zU+FW^vwA95)^4O7_#ilZ3Imr^HI`Zjo7O8x_gcLbz}%jM6Oe)tUvg>b|V#g(>VDlS2-
I@G8Ln3%D1EgJ<S?koVq(;SRD9M{7uu)isHfI!qAX>Rk25w1Jh@Znc6hvPg<3cLVStmC+WO*sq~)PLE1_3|}lstxxRAjuQL&{4a0
*cstZ_U2KH=1(>{(d)vu(tEtJq&bGp@}B8%D(IsQV4gDH{D}KIAej`D)vWMut@r&gZu;tSG)6BP*JXn=_j$X2)#_WR>H_IsX{_Pv
Gy1ZXwa`s-hE*f_4L+H3ckSdC2_*;D34E_`Hp_ptbg$5G$zZZeUe~+~;n=?TbG3-
F0!==*eiy0*%u2mC&5@n8Im~LZ%T+DXs5$9!IhV+b#@dza#L@SwfkbQHa0zdlaLkL`iK{kJBU9z*;4KHEWOd0=i=RBS@44OBC)Q<
$0xuUD=Ytmq&H(7Yra^jOx1VpnA%84kr+aj;pQ?w|OxP;2F?<3+91l53(E~8ec&(yBgcaVhTxmxz1DAuJKsbxg{1-
DSk|z&3<<Z+X3QdIG9oiTgre$G8E4j7|-_=D2$|?{15A-
~E(H8$lGnZXV@Pw`Ow_KjibhY#wO9@oqF0aq}*W}$N%#EG(N2fA55XP}sTI75qy1BL`SI@oYZszfukzSRJ=l8~Z$=bz0zAZyl{rA
_)!BE3C!_<D}MKeG5^s522i`<h*Z#Rcwm~E@?$IM8#kn=f5+8kS_6}cFE9E{0}&gLRAx7yAv#-
55VuF8YDG6Tvmkbu<M8Y`Rm1%lYRZhIO`?3X1?TlV>8bFH=mspOj<O1GZrs^r|4KenbUl?3?em#Yb;U;W$)#$cy!Jh_t6zWCQ=g!
J)GU8k@EeIyZYIpRh5fCUPCOsk3sU>nF0riAqaZ{F<kA-7ef#-tYCZ5Tr}5**=I5cZj61PY*5-LVs-HWq+(J3FANI*|PUtKk6qh0
F`r5*fBpB;wYpL)=<fh-
=h>Gz*4N8RBkMgw*V_+#$=6_!2FBN1C6;szzWGfNa=wTXhMTJP6cv8_N7R4(xmKiaXc*@dwg9KJL_VZyUk$DPKv=TCEF~YIybUfB
hHECt_*OYG7p>niJ-Nu{JenN4DEYA^UIjjI?W9N{Gdcy9l0DuM(v!t6ycM`EA}z+W|wyxVF%|j$W2QpvNn1mBqyq%YBYwJp~O=Sj
OdqUC|T-
A7W$n(;;DjBTi~dVB!diSK2(7E#4FPBeDLVX_qGDBh?^0&RP@@^aOHPtNt<647b)h4y!t(e|l9v|Lpp_$uq}}npX}&&4#Po5mrUO
5K$%J>=J6}H_9E75;&quFqot)jhJ4o<;^zGlS6S==8kB#*k^vWz^Oa~*A(AuC8&xqP^rG^GzL2;O}hdf=l0~qtIlMD!Wi@ks<LRs
X8AtN-DWAe=6Gb2?msa|q)68}x+Oy5DtNd;<-b>(VU_DzB2m)ZF>-@ip_0h4p(g_ozZ&n$A1*S-
hyPu*xUaBi+B*gAzyhrfg2dWabl(ESX;FHXaranNr8N2G8?`-}JLt5!G5ofYUsm!9%ho-KRoNz7#sRl2@#(6PxScvz`Q0I=T|xHd
)-P<KUy1z-F7>OkuNodPDIyGzM@Bq0ClHrcXrgk!cM>pnhKaCt{ai`u@1&9yH+Sje??F6IwD9DIqcUAAP-
`|SYTjAtYHenl+MaGW_`=#&p%PkL9{u^<Ls8YDEbd#hxO$mSl`@)QndlT8;}Ye*vw1gpEN`w*IKJDE3cj0}DD2nw0)scDp(Y6r5Q
~I&QH-xR2%Fx(@&5~!&1g)^HkR?uuVR_WE>WIV3&wZyr;X?wpKl~Oru80vUpmX+e}}swhwbOC=m~%}FIyWUs_&ipb#`N*-
2EEXXyp{U%;yLgH7!ZVeF|YlbvyZ+d?+3k5mmNGRNdmf?v&)fraL7|02#5jIy6nyf-MoFsE6DIQ7@Zpfg~y+ec+sy_ts)e)(_&!4
0z{YqehZlNZW^aiH^6VQDTdqErKQHNvU%7^9btYv3r$Ty88ZIz7tm>u**{*m8$^G0_M*!HGMHS9q(D^*$V&ck_fAVwnoR%2QwS5(
Wo1kw?g7us%D8TD&|x@itO!9kG?D6`e?%IN<>{!UuDDdQF>O9gN2Beg3+j4H3fSrPZQ|ZJO`w{D#n!M|5%{1z&ozrHQ=mLXuEVcv
z3~J>}M;LZr5e&t8HcN{Fqu<KQhe*Q;jeUrdih9z|;RdD(Xqc9oA4Ex}Qaq<<UFTsTjsGZJW74Rx{mXfv{uK0<q!B0`W3yQq@@#R
cO7h2?AL7IyAdY_gVujqr_8B<l16)E+VE!R7T{~S|Y2avyE*Di<C_1tBaUumtN>;Q%JVHi=$!*p-
!2aFM<C*#ySQ`_Yq~L6bw@As~8M1uR-{F1!3OUnEIgxyhTSCqf9+f$L_c3icK2#F0MZG-
u3b2ZL9b0^sImW{=;8?y!bf0`rGwreDn8z{PgKRU%Whi_4-
e5{%kb|H2m#?BQEzXgy)@s7~85^u&4+zk)?3*>U^2P`Lrdj4olDnEDs(g3u?b{b_P7gD-fJV+UpJ9lebv@uHI=FsXBUOBD!O&(hv
W@xpW(sGqN!Ha<+QMLVu+~R}Re;;NoisUa<^cyn4-
`XcbsX`bAU{INV{>F$88~p}V+!6p@>TQy`R7v)cFrITKED3bOJYONKDcL<OS@$XJ^5+E#XBb)+&SdZ>5R8(a^D@4@#w>l5&7WzOG
a6|ZZo93&PXijZ$ljwdLfhpOTDWCDr=asFC8A}-
TfGzjlK`kw#GGzP!?Y!O`E8Svq@n)TIL5_zeLeyg}`^}97?p`d?5ZbUFyfDkKK@`@2)-
kx+{OtyvQXZ)KWA=CX5$KMj6Z!m(_Cxlsa^w2%x)lH%f3fcnRV5<V^D>PD5m%Ym!MhU)VtE!^GuT9Em9$}cA<~0-
6SWDGXKE=Ntz^bg0IAYEQ;v(;kyRwQBdY^du()=WXR)~hZ8|>+d7oyX<&zge+gy6u6D29z_FXIZZQ2`q+@lMc&nJ&vmH`VML9D$K
_k>{iqr$`bSALTY=*%h{JtGa5exO&mq#7UN0HCN$O8Fr1J;)@!O;?hBk5m%OYBg*d@ymgl0wGv<lx(O%)+Je{esRm-cGlA9L0N25
~!#C{1H3`H5OX)f)(}&gsnwdFy+^l<(GQ_-^>cxmO7utL#)jiW(=;9uCUUCD$6g2FsrpjTNW=*cu`PWstI2FAzT}4xr_+q`HC-
_6&<_qo>va~y=Yy1umC~qA<Pbe-loU?}V8kyBK3?^zVVI0*hs<LYS+Z}~9z2TW*TJhC7Y^#jn51;@oRDrN}SCGv`LTHMRW89_=**
5U&Mt9-#-gf@?c({3=W(cUzuQE;ay2DD)&2L%=CCpC}D{yOl0qMA-
7xVDU7aj`yRFQ{&j_sY!htRvWtoW(knrw|t+FX#zA`xDzSQBLaUQmluQj23u3nf2AwV#QqaZ%0iH3Y>^hLX?z$`?j4vFKaxXoyAO
bp?-
VtgC9}h4uWV*O)Sx(f%e=xGtBP2{4M3d(a0F{Li6G?^zouW1Q}RNyy6rUqi6Pc1X*6P&IiMgSqU<?QtpZYEd|sOkC>rPbbE;E~--
2?|`p-+(8-Fnts3+J@&yvo;&`kTy1@nEvAz87qaS@Go9H|_-
2;1aqU$d3Q%aMjHFZ6K{dotG4t$3aSSYn&am;(kG<55th8&Sz{1ndJuGr-MKf#iO|PzjG&cHO+*d+xw<hh%Kj0(2woEj@SHAF-GL
A0V)C^7Pwpz#fU5C6p)XM>l3c!Y&7+hAqj>WF+K`UgOZZ0n`!ADUR=CVr$Y+!dA6L*i2(C5!<uh78kjeB%!BGnwv5&|6<GFoQX&u
@*pp$ShFV{<z)TAC0CHr{hgTr(36<BZ#jM!+KfeFqv1-
?bHY6%$9xfFr&#_dTiQ<dMDkF80<kr;4enUbe>FiEw{PQOC+jD6(USj?5xXc&ZGWScY)ov>;Ty11~VsGj;9Rn<hEb%Tix8puIEdQ
`NS59U6=Ks#m==1)!VxZMJZu%oWZ;RpHuD#>!4iqu`tT^4VXvR>3N`gReRzG#Ac<uS|V&00PD?FYmzh*rs;WpsjDR{~i=oqzh`gt
ww6`*(6uQn?a5AYV%C%gS$G5AzoooT2u4O=H}zZ=5F(73@;m+F$iO?9Dd0lLI)PHZnQ>K^s2v@WjGd$Y1XbV2>yE7`{F=pY(W#fw
Mv^!mKECaWY=K1%m?=+JRS4_ew$H#`HvMz1pyY&27!3LNPhJ5sZd`AI6TD9WF6vX(eTp%PlX5eQhQTYeMC#MEf{=RXCkY`Mnqu1f
2OLw46k%g>Jx6XFPwe{h9Du{5u+@4G9I~rV@L6Z0%Bhhr)h?f3X6jg=>GsvO9KQH000080AvMZT?rP@9Y+HI0D1@j03rYY0BLS?W
oL3>bZKvHFGh89X>V>rZ*FvQZ)`(sX=QG7E^BnnRZ(x+NDzMKSB$JY7>TZvdpbqR198)qYYPaRYv0<%9^*~Su5Wit&WHH#H)~9QB
zLXu`cMlASY~IwneUsAD1w{M!;jMsH!vC}H*aUdWHcE=JQ*jmVVnp^3gv)b+7LV_iy0_Q2B<)IQ#)le#7g5z!f^T?8YIz+BDi%3M
wboWpaLXVlqI}NlIfhoMsPd(08(e*Fs&`ZP-oVt4Blho$XI-
}km)@aB6E)#{E=Lu=v92mA3#=>$lKCsTUn$=lQm_pr&g7*1b1>Rg=Q%4h$^lX8?7-
VzVIx9f8C!MyA*fMXz|;8GM+5%_(rd1+V`&0cvmMb6>5S_5BT9`V_BAvTeE`K%2krm0<9CH31<ZSqgHEK`gq^e(wdt4rh*5O4PZP
;U?r7~Zb#jjXp`o(hDs_M%1T{JhnFxXtMqaJsmYGMWw=%;j^*m{tbYjy_#H(5SP#VFKA~_VExAw3P8bwCC3hJ`LB9_h2t0QZ7_`b
HF$+7|9NIP70Je`QIfCKrCkt1e)i5~gDn$GqtuG?qM$i|gLVchi?1OahoSl8@Lt5d1qoa>Vg~_-
`FrCbk;HAj!W1?1QYU0p~bADdVDYNeg%gm&vs*NFA<4Yk9X|@A6wcMhmCJekvnD19fQ(-
WGfaO}MRQmYH>nrG=jIfeTX{2xMKwQ`tTsI6n+rf_X?qtXK7tNFh$NcvNnVkZ{Lwd5!kp!MVH*Ifx2jxoC%=rcsi3h6)!wwVYylx
1G*2*S~3u(DsCvKBBUw&n&Y)>;6nBIpcLw1$X4r2xnS6A@M`9&+QDGP#OLM~N_*<~v)INSWg&28|c4)5FCdjx##M$wwYSKtNZr1F
`EbnXGX<Rz|{mzD_eH0Kyu-OPn!uOl`d_=Jn!6+SR21GXwzHl$KF@GG6+qFzF2mhLo*MXIenX7Q*er4Pei)On6<q%)QwTITw3`mH
eWPv#%C2O77KD@MR>x;c@ja^1IZPsX<QXdg=?7GkcJ&pl)}xWv!xr?ri=#r}Vc<A>Y9OS?X-*_N#Os}+@B_G^@ug>-
f_<KSNx^4n{3-i~)iW^LO_kR$)g{MQxwDTKQ1{S8n{0|XQR000O8Fa=~?-
5;;*JOBUyKmY&$5C8xGa%FLKX>w(4Wo~qHE_8TwbIVCA&bG5P)-
%*I(6KSrGvZ1vsw^nUPcKR=$f&flH8BN=o0#hvaHW^#WhUnr<=NR98G{6kOn`y_P)h>@6aWAK2mqi3WL@mTIHS}7002S*000gE00
44jb7gd2VPtJ-ZZ2?nb&^kS)G!dm@A(u%E^$QbZl$V1g*{dD2CB*tp~#JAH-
`8R_IR_)r)QkaZUL2CB5V9+o_}xZx_<JWF1;HMptLm(f=X%fQA5Op^d21UFaqv_Pne*OsL_#8V*>Ip;WOX+nK4n4bzN7+1|JEwNT
tu|_&s@7ZKAi_orcjo!%}$U<FPPd{P7F(RwnFoG<1M-D~C}Lb|+)qpwduP0oJozblt{`*mbRB$9~+QXk}25UBVSKT9LX6(d<f#-
n)(2%3`Of%m$n%2om>(?ThxV0{)^h3E|5j5!#P?L!x;wF%iV<fPv&7!$CG}b?n6^N;f%rrIQG3LFtZgPoixr9_v{DR6xQ*PR2X9H
x8}(m$gV33ubQ0Pe3Snv}H<|c)~(cE`QN{#_133_03!82NhLM7*l%(CwI}lCcZzG=4;GgL?^=3!Uwp%0Uv=UzFEVf{~wZ1#u=M!k
-SU><@DKB0-KqdRn!kJxV|>?!~f2*`8L~pEoOFhVUY%}*G=l<Ay8o=CteUdVxH;iY(o;q5$y%K-
fQEw>n79Y^4+ZH2kW(1`P<d%oXg{hU=F+`s3mYxq<H6OKv)t9(f63<WiJ`eCCB)SyYjBzP)h>@6aWAK2moXSWL<@6X{b8`002$~0
00O80047kbaikpaCvo9?~2<v5dZF{nC6RZaJ5?~WeJx;30o+XcG>Oq?zk4CSff~tEeT0Zn%*7sA?^wLBpu0inuT3|u{8hnoB7RRv
3R2cI^G1eM^IV?#XI$l2W9jU8izcf2kX?H4&ad_!GqBdT7-
``cNJ*dqa#lc=Ab*n1q$G<X(=9CEEbvSt#JXi7%caGzJBpW&u4RzPVqD8Ob?cawo@CJbT@Pz6^%REV789i_Q)hUjbS!=oo=Jq0p0
E!4qHZ12dBajPNisialkqjbTCfTE%$AfIb#B>Qlg@+rRuP*OXkp<ZjVLDEO)3w))+0-
wvOeIb#l6ZT=2m2c$l!NM>7^5nrBMFnH$5e$_HPR%M9pqTzQ1MqYv0$e^sH#*U1)mNBD~)jOGk(Q4U_|Ed&FGP(RSCaMVUA7d^Fs
5EN7<wUPSd0Cj?k+6g;6dX|?NRj4V+C;ghDk$kN*_8cf_aHfMF-
~R`xoDWZf>SNEtV1Ie7TVtqNuBUW^C&+mpCDeDAAq69W2k4Od0MDL7)ABfE=u!nIrxgv39VqOp`@#NB!9On{FPRTc*`kb($&)z2*
`Y3G^AcXd)#YPg{yql{#z1HEHeqm}+|x|5=|5L7zaeHHyY2ditk;w3o;{UDv7fA9cBHant@cpDZ-
m5SRo+ZNJoE!W*7MM`3DcGnF&~FA&K(u^PYRol1gfdi`Eq6x3ucG99$e?S#Nzo?S&hacbtdDHIqbv@lG4ZvY>c4UpF9%$^$a_C&B
uHCd$b~>hxtZ`RM2B+jacPA4QWn!{yXQ_L^;;)gmT4r@v9GRz-
k=(+U(M`%%mU`jAzCY*k>WCD12Y9Z?9i{fPcr!^`Gmv^ZAe4_wU~RRl%isad}y02SuzVg%l}}6cyx$yoxk3f=IT?hajI`<t1<ra%
^U#I1@u}i`a|`WH~M%Ztc8s;$p4ECY%1n842IaJD2vRADRZemqXVb8Qe@;x0$v94MR+@;WRp)rb57=1?}D_yf`EFUEpb#y1i-
;;)|BRE_{?SYRJj%UE17(jZ1qB^1$wj^P6-sEej?#ar@X|)2Sv-KGoMLy-TzB6HrS71QY-
O00;nN1!P?{s{fV10002|000080001UbYXIIE^}x-jm=I2F${$7d5U4nfgZ9yMNrfummWbv;>5*Gyj!c;WEJlg9-
p)o$g*U6Jm0MDnniPSkl1iM<3M^e$}=o436o6RlLX^Ds{02oInu~wY^!x;R(Oky{Sw8c9Pyp<i8DkYapvgRqfZ$G9VrBK*uUcQ{i
8Pg!w&Vi#9d>DKY+D2gqB}x=VNB_ip~Gsx<INJZVJ8(ic|<5-
DX?2rMlhA_W9{zmXXsk<FPFZImfCtq@kC<u%Kz$l{UXnO9KQH000080AvMZU1=U4=b{P#0Nf$~01yBG0CRL<bZKKRb98xZWiDfLb
Cp?LkE^^9zVEL<ijK6Y0<Uc#5Kyb$_O?~8s$Lju61oHskljsD{(HwZAI7lR9G#<80Dp{Uo_XfOQBzf2Z`;W^+My#pViMbSn==lNC
!FFyJl>j&rs7RXT%5w2nwGqXb{LTpLGWDUC445XN8BSkcKoZ0cA1wUF6Liv9cR(*#1cZq^SLVEkp)S3<YM_M>(r|(<1TgKRU^i;6
Gf*)jBhwEqg|M>kctTnW%;d*a9Dpm{@f?k7YO{nygWxq)iB=J@aA#pu0`LbO;r?j!Y}kAubQa6!eK9uq+<8}N}F?DMkr2b`hISzT
gjpi+Pn!>?Bld5V7z)3r`g9@Rdx~f>aRbr;}fgBw;jLQxBOt!x-Ph_UL5|(&lR`+_4mU+s-
)_wLrcrnZh4bukL1>MRe8wE`qmv<UhuT*<*IpkfdSnxpigg23!B$fUUs~B&|V2MjEaRgHsfj4&@QjasH{r<xZuNu94_vm9u8)ARU
ILCFSig1;!#@AYyIY;`s?6+d>%Z%{!-_%KY4z>bkWgAalt#-
)oyE=3YFT}In`gWFtB}5qp*YHVG}rFS6w3*@wgCeCql#=V<iXnGbSEk;w16#PFU3uc<6N_h!^{ZBcXI~TF@Pw9VDX6suu(02pGxl
JZY-WgHwI*Mu^`V@(2-EJH+!DFz9Kaoxn$rd9`_<IK7iJv}87%<h^HkTNm^motvD+@GIqZ4$x?$lnaCEfD<dx1^^C-
hL3O9M~t5jJ07G-=pJ@qa!g1%!f}UP;(`C^LWN*5P45B7Jb1zAB`&=B%vpDdJn?lfqNhfJ>s%<SJ|kqoIE%oUt-&)1iL-
)>0Zm@M1C|^(RCVi?=M#UxL$2_q<2J~7yOwQ4Jg}m5&C4tOdP4`CHTxKzCIlh$ad|j`W)j-;b=Bq)%59gY@Ap_jH`d3-
HDyc~%>}Dj!tpH$v6b(NCHIpC)B-
TLt%{skJA&MR@OV6cIG#Eq%NvELNS)x}z&d4@clUlVm=^iDTw3!?>j=XhlZaA6@y8YDo))s&uBpni?j(52N#vvv-
vv#0(HodFreG(Skh}{{CqJZ<EXWd!CI76UT+$E2mT(kLY!6>7`r65T?d0;*axVjdv#aeWPqM_--OM#)J0dhl5M6|~9fpUjN^h<Gk
+*qL@Lse04xd~~*ut5|n6i%nu`)VInp8_!pt`bGK7j?hNlKL`9MATY7$idt;2l^?XI*;hs#zysPb-
{NA_mNeR2vBSfU(*ug<#cow7a!0DgQKTPKkvLLQ_m=Fs@KHcyj*1ZC1^`oR^Z}lcGxB2et@jvItiu_0ccg`Nr71AQbUWpl|pnh-
=9wDaa0|0o{GsgEhPWO>_mG|7+5tC$OagnDG3A2LbE|KlT=x!wPIFl>cx*%Ys-IN)#Fs{I;dd|K5Olvb#M<6bat~ZSd|BG7m$8f`
Y~!tTD_?TPY11I!D@!T6bq}_+VdoM|-
8>ZFp=@oyyAgTh2D2PppLnKfH>k(M?Yx2$<+HnMauF0?WuZ!o@xtTF(cvB%(K>bNrmq(5SzHXPwFigjck$M4pD%oOW;CVG(@ximb
d<0^;Iv^_R83irJnoV>Tu(BFDoHC6FX1R)Bt)rcn#3hy5Hc$S8v1r6rP{<s%4f`THt7XzQCH$o1B_ogZ&uS#A#w?HeRB6YYY-Jv4
6l0tB!g@>1Hc{wJ`1XQfxveO!S+vcga+Xgp4kE|*9(mxS`1G;|+Ryw}mDi>DGrF~jCD22rO$;aXyBiuOB9WMt2pC5ZmHy<d~6=%0
l`smw|st-D7~_;9kSx!S@rf5TVFcfM+EoLmLpX&cMQZh$YjzFIcIf7tk;5~rUNJ-Ju-
T^!vdVR}l~Pc@PwVyZ0bfC9U>e|Ptq|0TWf^c~{ifA(Xor^ibaVg|MKy3AbRdq<d$JZxb5v`V|&W!y9pEG_x=gwHRsA|<-
auLfDw!$67l8Ud>~PqexL4GTuH_PM|W-t=RBiccsck3l2yrQL$6t~_E;JBiqFK0`JAn-Fq0A%xfHk+qsM&C(nca~wV=mt{<KS1FO
q#+DcZcYInhEIn@o9rGAx{vf6$b=lKY%-
yiWVDjUftYKAlsDw@(RmlKK&mvwj6AVzicBPpKewQbhq^BPVtuueLnT+TH;AxVk_YSIQ@U8|HH<e_RF|iz~%E#HFmP1;3ET?XAfW
UnnQIz_|!a5*FOcyg$@v%S&&(bV()hHmzs$|B>q9MkJI~mgDhz0S&i*|0{2VP(-
vauPap63!Zj?wZgKCigJ_ua%jEoh_>!BtyGQ>DJx#*S`6eB!G?V4=L%%;f5Z^o1SqiZs<s03`2cA_9-
5P_Nk{Gt^$kV)v{7{*cwukYj{0#UO%C<t%-
|ti^)XEsw?@CO$S2((cl06`n{cH@I^!Pngi)l>CsO&X|1~$R8c+r;R*gqlBedioacEhZz*L9F}l~tZlm`sU?FChf3OM*L9B!nsr_
j+XdemSe}0*KAvO^(h#bFsR=Wbw1$!lIy{YgO0hopGLaB1-
M#4=;gNZKQCH%ldlZ;#Z;4F6%=~u&92|U?oDLboB`>>!12Lq#_uJe%^r*+2mrUzEhH09r7;P^cbme+J{C`@8g_}9&!+~@mPx*#pd
-&*iY^e(0b%9%^HQk9#R|(P<3s0Psc`O`vc6ifN1`7nlBiOJEg&N2A#x=4mO;R$gQPbQc5|?0ZED`b`^iI!e2W5<4gX7J7%b#^8J
?*tt6&VAxAcaW$St=8~l$>uR)S4)N6*XK`b{7b}dBNVuz88B&_#ySA()zF8DI}!q!FJzb4V+`*r>^^~UOlN6Gf7B-8I-
Lj65w>d)is_<CbWjHG=X-av9?@RA3s`qU6Fg{!ee`Xm$*qn$<*qJ&ALU>3=|@^UIjhL9R+FNqbO@3XS5(Ot-
r^Px6amd?7S2W76N`>7;B+QHn0VERUk;e?o#S4gsB7Uiwt`enu|*5nB9N8pD-KsI+z4JXfcB+&6~8~78Lrv|H~ri*Fgj>Mwlgjq5
xCuSzai9dniMxC1Ux0fvizBAX89?7V+n{phwVFmbi0)6TJo4cZfmUVi_{<OmsYp#{9B`k@p@F3Oj_5KdDPx>byoSfu>|J%hGRz)G
2%|NteI1J`6IaU+{QCDPxd6)}O}$@$mlJp08{Zh=fWLPQ<}=*I!lD^9W0p1X?d-
sJg38?zl$cxS=mML{m0JPREd%VEo&a1B%|Xwl4}n0sDTuVfyA$2?fem=g#qDQE^a$=T6}d4F^#qE^EzKCaeVyjtjXL<Tu}M4K`Qz
0^?m*!(k^#i{fR580vRM)A`V}n6<ncI+*tmqX^S=#}d9<X}7wQ5RE+n1%JK(TBp*Ju&0geU%OjbN?}?{bd9X3_boKE-
7M2u<BQu?U5Zt=dAap~hA{<}jb2^h-
!(>6d|UJ+r)j52`nlV+4IhcspHU{mj~J?F2;1!{T~Q!3@6wAA_@2bNteGvmh(+VI`bL1#J8L91%BT&G@I2)aFP&O5@X~C0M3_+H|
DJn4{`7xPO9KQH000080AvMZT|Q|eRGJL{03j^^02lxO0CZ(-aBN|8WpgiNVRL9=Z((v|E@*UZY{gnjZzIPMzVEN-Ot7H@h@`aMO
&psfz);*>A`+>P)Y=QfAeu8xvY~mUr-u^l)g>1vK+Z9eTj2Z$-}6)aOH$R{^XMU|N1}Bu5@-
5VU0wCnSJl({g%`PU6Em`sf!}H2U*gkn*>+gyz%!#>rxh?siMygAVY2O{a#8=(F>gZ}u(q@2>^hEwbch>;l7-OgntO89_Sl-ctga
r8c*rHEem!xi&)O$W=UGc~>9fx3G~rQ5dOTzSCI9}B^k5bd`K_jIZ}~jDB7*sCCy^VUB`d~Yt(9Plw)5?`Bo+Q_5s8CZBB|tV?P$
S$rX;JW{tY)tYKP?Z7Nl;fEj??^BX2`opC(D$@o2J|M^t!qe2a2<e4RD=bQ7f#U($qoEPIW==TyLqrM~bk1d(BiRua=Ndp#F4^y&
c>S5D`3tBFl&m^C(9GXeW#(B*P67!65pFzlaqTTRt50eytaPNtah?90gaoK7Q~w`sbXf$Fcdp@g{-)Lr-KocT`Yi_!S^lZ$SzpLG
ps-W7hrR;bbRFHuB1YO}r0Pk;TBS#@MuT1{H&59T6yxJ>f?|M<J<-
;HCEwc2B15v@Uuq8RkIf0;q&%;S_KQ7T+k8Rb&RmXYAB81|Qcnqj@X%^pL;FiJz01#o7?u<yUiL@YPkBehkRB>cgQIn@p1S0tufz
~(9|rXH8YN<U^R!FjB~YE<VY=)7`X+S0%_rHlgG;F5s);80-pX;LvdpRZZni*P-
?47m_|4Z2W13Pwa?aCBzO1l%VeR2hctQhu}q^Vi-(z~xtw*LLD4!FhQYr;;Fiw4D|A!1x^l2yP-
44p~z_WokNnp2_Hng$KqD=PB$aG=r0L9&kht<1aD<>i{u5DmDbb1Ds;QmmvX3T1`C?c7-
zM2HsTO2|ohLa~&8oGC;;e_FhJD?z^_u*oMtT1QveLA5TWZ?io4npANcYFnm4kPNw6_-
t=<Z&wOol0v;Iz;N7GL>o9SrV?ys%oHYiiWYBs}L%L+SFA&%h0lX1}g>XbZ^N0<O#`Iv)IP>t5Il#W^2+Q}H!lXZb*B_J7@C-
nPw3HbkxGeaRtl_-Coz<$hw=hCAW^kev*?IQub0w>Byv<R-k_2}G%3m@$TfoXI=FQCO<lvgi)vR#SwiGElB+qZl;)fBSHzQ~-
W?E%+pa`@PW8~19t%cH|R3HlrJrw8p?X#A_H^My)stU1khk;p=iVwl7%qjcB@#yTVe@agK?*_g8Bs)8Usj#*=fDZ}tVI3+Z_=sR@
Fm11PRAYZksV}42(edF2pC|GI#G$2JX+0WT*7~F=xRT)CzzKtuhFa#NqU}9Wc6-
yoyFQtWF2_4%%rVrG61{uP%0iypCuBAeiU_8W3i=2sd);aO&1n3djKI{!gVSA-
76!3j2#+U#R2za`w&n?+b05Hxh}35fm1H!0J$Q3D?oJ`DR)pBHc57`n6#^Wa#OWL~1qPk<t-
6IVx{hsrc>t`&UKhwl#R^Re`q!PnbbLaZr2i%0)1W`>6;Sk|5>(+uEAC8JEGfZDvI$)xBNd)tGsc(+T>y3wxniUndLrUrlRn3Na{
#raK6Szq!h_gX0g-uS1S-
p!?IYO)^9bn0Pv8GJ2SAO~D%4n!WM|+>=$g$k!87*uzeJppvQdQkQg9Dxo#H`Cc{r0<LQhKLc!s|q^3fY@pl#>XF+dXdkkVkWU?y
rK8)W#Vo<3U!$Owgy3KJ{@@K|yX@DL(Fa%gQWOoKTS`PTH9nHe)PLqI4FI(wyrYda?|UmiQV<k>TPmw35;QXh`)EfWz@4BS%63SQ
6DYfCLB$M@)^827-XffejoJ!`Q9cyYXY|JDd==^f-)M$4toGTSgg?uu=Ww2%<pzB;HuZZY@S%-
3*w2LH(PUG4BFZwUZ4Spse6`bViLVL~@e^p8@L47@osOwUh$N2rk3k+>>1N4j}*emW=UlFBWh83_-
t912_&7WPo2^WqgzuMWRfq0!Q`yJGHD#i!J}d32MR9_SG^uc9#Mf-iEdeg&^_PBnmeIs!xc^IL<tFjB9kKvny{Iq-
70HVASb8;k{q^a=8+37|p=<f>e7Hw+g!#Z%(&3&7z@2nNhO13(QE@PNS1Rx}(>WF#0l|KyUu?!T0R(ZG(apCj=VOadlDM;5wb69d
|!;UPRv{&2>D!F%A+bDFRRgK(Zh8I#wCnd_y(!z9{U{aVl%G@u^fpDqPRfj>LL?m0vr_<;}8_ZP*(+tFm2KTM|G>E$GUMBXwQn&&
1?)y$^F#5?!57`JN)r<V1K*p4w;QNg&8xi!p%6M6dW6%V}+X&ggXE1D|YTXkGP05WJ@%%HW?(2NP!FDp0ZzE5<MqjNWAl#7P#Cp!
l~LP1k7i&9VHFZrtF6VL$>iRuHRrN*sUrnK5o_G<<X5I4B@1Oe1IX~``il<*=`bG8+yHeINtuaL~ze8qzwxLpr;t^EIN*Q4PQVl(
9WD8lY^RG%qYxSg6bwVlI%?NoX8VyvcQ0W65Ijx>yHAR!wj8>H)bK!-
^whsc>aAZ&EqDCb2=(RM{4oojeg^O&j2g@F4HfO=k`{f|!0CQ8C>er8Ajqz5irLAK3A+d1D5Kf~a`#q^!U5q|Tk;3!+%%&dYNXz9
esEQ4SIGDfkAC}tZs3ca0<M)A5E1u-Bv9BZqoJ5~n-pQMoQ1N37ygLzlcv8k84n-
c+HfaHT*j?W<QWOLx7r4l&sID+W!n1g^5vuWC=NRup$t)z^T&zjBbJR9tWBGGR)8jU;DbqQ2PA?JZs!J#EbYFZt%(g?MK?gAP4Vq
wbzbb4#*3)nW$A8+^6v1!e=SUlTHh3vXsw3V6Sjx}vvkJQ0XpY$)@Y^yk4K81E+n#N7wZ`0A(@`M#0CMuiwYzZmnhS;S8EO3!1^f
wK10TdrB<n45NF)89FzRyA_l8P__CuIq;3XHWPy5aD1z5#*(DPCS2q#^S)zt{%CoQ@%YWbpAYE>^14J|!9Z1bm{`op#SgZ%SmWmz
9yQ4g`o&5V5hkA2=d_Q}7q`AQ)H)6Qzm-NfRKMNV~YmwONOC`7%UoIZYl+zw%nNMZZc*J(hoI-kB4tywox{&EK64CKqSj_r#)Vqw
#5foIl-5!~_yCTTIQwkUNP+9&~qcFrhdYyu=F~^~`Q0VuGKQ0XGn=w+5MNPnJQOv_mv>K-o>L-
m11csFjvBO1R9*JQ?SD9N)+UuN{@P&=x-n-xxE<DtEZqBbi3V2X<rtj|ly_B0gH^&mw^l&<@BYwx>wv?xevEzl!ZEgWF0ROc=KF(
n?6K)NhQ7KY%CrDo-#)g1y{8)d_$esQ>$V>Dqx}0#>g*^dVPXQBDVZup-
$GkG!L(W5qSrST@MZ7fw|}Lv~HFlI<2@D|`2&7Bbf#J+u?<CR?kXniUm@+ibzOy;G^Jsp453*2R@|1x^1p%08~HVbx8**zmHpZWm
EZiOM)YrKDmCBX98%S%+Gq^h$liE{W_df@C4BiU@b66PoasGYUu;7Fd&T(?muA{{}-|f%w~r#J;$0-
=;ogXnzTz{k%V!bl(hy<=|eqpfv>+U`ANBu2Zb%s{5n_oK=;wRRtvko3~3Yswn>Oa`tyyp&Su|;{28lcHV8(^$q`y7zU6;8*q%QR
4~g5X|z$k@zQON3tVN%YDeWK3}E#C8o;)1@E#F}tc`u-U}UEV=lV!2&o{@km2B)mwk}xXH9<>FV-IiU0Tk$(avx(hCSP0FsxL^lG
gLI3t;oZ}MdWk_A#Oxj`o6fLSBE4+{omK?nu?HP+3gGcV}Ja)AHgp4eVXymhvp91cNb5IF0TMxDwn;0B>F>+;wugfF8%CIe)`T_k
R@=kF5{(|^ykFf2IoEe2+)|iAUIy2DeRRD(zOTIZhxp;pq2J%1gz`$QvOot4GWn-
o1%~$vby9!z8!!+3>(=^XWZ$*GhsI|SZJbfk}20!w?ugB>VkAQR;8IZow+z{kg>Mw<c@p8@;)Ev*e>M!Sl!d&);<a}<))Y`N^523
*Cm=PXSbz~P1dw|<ylwujY0n6tUH;K$@^h%U)_9fo@RoNx*jM=x3^mEHMUCK_)_Z|z*K(q*~#(OmG%R#0Tant!oVzGwc3!avFHbV
fBW@z+1zVn4zM#<8|%jVE9U!4>|5ELS{KV2*4hs=Ha%jd)mJ;x|1m0hKT}l1<#&-
dYn#;!@4qW0SFZiBmb{}<ypQ3juh*Uudw&hs+r2y;OiRc+20R4-
q4_s)8hX1PY7I=8s+$FOh3eDjq<3RJm_i<KMDSyy2u{r0r9GV7{b)h0HY`Z@sy?4dmnWa<X84Ydb+zHUKgue77UMUxrG5}h5r%`>
tael*wZjiZ(wcv$Qkt{4*zy}5lfWdBGM!Xktf<DwRbRFkmp5)){-S03j`lv=%C?FT5wkGw?%ZJ!MY8xHPd_=8FM-
Y1u2?`?pEQo~f9V^>GK0sjyub#a14x3#5rV7;R*9+~>!7DgrAZpc5TrcxG+Y$F9mFg2{OZQ|mHHt1*?#~~O9KQH000080AvMZT_}
Xpy-5K801*NJ02BZK0CZ(-aBN|8WpgiOa&m8SE@*UZY;96YYQr!P-RBglHf|w~$*v38ixzT#UZ9MnaV#>HTxpzOLZFA}344-
CZW;)5BQbA&?>$L97_WIAQS>}eqw*;T+`g9RWQq|?qXuLUx`z;vYdLXOKFcfWV8B`)EuKanSPJbOqf1pMYq+ls9<9c53D(wGwm@a
nKv-
|n2(s=V0#Yp_&xEl@Of&j`T`kXNF$H?>e0VG(16y6JJ4?81ESCC>j<I+WmrEMOmI<5P6s>pSHL(buRP~FhYSFP$tv9pK1Tof<{NB
1UBUuYrcb`aHh*BnwaLcp-oGAwg2ifdYl~c*0ZS#g76Gj%3gCkgimhi4`@5#t!^Vd<O7B$|lbDmK)Nwf9_lOpl``6W^~V2rTOh^o
d$!Ho(#F$SBs%>Nl?Aoi_?V6OJOfIbNJ%kwP8K%$XFrz=~KN#zf)`T<Z&0|XQR000O8WCdhh=8SOwodN&=*8~6n6aWAKbY*RDY+-
a|b1!UfXK8LOXmo9CT~y6(+b|5i=P5V=MOvU~*4qxYfudM}9@Z5ob`BJYwuQ=)C(+4_BG<jb9%c7E%ARDDf0|?$+oDK*B)^Z&K4`
C~ZxL#0Y>}lWSm~-
<pc8yXsf(;ZlAvlCB2q3oDp#MxWOcH^T<i?)TOUY(@{Z84*WPHVbB#Nra5WsRjWcAVT}34==C`6)WMs%<@z6!%9o%zl@D~33h8I&
gFfLn<4w*IX6$08^MCvWZ8j->3fMqV;-
k=M1Q~GeZj3mjZ<#lN+4y7#z{~HzK@(K<IE_*%nw8*wz_n@qdF&EZX#;uYi^(BovzhF3PQ@Psg{tF4xX^x4le2*Dyt44-
bQ9NYpbXBCt;xydvFmO}IF5g}rzdphJ<J0FaciDPytZ$2H7-
yL)ZyD@n&bel{DPVXmvi7_>=ZOKHgV{+!rlx7QGEmG92H<%?@4JvFbEpV4jBG_nUY5UHWMhNcNQmsoSB%{ji?@p*T5;COhyJ?37-
fY_7*t4`l540@ZzglR+#9MllefW`Q|RytE)J&y;aV9Hn9MotKo_6q?1#hHCZnU%sep^aBI9=hQV|R2TnfVoM$$P2)n4bK^)YGmbV
eyYQEOb=5u{bfMQyZZ`A_0jF_Z#!(sno?r1OUSE4s^3Qj5&WE!yHvH#~tZVn~5g#xcii6d*hD%tULE&g=odcP6BH%O9-WikC-
x`Z)TRUUiX49${v<XYOL}gFXXlC!?5JIiAmfRTl#5V0FBo3pl~qc0~TDYjV&A!@}-
?7aC`X*lim_qL_9T2FVtGfBt&c>6nKTuG6%OqfAThX%y)T+HzGhJv;&4|5>x!o<&*8&Qh{IdDt<qPk#d04^qt5X<ZWrFK=3j^c!3
J15ir?1QY-
O00;n}1!P^H?3AL51poj~4*&oY0001VWpi|MFLP~gYh_<_Wpi{caCxm)QE%Hg41UkA(Dg+&<~d2X9fkmT=sNUPU|4%=?_PqyP;5E
TYD<PBJIRLr_fe8%J577tcFRLzOC&{pBtJ1HCnuL&)3qd;364}L?kLh!X++k9ar4U&Q=%Z6X0TCKLK3-0H-
CR*nxc$ovLcGcCnqN(W;Qi)KLuO)g)d5Q|16Y$QZ$uR_pkfz(VUXAf{t=2N>mZO0b{LMbPcZ~x0A|!r3JWNZT4|aC8z#ybYb6|*p
|w>ue4sraAGZ)-g}`n<rLzkNkx>}3YjGvqQLm)tE*cyw<iTjVmwKbFqRZhXlM||6_J!{wU{nP;B{;qi~%YtbufvL(lRg>!f-
U&GQH`-iEll6@0p~j7IGg{lICnT$9b&){=@*E;1CgobXm<t2tJv21y(}4Qf*-g-
)JfL`W7^<TlZg{PEP;)16!F?@SLqd?wfrzAM6lM?&u!RJp8eSg!819g(5i(UcU{aUcq77DmX~v4m4N=EHavk3_uxZk*s835%A!oq
@d|m@R7&?>>&4eK7wi+p_1y2$mUqtoa6Sm`z}-nG(%&AE6EyT!G#~2%Ioonw~&1bAn$ZwcH*oqD-
}4|&|xc7OnJiq+6BJ&=jQV2Q*wUw>EiM)yo57MZjJbpvhUw@a@HT0*Em~Yr(zuK`XhEvNhz|rpaCXT<;9?$m`<`);NDYE%VXG&ZH
1%-g93y-
yD4Eag}mqhk2jPQdh@k41295SA{i@9bgdGTDm0&?)5&DG@0D@*Q1I2{^f5tFv2imUJK&DBUQeb+jum1JCGf0Uz&06L;d8;Ex(kdL
2Qfo3R?)Uo3Vp0xw@AVjNeyuYwrA9=E3s5bgSA><^Msd&VN^o(PDPf*=HGB%vc6)muS7hnw)c+&I{6KDBj@7GeBVErg5MOo!L}?7
%I8o*R9c7!1<+yrFedBySW&GRU#l*-zNh;jB2&pp8}Wth0CdhcEeS-vp;9E8>B4M&phY2u#E^nfKraDW1isxQaApl952CLopiDVg
0UH;rG1|gl?AJ=sFe~Ug{{H!DJ_xOnU?HOtUbAPy^X?n+Mc1t!xOc}mWEAhTq@)~%MR`^U#x-
niw64@_Jf=HRR&Xf@xt_h9yfx7c>I4i}lf8+)Vz8<!Djk0}q^PL@rdkheSL=9Se++KXUA!xcUqc3xLf3Fx{Qxo^#Dp0~r#&WZdcf
12Hc=Ldx9UXSycq_YF;x|0?`!DH);T&az(1B6E8rh9Yo;)MEhxgdsCi0DXoDXJtc1QJ>n`bBXqFn_wcuuv@mxIThwWg;;-
)`<J?%{t_Kn+mdYoW$o@vxPe*Z4HKD+%8n*vEzd+3e+62>s3F+M$H*@sn5n1lu%gKfaS=cwOIK{=#qLzQ76$1O>_0w*q(VNX@|2(
)NoNH_yIm=>aG2%{Csg+zBzW5aH(u^ipa=h(!6my4Ivmf0$1FB%`GyPT|0WM@wk9-
IT=!FPl++Cc7nZGB`7;DMxoN%8hye18BQ*gC$XrjcFmn9@#A;DK3$SQB$(5H9>VcKeA7=ow!hyK!E*tCgxsz{okcVGl3m2yHBdC@
^?d!|){8SJHOOI|>7=MEHeu?J#0*_>sFg>NmUC#p(;V(5?634{d_b!VWjf#gP7&#%_BB9Ep1(QJ^#dy^j8z)=`HX8R+Om!ffTO9P
o;>^pIPQ9Ul;dx8vEsnHVy{^W)MFWF{wtqWJ#F!K$q+mOWi{K&s3CpaCZ}#xFYY7kDgb0|oJOobZ1`?TYZJSRa|KM6G|$N%&U)<1
)TJySbSmJDf%6{O0pTgebRvD8ME7<0fjE(g^v=iQ1e-
s3pzF|EoH?zBJ9yh?F?h)~Rsx9Z*XF0u%!j000080AvMZT@zAPXdnOp03ZMW015yA00000000000HlEc0000kXK8e4XKrtDWl&22
0u%!j000080ICIKT__TrgtZO;03RO!00{s900000000000HlFP0000|ML|SOMJ{b*P)h*<6ay3h000O8Fa=~?)GQg7PZ<CJ)Kvfg
1^@s60000000000q=6(4003cda4v9pP)h*<6ay3h000O8WCdhh2^P>DM*{!=dI$gjA^-
pY0000000000q=A<x003!jbY*99VRUJ4ZZAf4b7^mGLvL<$a&K%yY-wd~bS`UjP)h*<6ay3h000O8Fa=~?-
5;;*JOBUyKmY&$5C8xG0000000000q=6nR0044jadl~OWo>0{baO6rcyv%p0Rj{Q6aWAK2mqi3WL@mTIHS}7002S*000gE000000
0000005+ch%5jAa%FR6bYEd)ZE0>UaCuNm0Rj{Q6aWAK2moXSWL<@6X{b8`002$~000O80000000000005+ch%NvCb7gdOa4v9pP
)h*<6ay3h000O8WCdhhHLCxWzyJUM`~Uy|2mk;80000000000?Sbhr0047zVRCdXb7)XY0Rj{Q6aWAK2moXSWL;?<ALpV9007(~0
00mG0000000000005+c&oTf2b97;JX=5*Qba`xLE@N|ZP)h*<6ay3h000O8WCdhhK4~LVnhgK|AuRv^7ytkO0000000000q=BD30
04AlZE$R1bY*idWMOk?VsBw`WG-lQZER3W0Rj{Q6aWAK2moXSWL+qP)4fRn000pJ000yK0000000000005+cZ%Y6GbY*RDY+-
a|b1!9ba&K}jXmo9CP)h*<6ay3h000O8WCdhh=8SOwodN&=*8~6n6aWAK0000000000q=D*8004AlZE$R1bY*idY;R|2ZZ2qaZER
3W0Rj{Q6aWAK2mqi3WL=-
^l%k6T002)9000vJ0000000000005+cxlaH9bY*jNb1!pkZ);^=bY*jNE^v8JO9ci10000D01W^l0{{SZRR91000
"""

def main():
    target = pathlib.Path.cwd()
    archive = base64.b85decode(''.join(PAYLOAD.split()).encode('ascii'))
    with zipfile.ZipFile(io.BytesIO(archive)) as z:
        paths = z.namelist()
        for name in paths:
            p = pathlib.PurePosixPath(name)
            if p.is_absolute() or '..' in p.parts or not name.strip():
                raise ValueError('Unsafe filename in bundle')
            dest = target.joinpath(*p.parts)
            if dest.exists():
                raise FileExistsError(f'Refusing to overwrite existing file: {dest}')
        for name in paths:
            p = pathlib.PurePosixPath(name)
            dest = target.joinpath(*p.parts)
            dest.parent.mkdir(parents=True, exist_ok=True)
            dest.write_bytes(z.read(name))
    (target / 'start.sh').chmod(0o755)
    print('Fusion Cinema Control Panel extracted to', target)
    print('Next: python3 -m venv .venv && .venv/bin/pip install -r requirements.txt')
    print('Then: .venv/bin/python setup.py && .venv/bin/python tests/smoke_test.py')
    print('Finally: ./start.sh')

if __name__ == '__main__':
    main()