From 94565e3ec0c14a2ffb3024a8b6267ed3bb26dc03 Mon Sep 17 00:00:00 2001 From: azivner Date: Fri, 16 Nov 2018 14:36:50 +0100 Subject: [PATCH] now using .tar export to initialize DB instead of direct DB dumps --- bin/dump.sh | 3 - bin/dump.sql | 19 ---- bin/export-schema.sh | 2 +- db/demo.tar | Bin 0 -> 2420224 bytes db/main_attributes.sql | 216 ------------------------------------ db/main_branches.sql | 129 --------------------- db/main_notes.sql | 108 ------------------ db/schema.sql | 73 ++++++------ src/routes/api/import.js | 4 +- src/services/import/opml.js | 4 +- src/services/import/tar.js | 15 +-- src/services/notes.js | 5 +- src/services/sql_init.js | 31 ++++-- src/views/setup.ejs | 4 +- 14 files changed, 75 insertions(+), 538 deletions(-) delete mode 100755 bin/dump.sh delete mode 100644 bin/dump.sql create mode 100644 db/demo.tar delete mode 100644 db/main_attributes.sql delete mode 100644 db/main_branches.sql delete mode 100644 db/main_notes.sql diff --git a/bin/dump.sh b/bin/dump.sh deleted file mode 100755 index 56f5c8a6e..000000000 --- a/bin/dump.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -sqlite3 ~/trilium-data/document.db < bin/dump.sql \ No newline at end of file diff --git a/bin/dump.sql b/bin/dump.sql deleted file mode 100644 index dc7d33b3b..000000000 --- a/bin/dump.sql +++ /dev/null @@ -1,19 +0,0 @@ -.mode insert branches -.out db/main_branches.sql -select * from branches where isDeleted = 0; - -.mode insert notes -.out db/main_notes.sql -select * from notes where isDeleted = 0; - -.mode insert images -.out db/main_images.sql -select * from images where isDeleted = 0; - -.mode insert note_images -.out db/main_note_images.sql -select * from note_images where isDeleted = 0; - -.mode insert attributes -.out db/main_attributes.sql -select * from attributes where isDeleted = 0; \ No newline at end of file diff --git a/bin/export-schema.sh b/bin/export-schema.sh index b20d1096f..152bcd0e0 100755 --- a/bin/export-schema.sh +++ b/bin/export-schema.sh @@ -2,6 +2,6 @@ SCHEMA_FILE_PATH=db/schema.sql -sqlite3 ~/trilium-data/document.db .schema > "$SCHEMA_FILE_PATH" +sqlite3 ~/trilium-data/document.db .schema | grep -v "sqlite_sequence" > "$SCHEMA_FILE_PATH" echo "DB schema exported to $SCHEMA_FILE_PATH" \ No newline at end of file diff --git a/db/demo.tar b/db/demo.tar new file mode 100644 index 0000000000000000000000000000000000000000..be20833f954efa12df8c79a24794aa8400af7819 GIT binary patch literal 2420224 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 u=s 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

TEc?G0{h#z6nxy{@Cck&eugs6j>l?qR;n$7$ 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

HNgB!zs z{H@F3@hGsIm-{+fk-OEG%bSl>SqMu9LMm-ynrU0eHwY!oDU!7xVi&G8+uGIhzpLNfyaNap|Rg^D%GHSE9 z>A7U2K&M*9byIto>T?7E#9sNWhRfI3s0kn>`F$GDaevAhfvqc4aYo}@ra2lYXBYt_ zw0hn^5%&f(rYbY1cAgEnq7epPs~=cIrd}5e*!Hmkth_&DKxael{+$as$PzR@)6Ld4 zHJ3#+Ut3U#Gj?l-XKg&p!n70{*IHucoXXgjUW@O=4E>_A zAV#m6@>;_X0gaK?_$DlMu0LqrT7wc^=ct_zxEZMjd_eR)ZXrqCGqzbv!XdSH@P z2veiu9rrb2FlpC73Oj}z6t&VhlSprI9rtniq(hnm^Kb2Hg^hht?%4`u;LA+p`G+NIp~+PJR-)J}()6=f8kSPlpti|?O3#s{w}zSJi}Pn(Tp8MFTb10h z%ve(F)76&#E5Qk8tt327L8R@29c*x%c{o32>U}Uc-rXIr3-Ot)_0a0wKMos2ew7T} zQB+f&VZz2kBBrsJ1GjBclhZY&-SWhN?NA5aeo zK(ZXFQTCUpVexIH-22yv+0sKtIqj&f6tw9pT45~u-uhs;IpGYg2lSl|J_NHM^8P8^ zU?|W#9zP@MC#S)L$i+!gYR3swsWEej1`4AtiQIWI9ZZj=$5^bSfRrT%1BIydu$X-s zdrynWmvde!0t>At!E%E>0flKxs=Gshi#(40n<$vwh};+xQ*GY0TW7E5*)2Q1+0-vz zSew2X;P(urqK2^Me%~X)_sKqPyi7h38P;|2;r{mus(D&z)1l6$Vn!JiEhK$wvG0?h zossAi6EpY6;$Dn}5M3RSvXJllm;_XejIa02s=tBpmIQreO;K>=<>2*Ve)3%W zcJ^X1e{IUo=ZnRB(Op+t;@179CdHxl>f_OZ;hT)O6>ir0iJhK|M;sNH#eQPPB;!$g z3zULfOp%p^Uz}U$lfwMc2@%EoETh#+5(^UrSD_(>neGy~`dzRgdVr=&V)N;{V56}F zp@+_r#q&{@RV(F)<`RV`o7&M=-2Q;cK- z2VE^F4sC30e2l32WmQ2rNMAJux{~y0l)>*vCM3AmFK?2L=b{sCHF!*iy=A4O;tl*`DFu27zTdxlV%E@7piS& zP>=w4l{~m71{zNize}ss+N596=Ai*Km0p%gFRfC;3>pG2Bn}LTTImBCrggfjck3xa zcP9XsTBN@To1rl!9ZOLCx||ei#v@f^xnosixnnBojmQG9-QfeAEzk^in(6kC>K+2G zt5Og6|05K*ct_%a&bA-%^>FR<^Vz3Xts}vl%s8KLhK~9b8BDS@BI)#Kj8$0cSZ6Yg zb>3ZM8_K+#J&Jr|6QnU=t)=mUDxVIGIaX3tSFFY%EU7>h#*!RTlSJ8g*Q~#;Tph+_ zcT=(|<)Kgz7!GNdmqHFPIOClFYWf&gI#MusX<*TJs<10wTo}cTYc+nVkJX>%R2^JF zb$r0d;ttq90hk+%_!V94$KDI>?`_>Tr^^due@j z7b^3Id*+Sby-pzmFD4u+e^ZEO5IG0Nt(hjIUKzF-1lx}ziQfr zwo*6TP-smwmckefwvIHb^)BWt$MVGF=Hr0>Yj?;!aqjc+&yvgZz@mkJtx2w3-{9G7 z!7k4`C52l9le=CiM4~bCNLjJo+Jf~w8) zNoL`ETeCQELi^1uTybj_#z*hggR`^g@hR_f%m+pUv!y}7V>+f@c`yFs-~T({VnCe3 z(x80LclTX4j#wE+gw&YmPfJa9_iMXG)!|SHl|)7}?7(qFL{&_%HT3DKmPsy)rRqKio4~p-nZ2wD0&8lxsX?#2q4Z*vR|!6%g~~_2QQ}MLsdoJ z`J7DIh}t(*AK^d#dd61d$~L?<*#vy76qiAgGsi@e&oaLgYcD;M-x@;1Y~JL>T?B_pG?nQPcfE_ZQf6O>^rkoa;8ko zwwnbd@H07Bo5iC*Cj_-Q@pzHTjL(c~t?pW?+n>6==q-;$OkZGi%%MTZg94kL-aqRr z%Fvr&7mX87Pn4nx9sCJvMumul0Q7A^u=9FVUXOA7P}~Pm4YT6glxn-;`}TH*KdV!b zb1?*wx}hfa5h<((LV8jjqO#z|PR#A>1M|wfpy2=C8F&~6khdxL>^h5GL^O#L!dhbR z+(&c;ujb*rIljM+R*{BbEJtjnH<8S|#l_MkRU{Ya<%5?fbP#FK4`C zbn<*jM|1h_F8S+p0TDRs@|LNO7P5xH{8TqK#z(_vK868IfJ;|5*k(xUVEYi4Z4QC# z+9H~aqI$%omuE)&t!!;;n^El9K^)>sE z9a7J=VAL6&)pph( z*3ys&fY&NhI%AkDpr7yT2yfvI&zuJ_sq(+}*tpllemSbLM;*OlyWyrv$c&BD;JGI7{JsV0N z@m^Dv%ipQBS}ep1Jdc>F;>9kY@RYp{i4h&cown0ax}p-~6Rtf$usRKl;!&XBtX*f0 zg>7wY8)|M4XtOxt{aEmQkgBWPHGE}`BLMi z|HPxBN7?lT;z2#vC9hpGOKz#T4AT_LMWou{M0a88&GKuEg6Lbl9?aRn9JIVk(JYpx zP^HC6>7el@dTl@w@t%RSC*C&Z2v1Mi*q1iI0VVrTfy%o)g}rQn(!0N3f)a(+@U>U3 z=nclY_DZljjBv3>t$K^=0Enks0I)Bvslkr|yoPlEgy;2nDMWediT&s4@7am4Y{7IvCxZy7Zupm-w}c~!Ld6ptI7<)JgwhfGRVV2&Rz)b?K8zxA#px-p}q!` z6CyxEx(dw63Z_X#BBQUg&|R7nvN2*xhN*oU!sN$XMU>fax&h^AGwk#ho3fQGesVHf zVz SPNqZ7S;RD6^^idi{rd(8Db$}qhRTQ`aNMq{6zO?W(?>*>+^hQcvOAU)cH*RnUSn4trOgYv}XkamSM!&2Y z7PYFyb-GwK8l&{C-K)iR`u%IhU4p3W@(K~EXn#4q{F(@(Gc9jhzux+tORWX_9&?(0 zW2}B3*-S-}CgbA?Zx_$cCD-4m@|1P3_S_Kz?oO@EUl~#9Z>& zOQ})34vB5x?-F$Pl*+aEP^I;p4p|9!_S!Rw6tuH$_lgb)qG}JbCMHAusijFim%WwA z1z-j9*6X*}y!#~rw(h~*+{aDpD*KPqa=Pa8=;0+vIR=_so9rHMV)AMF2=TJuseNje z&v2mfrOE1$y)FVw-aS^?8RKdv6RHHu(+!HtHj!Se0I?QsZFTIMfjY%2pK;QsWVj+Q zc$}A5Qbt(c?1~?KG~}EDZ1xRh?>kS>7G8AU%ak)NW6iYncDe|cKt!Z)VQxK64l>TL ztQitsz0ZbnDG_*(1ErgjAL?974`2IqkDzCY8E)lkv$iNMw@Mq%S%G0T+}pS7BtTOp zpqzd!#T}tu!kUUo-dn3G{@dHB;pOtY zav?-)V$Pb5L@7z{{a$G8rf{$R?+%~29WGIyZb;^>>BPz0#w3Ttl$PxOfa8KxPga$n z6f(vTs2RR0hL^T~L?4Pqp&O)_EPv{`#5baVY%mBmDwwfS~%5{ z9bZTs6U)iX7g5_Hb9FE~KD1QT$-#Ck@2bvezVu}Vw$_pD{N(6TEdEMoh;j1xf*>I} zb~)mL{gLXLabGUFI;#4K&T78^o8hav|4JEy=y+A+h&U$3yX1dX%r7_`!p^To>`2xP z#_RclduU^f`t#>#Nnp#cWYaxto>-WlpNUSQ7zzpd0^S4bAo%pf>=_iXQx%V5kkm1` z2It^6{(2_{6}leEeVp;*dK<%|l|aLRq&u1&4`1(W+ei>n%YFm5R0B=lj_0qYPo33< zua9{c_ml%v!L)?u#U!n}mM-J$>(dc&um`V?M>CUfd>`1M%nLzkOh{Qu$FL%nK%7=3 za3obhe(Zvrj*goIA2B>^2XkXptBU9j<5RBH#uS1Jm%MIv1Sba*Ez9}gYuwP_!q+<# zSxk*8(*<+r*pIR0GE!I=dUAHPkUa7En2q7W|AJ{M#uy)dPrM`5<9!fCgI502+!U;P z!`Hjp4UMN4(*w>PpW4{AEN!ho*s^obv*seiUt&wENPF*D0SWxaL&hD4I7 zELjmGWXsOdLR9a@)p;$^HI#Lv+pK2YG?~)eP2t z1tUa4XQ3c-)Di5js$jP~rf3%IZjQb|K!1taVmbo~w^wVux zgP_f4DWD%@f_#ahn+1uiQpcpK+aB>u3^P;j9Ahgk!XVQvfQ+Rh6*5tW!Vc_1n(5m3 zc)AUJCY$mqbXC2t3z;RBoLTzG`SE1Bkl;-+aXddio9jpdpon}Zsl_`=qGHXK)|0D? znR%X|?KQ?SZTW0*glf1BWc>!A0Czb*Gyv^yb!T4%uekP#Zk|QTR?;uNUh58PJD}>* zcV($^=Fl_}S|u5jnyn>YSwl?dP$8Sm(JyruwU8}a^nFv>{)DOJe8rwjS?T6Shr8d*j*#hx zgRQgK;pG<2NY8OEID2ty1`t&VMU$1T9UJf0)yykfOa0O=zIajQx56JeK2y#sJXCoe%*3fk>1iJ&F6{yG{zQ;H&ULa)EON+85`CVi$3m;eira0AV z)r*_+=z1mzMU+*8vFvpk*WA+3=cXAODl_R_(ad1NtraPjrXbmkJ-aiv;ua%Kc2}w_ zONi2K_xyqm&PuDd%pOPthPUTFnqvySp}hGCw<;i{i>~ ziUZ8=_6R%~CAXW=TG~P4~lCuRIWQ1(`hCx(HaGmH+YmW&`WjLyX@f* ztJn_hq+pz}GcAMxPSej0GKMYsIz06wGF5hMLaVFh3}QoIZPFg+1}{qxzBG-~tU){R z^qO9dLehv;&Kj>V2nAuOb#6=lam{>oGUg86#qPlz*~JHrX=1}yqk%htz~5si`G?0( zo_;g<%Y!fek;zAWRF&E<51F15n3r9Y?OJTZ5C^=WTaA}oKt+4zU*#slc{LBd{`#vY z-#q^6%hABxL73U&1NqZP?sO_+&!9`b%KQ9ZK7aJj-+VrJ`p3tA_~t3%<;B!%6LEZ- zXCAD+y`|0L+2QFNcg5W3Q8|vJWrxX9EBTd}xu>)wQR>LfdAU3>3U%XG`J!?6O2w_L zGZjiY?<;mKdePY3!}j$VJFwKfd{SkDb;a&$@HzZaL`o+)oyn4HJf%*TwR}G_+MVBs z_eqM=k+=N1Hc8*9LaMeZY9`q$`Fy^Xa~`zw|6ZAZ7yNEPCv#WKk6vwJUBIle0G1$c zP`Mr=t`L+VkOm90a^qitj?ukeqk-po^gwgA3`ATuT%9d&FX|zoV4I1;29I6r`7!>; z&j;tH#;j70RxsUmx&K$&n`=aOeRXcmxS&$V}zt&d7QxpWQ zw}qDprQaZoXb6K3wiZXqq_vhjm)41lXy%TtX^a6kqHQ6VktSx^@%pe%@m2+10fvR- zle!vaD^9fy!&fu**KFVTGv|+*do?HNb>4dSx|ZieHeVhrW_ZibExImfI`UR#7HQr$ z6D``&M+vx^2-bLuvvg#AZXHv5JCWPz=4kK-5Z=fq#c91mI?y(n!$#6{&JeG<_c0q! zjv&KQU0tfH%k1iMjw$9ZTqN&!2l$PyhMhH%~tQ zT%+$Bd6i7A5Fu9$AVQ^YV9~sS+y20^b##QY0KLE$GdMnsghM3A$y9#ctaF$`8X@18 z3E7>Le0|x2gnczT)ikZboY^^FO+rORTy~+9MDdh6DTZ|u8Km;Rr8fYaMJy@F-pIV4 zYz@gW(1W(dP^!AgvihWyjV&Z)!Alm3CvH}p9iy##H`D$&s0iuM(#;>xfXtzSw}?u8~a(iip!)fB<6&5?R|tNCW45#f|zF zS>9-BjEutT!A83b)rL*2K^Y8%Lt{;BM`$(OS0ceI>4}86#;WPB*QO4%snArg8o&k? zVp?hgoAs;58cN3JMwi@e_hHqMHhw_XYL)2LHKX-%ewumR%1=w>Um*L2AlEsw6|!D; zDR0b?b)Rbd=1sdf+gb+j7X5GR#S=_O*_u}bOzz@3`<76pbq6$bXG@W~Za-3Q_AuF2 zp_vP+Rs&=NXlvx%rF@;is4!O+b8V7v-6y%@v zra~snG6V!ZZnpNj662R9CBBhWC%d}OdFfKifVe!E zeSk7X=l$8<&Q3-@&&yyp3KXjWR1_jE(zDAH=gkP~Ek6_7VXRxE7Qc71au}Iq7CF>A zun`{-1BG!()Git{)sdSu^V6y=SQsJOMhZH&b!esobX9hnEu;?;O(dcIaXLMfnkR+R znayc#n;+Aa9V@!XexLuN{^IR*jK!arq*4IGfX%g6BaVeH5C3CZse@5+UL~E9;z@6- zsoK6A?30Re`9((yuR96)r9Lg=v0Z+xD|KBGV=W5qeMcgz|AAaq0B*tgs1kKZ@xrg2 z8cf(5yu|+`Xp$w=hp5LpZVRp{?O%rx0!@3>b>Pqd3 zJZq1Y)TOQY^k&;|spl&6Moa~>+eU@9WOZxI+T=lN=Ei2K)Y`%?-U;VLAbK`SPb4m9 zwmcYFW8D<3?C?U%X3BIRhb34oZv_zH`q)Lh^g~817t~TBe6_k{NH=}d*>_kh)C0pX z3voe;#RZ(Q)fGi6FdWJ#!i^vtllJ1GkdxT8m*{a;ORu-L^~|%Rg?ewd{C=%NLrz9^v!=`2hKVQS){^=PPTxhA;&xJqjdA>-;@!7tTuPLuid?#v%Ls&Jy-igxjNc=v+7Q|**lC-N+p&K zq`yg-Y*18yAyVk92>*4LW1~#RZ?kDk*{cl&ue@VhiDr~`hP~LvaA!*AS2{To&U*aP zREErPNRwxEcdb!uYkEgy@}hPwBJXmGwxLgp!A3e+&)yNg9tkupE2(@6*6)~ZHNhtO zI#Q~h&4l#j@}2l62;e1u9ucWyBMEbzejnVj?9ao_YT1ZiQ4-z+IJOZ54%%qp#e z77MF1-Pq0wKwieSMc}WDKD`^-Z%kn^K#ORcz+phrMV9)Knyo{0D(;8M=#=Il2U@d+ z374=S$^aBa=^C+$YzMPaCQcHx;M!YQ-?QR3dvPgeB8hq~$`l{b@P{y!tlX|OwKO%F zgm9fEZdqB(qcivVT>uSsT;v(DNG76;jvY+%{Ilmix_!vQ%J5cP|G1NwfA7j;dFy z%c_~8I%UYRhLV~cj(r&%E69dxNiMs5yFV2?PI~gVwMG$vGHW{9_?`=dXmn}F!n!?V zVbw@^Z)A0`{$=d1-hwQMUV?BJS!iDGq+68zce%?S76ji$@q(^)@S!fa8NVn{s+Enq zSfu*1d^4ev0ZKvB` zSh03XaF_^d^NU-rausu}1~V}D7FOr9hJru+)n@s0(auNL`BH?3yej7pie6vddQkP$ z7Ij*@cf-yTiq}$3jaXx}rclaT;I|e9{;`tbPt*-2Sb^8BF~Y*7m;kR~hx0w4_PsXk znIW}>n9YUXL)^72*EPfWp0h@RSW{VNwuj``9<#KX1aiw~Z+gdg6h3n5iNlh!%n<&T zvzBavHVgkb_jyj)G*(_uHZ801${y>T3~aUHj)^VanIFZYv2?3EADda_RTwhM@8A6@ zvlSGE9JAAPQ=itzY3ZER1&CNOl#ZBiZFXoLWEPoTv-2h&x%snZid)FgKix#MKhndZ zxRUiS)j`(_SMoz{1~2Ms1tgC)TYg;+6qOZ$yb4vtWHQyya~<+^P~CVChNle z(vBDPW|9`xkY|j>$A{GFAH)5dffmHA^>M+xbbyM7i9&R5WKrC`tNM*g`lc<+(0hBkwnc-U!L;1zb0u}pO3?#{C|XDrFD5c;q5FG1^G5r_Q^ z>x}f6v%8u%Qd$Icc28dls(ohKYV4zi97FF86p|gt9si-I?q^hlwsR-eEG~3?Na{y| zQ_OlR;2?Vyq|{J;sHz55&j{#0+_#k~Y;O-ff)su{V14Qy4;V8qYp1ljd0OKxE3q5> zN%{=qlA@DB%jB6tyWU}3huTBn8o(6MW53dZED0jn^%>>ZVe7LaT(HR^LR8~x{!057 zM?sfjqDQnNa%Z~q?>0}CUA79=et`)GV~q)wqQy5(@vk&o7VU@(p;$`o4DRY;sFf0V zU&ZDl2;h7H*1HrZs*Q$`ePWMEL@{>GW%Dd%ve3TT*c2Lin^zG3T7++CIRvlYKyqzg zG!#2KXBq~>u_dv{6&+?5O6&p=VSDhK!AVQhb|CtB&0ts!tEENYwheZRs$X3y-1J_= z%;TPxlHtA6XHq9^X>M&mO^>OpJLlbCnq`y-cY~n-(__ye{QJutcLl2!o{++)U1VioWH)5MI_de3@%^LS`Ylq-TqNX-fY@!>^ zmS2v)Bzi3cC#3gZD||jaJ{}LdG#aYoJESRYqNe7_+`uSa=pfqm2G{xm^x7e~8Y7>p z4Yi_08^U*@*fsjDrDO4YVq&=2(~x> z3d_k#YQ-vkH4xFfHH8S++VWzCAF0fR&lG!P7G5?^wbgWH-3w9i5rt?s{?*f!xLtI#sQOj zEG~}nb!m8wCnZ8U=t_K(QN_m0#b2NC#^%wsJ-BdYFs)e8q{!+6gh4t7pe|OM6AvsaF?bMzUuPtfl|S!M8w z9*(fxe=|E~m4{LE4$>K_MNv^=U_CAXb(VT67Vp|(X{Xmu-&d}0L);^Y@#d#?sOy)T z(q;6fAcXz)1Z1~yze>>dyx6x<+cKE@6vwwEBN!y=({;lPcx&7Jg=OGKG4=E^Sdoq3g z`Nb(#iU%WqYyH+>>$%0fN;C&Q;=9GmE+*fCLozR}^cP;8BqKD66w2_X(uDv~trp`V z<5*N<&#J9Cj<0K3R_rtpKdA>tJm~rutA(V>V#=F~%{M!EEG}G|KXHSW-S~CCV~dnw zOb|mj=Ijw*?lM}axZ|wts6#2o5H1R;F4^Iv=FU^4h zjM^T}rwd+7nw@YLj@!z(TpQx%H>~-kX}-1PyA-_>Cbh>)J}$NCjTK&6(v3Cm-BPHJ zIRddKM8Y6HB#ML&m9F%%C&&=>SfGXz&wDtsya^VySW-15hZA*wLdYYHubd+%%#}An zpQtu1q4C6*Pwj@G^=iU5c7j4PS;jPulSM5S1D$=!O?BeIT@L01TUbIOyFFSjjasuo zYIA>G?h`**qJn~!?)ryyz`8y@=D2#>q?Gq}VhPccKIQO>hV!BURU*6^?2c_@-vhh2 zl9ZCm*)16Z+Tn?BO`E^DO^@WL(!+XZdocLH{gmI#2wulomTtEw_za^BeUFRpu@fU^ zYco4dXaq++;4Y)T;AFgH%%h%D>XV{uBxCdjGX`=Ep{_fO>ju$$0${VJ3Vg(EXuVW$ zJp0i+wM~dvpf!b7I(d$dm(eXQY1Sx8&Aj8eX`DjymT(TaCh%hVJ=gV(d!3_IO^C+y zkAMny(X56)z(>ItpAnH`Y6%3Oh_w4DwQGVFM@A}6((3YGgs@8)({pl>Mrh7mVM={z zxj&Q>^ABRgk+J%GbWzqRucDx=?hJ`@>T^MvGL|FQO~th3l)B1dQWX)kFB4)c`bbH8 z4=k4n=1VXq|la=TTuS107SmiUHQBp1OmBhF%6sw zWyCN-9uR0lJ9ufcUZ^%UVYJyIa?28F*r|ciR;o1H0hQthgtWv0@L;hRUyf!=`&a8I zv0Rl@0Fp$0KKWJuC7Z^!KN+3PpSq;HAzCEex1?UVk;dwG-KsR;gxYpPNFBZ6GoH8S z>gdHVY3aC@;`*oY*$emjY&6%@B!XEEr(DIhOI9*L#bYO5KaN~3;bU+!Q^Fe%=aT%% zQYR??5?hUu@YhHn5*FF>@&tCrL=lTk|i7l>s2w;O7DXfu^+F&o!`*pnKZmf!MGs!)B@pmN0b zGo>Hnn?(aunzaXB+B#@Mu-g7#JMAAtJ%{{@<%f#0Ns!0D7szB!YCu{T{gouCr@?&(%jK6iYPo97#}f-Yr19tD&$B7P z0F4=5J$JBbE9RtjIeoNTx)+l3jaVZ@qe(1;JNulVN-}!V`$n|QP&pFN@^F4|ek`8| z5AOE)(NtfDeQXw{ZAWrG|mYh?oSJ1|KPYj?zRV@U$DUDwM~uf0mosaI3WC>q=IF z(!gD}ZY3=ihE3>wAM;Y+-u6hw9_Vt*D+&si89v;xBD&i$h@X1UGk)H!KkwC_AJ(70 z)%LJG7qGE@`s(?nvGxvc9O$KU589vqXvd~A&|f|sZs}l|bLH2sUyokjvyES<^(f$KL>pu{;{sW=wKl)F;)!okY8?6aqQTasa zGWqER+;~j&rx#z#hX?^TeQv)r58>ZjA9+6GbXW|ofo9Rih-fqtfNflf0#5jDwnwq! zFI5<&v?2{JXz`N&U(laR{?AtNhty|9WnR|S>dXVztjavDt&hvteM^IqB+)K0?gsjF zu$mcK&6%cW`RTn9R{F2i);Y-eu+`Xw-Nj`4C!8Fl%#+QD_eD|Yg*eDai&IUpe=xKi z-v-e&2(m)i|x0Y}X<{K-wm7Vvw zlRty{D}=J;?7DPn*kGk$ujp^nsi^zfebOTQOV64*ezvZ&2E^21F(^N`>&B&_mFC1R zHf1!q_iUoOk&^Ain_#-tF)>2unE{(aV9HOMKU)RUjiyH9zNp)D5hTbv+L90)R%o*| zNg_c?zX@23JFfTn*Cb|l6@+8g8ca>s=|IUryJV|URQS%9G*1akp8+Wt*gQy`7i9iw zpkh{x>|epej~2veJ069`2R5$n8MJGGDyLsv4AfmIw`L8I8RhwbjbE%1DgR~H%z;e- zE;FA_?&_AD_cKMp;ul}u;(FVryR1pw4LAC!>#2D&xLA0;$;I%|Qf9Ty%Ov?I45x&6 zVP5d>w*Em58OK>qss*rA`t+5IwVNv?-|OSARcN*OA=L|67fg?T`cF^3;Ym<6vUo9< zvq}B>kgpFtZ+g0%@dUQ=_olmhz*P16V7`2jUZ6pvp-ddU8!Sle%H9ju_%PV` zU19B}xC-p5iL8Nu0skQUlv*F>I@CZ>fSsB8YEcCUUJ$L$^2bw#(QMOcbvr=8G;7=W zoxy+n-~ZR(d{4$Pt>x7C$soBPr`c0lu|ei-f#GY7&ufcR11I?;lL}P`)y&Rdll?$w zU_=XNpNqtfR5@k43s6Cxd0Sj!#9OpQH{~YuG;KrQdgDGZqlf>6@O2C9it3^I)WpBl zpdE_b))li59NsNQq=Ugk!=~ zkx$~yhMCR2B>;!bnA=s_i`$--Zn;VcQq2uxCfUJ_f#Qyw31q}ieC*xP<(?^5i5cC zSOX=|Sq6+|BmIlH9gccVbei0{3?7X!RId!AO1Bhs0GddPHO0y}Lg=1*m~wp_EA^!f zb*YZtsR62f9i}XGyuBt4QawB>t-5t>9Kk-z7ID6AL_AHHj>{N$noz6mV4hZS>5tpm zQA4n|`ooKZzrpM}xN>%p>!Z@nE_0^o5FHze#^s=yI4v&(;T))r?|{RvU*2VJ{p=FX z2W5oPk?(IcyBH{&T{&PmyAF!L}nZDq?pNsW^v|c?ZfE_1K0;$l`9fHP~ zP*1sw^Fda-X6|Y^wAoM5O=7rIP$u!JFs?AGOydp*-6^<6C=WV9WFzCe7weQ&G^qkV zlzmjPM4x>!y)T|K-C4-g4S8F0(e<*f+6h$oyg%sYBVQdC8*fm$ITEA@l4u&nM!M5caCTf^h)p1{nGcymbnP+%)&o;*) zI9`Dk@N#^7svykBca8=8Fw!IJb5g%9v@}jN;PKatv9=xOv4HYJ0D#OVg8RmV6C1lMdCG07)Ou1THC;7Pm_^-84 zUyRiQQ?u6Q|M9?D(IT@cKU?tyXD!sD6eqM*=k@v;3v6Ew=)2b5$bkHbL~@4Y4*So( z47rt;1Gnyf_@Qn_e)uzPM#>`JUWvRj`tAQnS0eEQ`MI|rvBbRljmN9+IkH~%?>9=G zpUVDWYoL56lyWxK##i>J(^2Nhtg{bBQuC4@4RLEGAY|m8;4DsuQ?Y4_Cc`Ppq_B#e}87=|_G2 zjPio-B)nmXGPk0|xo*_nx3b#A>&*F^d2=fXOKDtX!VQJHr=#z5y0rBt8SCvb>gc_iT!k`yKusPT;eH~Nn^sdRl0B?YPlpR4T4p9f)@VRsA#9q7 zpXJ_#e_IFs6_T2U!(a2<)&-U8^!$sq=NiX#-L>?lj|ihf*)a|toiF+X#^5QV=LSOm zlQp+NeyBCS=TbJfA^$5XlD1A8usx##!V`nyJ36C2?C+w#w);XJagD4fDqJDfOXuvAMDCB)K z|MMZdBksjl(l3yHmc>5*;e3YPju(<%EV&XvtD+Q){#cA;A3|M5_-yb6!e@oVO($$+ z8&8%)X9+PP?89GU6?u=xfx)&8UvHFoks{ItVnuRwgo+R5#(@B3e?N7AAbSmc*p?jJ zFoHA&{+LyFWj*(KQjSkV@k`6_nbOHPx*Oc@UE(j?Z@>9lXBvC+yLWt=P!oOUuK@L% zzg7lPAw1#TIK3JhSGHNC%*kK`E4PW!%k~Z_N7G-(hk^19YCle_}p3f78skWmli! zET0xG92|d`NhsJsUBf=o4E#T5h=y|zvK$eaOhP_2G9ISM4EQr9ahb*)9((RinjL+@fF zU4ni+PDELf598k8zY4d?G>0<(k|JknEiB_b+_w0`FF!4D{`pT`J50d7*V+Mfl3y|| zU{`{h0Ji$q&IL)^a>vCU5Nri*gI5u_b%vP63!`PQx)8IHvOOR>7}oP4YbH~FDqY#5 z#~LQO1asyJ{Ff=uw6aX;b@oa^iFsH5>-zosd0ZDlJaBpAxxdWzdZ8ng*W=6227fr> zwIWgEaK<$*qMzBDiE;8gcD2FSi9f%w9TD?qd|q29=pl1tL&L@YV753oLJ9f3Rt8=z z6Y6wgULn+=Lsj%?;8Rr{`>#~xt|Kn?OkBY4$rtz;>~aj*$bd^FuyX-ogUng2#D~dc z3j$;O%Hzl_E2cP@E#+C`FQ0Yv{rI_i@* zY;!y;hJBr#2xVVuWjTN0=BUW)Orjm3>_|0$qudSxBrlqUepFu#sv!Gz08m_xqAg#6 zO9V#?(3DImTqZuxWO0qAIA8EIs{wP%c%SI|_>kbdq%~dt=xfiwY%L7#wgT?<1sAJ7 z2Plb)xdos7`JI*)RJ3fVLgnKc(L}dg4I9JoKrEmtv#{p@2*tc z{r%uzF~|9k7m5zCsmY-C;Gu0JA3PeoLUeLHnXTezI`Y>@esw}1+S354XJvcwz9u-`9G1}hj zv6o1>3?YxR2M-?!?tmj14yJao#~r+UJ>yD&swx%(0BeqQOj}o#H~mWQGW!#*WxG6b z1~jrXQ%O* zj3SQ}@k&+maIflkuq0kG`k3jQ<$?u^H#`Nwm-5U%)ceD1EY446KWI2k2A3n1P3AHU zg8PwTD6WbVbW#`5(XG5v6*wZg@$T7t*CQ$N2GbNvP$7rdjEgY;tSk1C|(X$f&q=#4HR(H>1A@W@}AK#FPBtEb+BZrtaBv zg7Da{@LCH~heFF(FK~QYx1V6|?>MG>As&$z^;3?qz6!O)2&u6+8?H_;Qx%N`*0kF} zI2vv%&DMAOiHx&#NTjkE_*kJ5j1xC8bz4QTwj9l0PZw`5+rg6_F-Rr{xcaP95}WQm z_g!be2%sx^3Mqh0Re)PIRp(s6JK*qK-bhYOZFtm!<;&Trf`BtHEkatJbd$U7paz3d z`cI`S7J0u|TSta0!j`k9vbN?HGMfmN-gjb4Y!R}+3OTnUVN9|}#1JjO#f#DAn-^0= z9?*tNfnF<*n&8tL5R%Y9Ho~>LyR&Vp&BHJRSGHrj-_`*GeY=mm=yKss65NH+dU_S| zhJ%M_vANNL0>yHA`lYlnqm4~o zsbl_CMYP$KPCZ*D*;5v{9Cmrz*W-$KRUAz9WLlLYCZ;IalO-=T|>9Y?H%dRK?6zg9HE4Kb?`>s6!MbXFQb#Y{-AHpdh9+TuqHpSyhm8O<7fRNl_uLA!ntOK#!0p4B$6PdwUtD%V z=WnJsSDutmM}~!(pjW73q+g{cbF)(SD!u>Qtkk_q|7bDFy+mm@;Iq{rA2$p;mGPCe zReVsI&FW>I`!tUQUbp*c8~eNBV0PEoQqbo_*=jqXANW>m%sQfW(DSt z(!=B~s5#fG`%#^GISW@{zL=go=a36=Y(LRZ=27b_v!@dhEaP=*&h`#?;i=^OHF?;n@i% zk?ik%l}y!=ONvaPlsS6afv&6Q=sUgRm>Gnac}B(?{Qbs+xiuS_)DDxT4qh)n*@1*7 z*85K;^8>ORW0~|1$dY(*oULA#Ul*q(t^D%MYe>t9J&2h=v;6VBtx)JHkA3^8wzQ?P z6KgcrlbOO5YlEUqntD7KvpZ#~kDo~)6P0g>Djl*qZA>DJpZO#3+0Gx>FIZh{E|+K0 z`HXbZdDViB*lhraFSIa~Xm+M{V$-9RVp;bk-!bqF8)8>_&+tOQCbS6JI>*X)mqGVs zjks8LHsPk}2zI4DIC&^{X;oZW6^s)y*%nV#VZ(NrRoKw*W%N}Q&M8zOBySCF*wcpb zxi57-+W6!XHf{gSRl#p7J9=?f>qU|zTdV{cBHu$764^Li5Xt}O5*4X?pf6e$3L8On zbbcX4V<(uboqa}E@vbdBmkn5Fl6Jw=X(l{62=%fHWoq;L^0csmF^Pp+OQHmgKGRKL zrd91N$83(4v6z;UN&yh3_f5zw3(sNfV!R`)*!J`4p`{V$&a5hxPP8>xPHB?;#G$x} z$HOHe>=hu{jZn4>ACCQ6#8iWOG=HdQP8|f>yvhUr$&C0@&Jzp0yN2JkZHR_?TxZBA zGg~fs1SdFh$S{&}acoON5ynB0@3s4P)^2Ik4isDaRw_S0{2Nahv9&x9mt*F4o0Z~Ln{P79yslJe3KN!bm#+@S zV9c@Ef?0M33yG^X?c1HzG+SalqE|cX7D>`Y7iI-wp)Oe!yfYaI!z7m)`2OTP%rzH3 z`i!!$DHvztGu|Ec`T7Z>FvVeITqLLM7+f&c^h@>=I*WDL*QT=pK{C1&RJz%O%0j}7 z!&abxfflo9hK}Hr)0%<@%*@RIMMPC98kTxLt)LmC!nEXTWE>@{Q2~QOgJY-`02^xY z>Fyt3_xZ)C0_sUT+EQm{tLPY(QY3~2xU{07fT+4V+XS&Ob;LG&NJOiVjow!m5 zawW#eUJfdZBMP-4h5qXdP?>+)&GrZ4vFjVDpATN3R=_OI2YtokSkp_qg`Zk8$LA2J7K-uYKR){9M)~Ukx=+g%cHdLMR~RRA8dJ6ywDV%NPy< zcnaVS^g`}In4_pNzZK9h_^ zwJ-00XneThTzCL{o5e4>w3wbwwVbi`Cl8BA#q)x8nbDFWKDG6WhM2YXOFx*tZz$qc zHAz%3mU~8yn?KQ3#;#R&bLFg{Gn)?B*@%Qn5KCKtc&q_y1g%yrs;)K40?AfKb8PU< z(Utx?_X9g&$bua!bh{vY$flrOi+pu5bs$%Cr?aXE4f01FMd83|qhsy=7^1@PoT5VT(-|YE>tJ=l>eEdw*kW#UeI5E7+ECMswAeCVB(`*of`jzcIF&@P)QQ9Y)_B zbZKk6cr9%2{f)8h(6)nZrR_DawFS^+feSlRW%YuVNlty0txHXUIAU0hT6YE2H9Rw2 zu*S3MxbAOjD2HQ=EY56$@6U-xVoLqnowJi&yHdw~Un4Vp=vfKYNEB$ev9gmjm7?c=IBUUS3@pk`ps0-jYzeFoTUFh!5=N@ zMI@w`sVb6h5^LT)E3NDxSQ(K%SM-^}g=FOkTd%|tiGz_9ZM%br+iBb}zRM4}Tv)rM z&p{~rme#b=byb2~MJ+)YFWs(kKO}@NZemiw zZrjw1FkI3ZH4>K7ke`$3%X{wnrE+o4fc>#wyvc7=8sDsFOd9`h9~p$E15%j@rjj6V z)Gc*T?ydz&337Gy1c!>YSodnG$(oo-KTyV~;^7K4WL7(R$J4X?5loGu-s#sT2_t9AHb@Ghiei*qo z=w&w#w|FZDlWVikE$4Zf0KPY<`y_*-YY%bEh{MRdXeJ`4TNQC(TSU^EXu=GgZex(2Ong+rzi2AloTznoK^1G%Cb~dX zWHYGFp$!DNV6`4^tW~ln4z&W26l5&dfiwjCv&1?4fXjw1p0N@o{RYnn_#adZ<(Q#D z8|>Q~(%jH!dW9MHol)a{uUO3+0v&**`VBTDmIhcHE;8Hm)q?+n}9K(t$dXSP={qj*U4TK>DUD} z6w!=W39pr1m58!%SuP=5YKv5XB4z7&Rmc;nyW8k*MPgy(DZ(nARaZSlRw+NlRFkhx z(oDfVQOi*X{b=**9^NL+>K+FZ>fBo_FW0uWw3^Uc_szaH$$?YP=-}!yL!G!hO&1B6 zF828?^(KG6%gR|AV=~9IHF@e7)D>}!;jNr2)DwpPq|*eJ8xuOrzjAa?t-g6|;Pa7A z0`?ceMYChqvmCg2oe)uwllZyRWTTt^D*&?~xD=zkS#~98#*>xT|#D{6ZO*Oj% zC+;z(bV;$eq>*Bg(e7KZsrv%3L@M+8xd-WY8?1;o*{%AC#ZtG{$`PO;);~Du;A&?pm^r(YON-74H*3?k z0Lz}AXUP-Pj~3(wJ3iGr%;&g4JUcpvSW(mrt?ES{wFUR#307GVPp%H{@9)w`} zk4?Hy6#3IcB^`e5lrR!8`jrydr(;A&VsNHUp?(1XQySpc_7+cA>XPG;h>q zZLS-`$f>r8ceNAj?3lx9D-UAQueS^sbaxADO;V_IO1=w|@xjZArsj++Pbd)tdeqI_8{zV{5g$3nzYQOwlj^&o9^H+&svaXd^tS$GJsz98KjWC><*>)t z^T9LsWVFjzc3#d|6GPtH(b2JdHUhQkh5YfeBT9 z{ft7Db=R17S;IIwMy2|fVeH`o@({~w_Z(CnXJtlQZO+B&nlW%F^qn)dId-7-5`D*4 ztgH-8%TW013JP(zrOZxk#q9JWbiw=;Ld@`K{tA)%v(7ENj!;;N#l4HDv`kLZPcONSF>YSyQWCg? zN1yU+lkpQvzcg`f&H*4v7BfN+q#B?gwiC{#Nt9WsO%()hdwtL_$Cl@f*zd4h2N!e# zPyN$MBGX3%w^AHQ81^|Fp`@wi$mwuR(7K5F{P9+GB<%_z-YdP^jAee9PzTM>QB|#44+1aj92b<=S=W598Lu8!FI$TH0EDCtlE%YTcMR3smW8G$)m)U>_@CqA!q< ze^8xJY`ai2oH$Haffjo@-K^dM?*dRW!mziW8Tr2(1#qs>Zh z6)R>RZEl$UEYpweYIDpa_t3Lk|7y#|;gjX+cbn(Cn#9(>R`ZcyfOsyyI{^M1npG|- z(&ojs#qxYdp`Skcaywy}_R*H?Xmb_B^t%>LOPggQ9&6naN|uW7Dc<@iBFM|1d5 z_#gi)H~i^&<#l2{j9{$ zekc}o;p0L&*w;BXodTr44gLWk;4tRjM16kOGE>jS%aYBEydw=hV?R=buUAu6URw0 zbg2c{fcrim-!wR#znq#b9VKJENHpyFgK=X++73yL3c+957b{@3O2;ap_AGfTH_K~V z62eVOrCYJs{{K6O#T48bL7ykWjKL}FW)zTFcFAT(F9{aj*4vjymvMb&-{8JQt2^ON zEapT9#~X(2f=2y#d^wqZIX{~{yL{`gh*%Gfj{aw&R}Sbqb+)^eGLHShc~Jat3A zCU250&u}4q*M-G}k8I8)uk<=M0W28~;RM3@+2|-P z*0qH6k>hZ?oLVBhm4nUP89={Cpb3$07BXmex8lha{GEbl6r#jIXI7;!OLj3kX=W}b=}TuYZ&AojSr>azg6iDL2rjc{irPRhJOKNH)J}wMo^?4nJ}P%fBcf+NG52Js6&hw`~`B#d0DXqY3c z3#lsJot&mO@|xF)OZx*Z*lQ?+SCg2gFq0Aq305nPeAb^~x9DJ}sR@5KLQrBnU5PGS z6v&E;Yl0y$+;}6kzOBx9Kksi_XGAP1!@u}m@b7-cUJwtv!})Q0A$yPQAaR0DFWraY z?w!4l2Y;HqoDLq&muJLK8vUwx4G)HXjk$@3|E2`jkG?ZP|1h{Yx5qPXYQ+i#{+NJL zoX{(1!p*`gH!+k(X#HW7|DPⅇ9e6&d(RNDJ+YLGjA}AId3`Pnf&GKlUPZZv+UfY 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 z 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: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html

 

#!/bin/bash\n\n

# This script opens 4 terminal windows.\n\n

 

i="0"\n\n

while [ $i -lt 4 ]\n

do\n

    xterm &\n

    i=$[$i+1]\n

done

','\n',char(10)),0,0,'2017-12-23T01:24:04.681Z','2017-12-23T01:26:07.786Z','text','text/html',''); -INSERT INTO notes VALUES('mcEwFMSjhlvL','Bash startup modes','

Login shell

As a "login shell", Bash reads and sets (executes) the user''s profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that''s readable!).

When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.

Why an extra login shell mode? There are many actions and variable sets that only make sense for the initial user login. That''s why all UNIX® shells have (should have) a "login" mode.

Methods to start Bash as a login shell:

  • the first character of argv[0] is - (a hyphen): traditional UNIX® shells start from the login binary
  • Bash is started with the -l option
  • Bash is started with the --login option

Methods to test for login shell mode:

Related switches:

  • --noprofile disables reading of all profile files

Interactive shell

When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they''re not inherited from the parent shell.

The feature to have a system-wide /etc/bash.bashrc or a similar system-wide rc-file is specific to vendors and distributors that ship their own, patched variant of Bash. The classic way to have a system-wide rc file is to source /etc/bashrc from every user''s ~/.bashrc.

Methods to test for interactive-shell mode:

  • the special parameter $- contains the letter i (lowercase I)

Related switches:

  • -i forces the interactive mode
  • --norc disables reading of the startup files (e.g. /etc/bash.bashrc if supported) and ~/.bashrc
  • --rcfile defines another startup file (instead of /etc/bash.bashrc and ~/.bashrc)

SH mode

When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile and ~/.profile, if it''s a login shell.

If it''s not a login shell, the environment variable ENV is evaluated and the resulting filename is used as the name of the startup file.

After the startup files are read, Bash enters the POSIX(r) compatiblity mode (for running, not for starting!).

Bash starts in sh compatiblity mode when:

  • the base filename in argv[0] is sh (
     NB: /bin/sh may be linked to /bin/bash, but that doesn''t mean it acts like /bin/bash 
    )
',0,0,'2017-12-23T01:29:35.974Z','2017-12-23T01:34:10.493Z','text','text/html',''); -INSERT INTO notes VALUES('CF2lUIJAr6Ey','Python','',0,0,'2017-12-23T01:34:37.658Z','2017-12-23T01:34:40.465Z','text','text/html',''); -INSERT INTO notes VALUES('xkXwueRoDNeN','Christmas shopping','

 

',0,0,'2017-12-23T01:35:40.306Z','2017-12-23T16:43:08.157Z','text','text/html',''); -INSERT INTO notes VALUES('TjWEndYCCg7g','Reviews','',0,0,'2017-12-23T03:33:23.584Z','2017-12-23T03:33:35.089Z','text','text/html',''); -INSERT INTO notes VALUES('21K84UqGhqlt','Christmas gift ideas','',0,0,'2017-12-23T03:45:10.933Z','2017-12-23T16:43:28.160Z','text','text/html',''); -INSERT INTO notes VALUES('R6pheWjdwmNU','Christmas','

This christmas is going to be awesome!

',0,0,'2017-12-23T03:45:28.002Z','2017-12-23T16:42:53.142Z','text','text/html',''); -INSERT INTO notes VALUES('5v5Dx6LMHXIO','Christmas shopping','

Bought a book!

',0,0,'2017-12-23T03:45:44.184Z','2017-12-23T04:09:15.442Z','text','text/html',''); -INSERT INTO notes VALUES('MLQjmREtcnJ3','Shopping','',0,0,'2017-12-23T03:47:48.208Z','2017-12-23T03:47:51.917Z','text','text/html',''); -INSERT INTO notes VALUES('pTTjrxgnvURB','Vacation days','

25. 12., 26. 12., 1. 1. - statutory holidays

27. 12. - 29. 12., 2. 1. - vacation days

',0,0,'2017-12-23T03:47:55.932Z','2017-12-23T03:49:46.419Z','text','text/html',''); -INSERT INTO notes VALUES('cFK9sGYZaMWs','Vacation in Cuba','Planning stuff etc.',0,0,'2017-12-23T03:49:32.210Z','2017-12-23T03:55:17.763Z','text','text/html',''); -INSERT INTO notes VALUES('pOFVzbXLmzhX','Christmas dinner','Carp of course!',0,0,'2017-12-23T03:54:46.138Z','2017-12-23T03:54:57.762Z','text','text/html',''); -INSERT INTO notes VALUES('0xtvjqrcGiRB','History','

The history of Linux began in 1991 with the commencement of a personal project by Finnish student Linus Torvalds to create a new free operating system kernel. Since then, the resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the GNU General Public License v2.

',0,0,'2017-12-23T04:01:51.565Z','2017-12-23T04:02:05.496Z','text','text/html',''); -INSERT INTO notes VALUES('Zl69uXBSen0w','Ubuntu','

Expand note on the left pane to see content.

',0,0,'2017-12-23T04:02:16.685Z','2017-12-23T18:08:15.381Z','text','text/html',''); -INSERT INTO notes VALUES('62BKAQMVP2KW','Unity shortcuts','
  • Hold Super - Invoke the Launcher and display the shortcuts
  • Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus an application. The number corresponds to the location of the icon on the launcher from top to bottom.
    • Adding Shift will open a new instance of the application if it''s already open.
    • Holding the key is also useful when you want to get to the Launcher but do not want to invoke the Dash.
  • Super + T - Open the rubbish bin/trash can.
  • Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate, Enter launches an application, Right arrow exposes the quicklists if an application has them.
  • Ctrl + Alt + T - Launch a terminal window.
',0,0,'2017-12-23T04:02:39.164Z','2017-12-23T04:03:09.867Z','text','text/html',''); -INSERT INTO notes VALUES('jyqG9GucsMdn','Office party','That was fun!',0,0,'2017-12-23T04:05:16.439Z','2017-12-23T04:05:30.373Z','text','text/html',''); -INSERT INTO notes VALUES('r4BnsmSQeVr1','HR','

HR stuff 

',0,0,'2017-12-23T04:06:37.427Z','2017-12-23T16:42:23.145Z','text','text/html',''); -INSERT INTO notes VALUES('moMbTKwN15Ps','Projects','

Here I''d keep various notes related to my work''s projects etc.

',0,0,'2017-12-23T04:06:49.331Z','2017-12-23T04:07:25.429Z','text','text/html',''); -INSERT INTO notes VALUES('PEGQGg0In3Ar','Phone call about work project','

Bla bla bla ....

',0,0,'2017-12-23T16:44:35.900Z','2017-12-23T16:44:53.174Z','text','text/html',''); -INSERT INTO notes VALUES('IlULcDiOTI4K','Inbox','

This is a place I use to put notes waiting for better categorization

 

',0,0,'2017-12-23T16:45:11.047Z','2017-12-23T18:04:49.545Z','text','text/html',''); -INSERT INTO notes VALUES('gDrEI7LFWqrP','Family Tree','',0,0,'2018-08-28T20:50:21.928Z','2018-08-28T20:50:21.928Z','render','text/html','MCQaiN6h8N'); -INSERT INTO notes VALUES('N029F9ANGn8b','d3',X'2f2f2068747470733a2f2f64336a732e6f72672056657273696f6e20352e352e302e20436f707972696768742032303138204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722076657273696f6e203d2022352e352e30223b0a0a66756e6374696f6e20617363656e64696e6728612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206269736563746f7228636f6d7061726529207b0a202069662028636f6d706172652e6c656e677468203d3d3d20312920636f6d70617265203d20617363656e64696e67436f6d70617261746f7228636f6d70617265293b0a202072657475726e207b0a202020206c6566743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203c203029206c6f203d206d6964202b20313b0a2020202020202020656c7365206869203d206d69643b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d2c0a2020202072696768743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203e203029206869203d206d69643b0a2020202020202020656c7365206c6f203d206d6964202b20313b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20617363656e64696e67436f6d70617261746f72286629207b0a202072657475726e2066756e6374696f6e28642c207829207b0a2020202072657475726e20617363656e64696e6728662864292c2078293b0a20207d3b0a7d0a0a76617220617363656e64696e67426973656374203d206269736563746f7228617363656e64696e67293b0a766172206269736563745269676874203d20617363656e64696e674269736563742e72696768743b0a766172206269736563744c656674203d20617363656e64696e674269736563742e6c6566743b0a0a66756e6374696f6e2070616972732861727261792c206629207b0a20206966202866203d3d206e756c6c292066203d20706169723b0a20207661722069203d20302c206e203d2061727261792e6c656e677468202d20312c2070203d2061727261795b305d2c207061697273203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e292070616972735b695d203d206628702c2070203d2061727261795b2b2b695d293b0a202072657475726e2070616972733b0a7d0a0a66756e6374696f6e207061697228612c206229207b0a202072657475726e205b612c20625d3b0a7d0a0a66756e6374696f6e2063726f73732876616c756573302c2076616c756573312c2072656475636529207b0a2020766172206e30203d2076616c756573302e6c656e6774682c0a2020202020206e31203d2076616c756573312e6c656e6774682c0a20202020202076616c756573203d206e6577204172726179286e30202a206e31292c0a20202020202069302c0a20202020202069312c0a202020202020692c0a20202020202076616c7565303b0a0a202069662028726564756365203d3d206e756c6c2920726564756365203d20706169723b0a0a2020666f7220286930203d2069203d20303b206930203c206e303b202b2b693029207b0a20202020666f72202876616c756530203d2076616c756573305b69305d2c206931203d20303b206931203c206e313b202b2b69312c202b2b6929207b0a20202020202076616c7565735b695d203d207265647563652876616c7565302c2076616c756573315b69315d293b0a202020207d0a20207d0a0a202072657475726e2076616c7565733b0a7d0a0a66756e6374696f6e2064657363656e64696e6728612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206e756d626572287829207b0a202072657475726e2078203d3d3d206e756c6c203f204e614e203a202b783b0a7d0a0a66756e6374696f6e2076617269616e63652876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d20302c0a20202020202069203d202d312c0a2020202020206d65616e203d20302c0a20202020202076616c75652c0a20202020202064656c74612c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020696620286d203e2031292072657475726e2073756d202f20286d202d2031293b0a7d0a0a66756e6374696f6e20646576696174696f6e2861727261792c206629207b0a20207661722076203d2076617269616e63652861727261792c2066293b0a202072657475726e2076203f204d6174682e73717274287629203a20763b0a7d0a0a66756e6374696f6e20657874656e742876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e2c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e205b6d696e2c206d61785d3b0a7d0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a76617220736c696365203d2061727261792e736c6963653b0a766172206d6170203d2061727261792e6d61703b0a0a66756e6374696f6e20636f6e7374616e74287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206964656e74697479287829207b0a202072657475726e20783b0a7d0a0a66756e6374696f6e2073657175656e63652873746172742c2073746f702c207374657029207b0a20207374617274203d202b73746172742c2073746f70203d202b73746f702c2073746570203d20286e203d20617267756d656e74732e6c656e67746829203c2032203f202873746f70203d2073746172742c207374617274203d20302c203129203a206e203c2033203f2031203a202b737465703b0a0a20207661722069203d202d312c0a2020202020206e203d204d6174682e6d617828302c204d6174682e6365696c282873746f70202d20737461727429202f20737465702929207c20302c0a20202020202072616e6765203d206e6577204172726179286e293b0a0a20207768696c6520282b2b69203c206e29207b0a2020202072616e67655b695d203d207374617274202b2069202a20737465703b0a20207d0a0a202072657475726e2072616e67653b0a7d0a0a76617220653130203d204d6174682e73717274283530292c0a202020206535203d204d6174682e73717274283130292c0a202020206532203d204d6174682e737172742832293b0a0a66756e6374696f6e207469636b732873746172742c2073746f702c20636f756e7429207b0a202076617220726576657273652c0a20202020202069203d202d312c0a2020202020206e2c0a2020202020207469636b732c0a202020202020737465703b0a0a202073746f70203d202b73746f702c207374617274203d202b73746172742c20636f756e74203d202b636f756e743b0a2020696620287374617274203d3d3d2073746f7020262620636f756e74203e2030292072657475726e205b73746172745d3b0a20206966202872657665727365203d2073746f70203c20737461727429206e203d2073746172742c207374617274203d2073746f702c2073746f70203d206e3b0a2020696620282873746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e742929203d3d3d2030207c7c2021697346696e697465287374657029292072657475726e205b5d3b0a0a20206966202873746570203e203029207b0a202020207374617274203d204d6174682e6365696c287374617274202f2073746570293b0a2020202073746f70203d204d6174682e666c6f6f722873746f70202f2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c2873746f70202d207374617274202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202b206929202a20737465703b0a20207d20656c7365207b0a202020207374617274203d204d6174682e666c6f6f72287374617274202a2073746570293b0a2020202073746f70203d204d6174682e6365696c2873746f70202a2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c287374617274202d2073746f70202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202d206929202f20737465703b0a20207d0a0a2020696620287265766572736529207469636b732e7265766572736528293b0a0a202072657475726e207469636b733b0a7d0a0a66756e6374696f6e207469636b496e6372656d656e742873746172742c2073746f702c20636f756e7429207b0a20207661722073746570203d202873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a202020202020706f776572203d204d6174682e666c6f6f72284d6174682e6c6f67287374657029202f204d6174682e4c4e3130292c0a2020202020206572726f72203d2073746570202f204d6174682e706f772831302c20706f776572293b0a202072657475726e20706f776572203e3d20300a2020202020203f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a203129202a204d6174682e706f772831302c20706f776572290a2020202020203a202d4d6174682e706f772831302c202d706f77657229202f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a2031293b0a7d0a0a66756e6374696f6e207469636b537465702873746172742c2073746f702c20636f756e7429207b0a2020766172207374657030203d204d6174682e6162732873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a2020202020207374657031203d204d6174682e706f772831302c204d6174682e666c6f6f72284d6174682e6c6f6728737465703029202f204d6174682e4c4e313029292c0a2020202020206572726f72203d207374657030202f2073746570313b0a2020696620286572726f72203e3d2065313029207374657031202a3d2031303b0a2020656c736520696620286572726f72203e3d20653529207374657031202a3d20353b0a2020656c736520696620286572726f72203e3d20653229207374657031202a3d20323b0a202072657475726e2073746f70203c207374617274203f202d7374657031203a2073746570313b0a7d0a0a66756e6374696f6e207468726573686f6c64537475726765732876616c75657329207b0a202072657475726e204d6174682e6365696c284d6174682e6c6f672876616c7565732e6c656e67746829202f204d6174682e4c4e3229202b20313b0a7d0a0a66756e6374696f6e20686973746f6772616d2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020646f6d61696e203d20657874656e742c0a2020202020207468726573686f6c64203d207468726573686f6c64537475726765733b0a0a202066756e6374696f6e20686973746f6772616d286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020782c0a202020202020202076616c756573203d206e6577204172726179286e293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202076616c7565735b695d203d2076616c756528646174615b695d2c20692c2064617461293b0a202020207d0a0a2020202076617220787a203d20646f6d61696e2876616c756573292c0a20202020202020207830203d20787a5b305d2c0a20202020202020207831203d20787a5b315d2c0a2020202020202020747a203d207468726573686f6c642876616c7565732c2078302c207831293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a202020202020747a203d207469636b537465702878302c2078312c20747a293b0a202020202020747a203d2073657175656e6365284d6174682e6365696c287830202f20747a29202a20747a2c204d6174682e666c6f6f72287831202f20747a29202a20747a2c20747a293b202f2f206578636c75736976650a202020207d0a0a202020202f2f2052656d6f766520616e79207468726573686f6c6473206f7574736964652074686520646f6d61696e2e0a20202020766172206d203d20747a2e6c656e6774683b0a202020207768696c652028747a5b305d203c3d2078302920747a2e736869667428292c202d2d6d3b0a202020207768696c652028747a5b6d202d20315d203e2078312920747a2e706f7028292c202d2d6d3b0a0a202020207661722062696e73203d206e6577204172726179286d202b2031292c0a202020202020202062696e3b0a0a202020202f2f20496e697469616c697a652062696e732e0a20202020666f72202869203d20303b2069203c3d206d3b202b2b6929207b0a20202020202062696e203d2062696e735b695d203d205b5d3b0a20202020202062696e2e7830203d2069203e2030203f20747a5b69202d20315d203a2078303b0a20202020202062696e2e7831203d2069203c206d203f20747a5b695d203a2078313b0a202020207d0a0a202020202f2f2041737369676e206461746120746f2062696e732062792076616c75652c2069676e6f72696e6720616e79206f7574736964652074686520646f6d61696e2e0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202078203d2076616c7565735b695d3b0a202020202020696620287830203c3d20782026262078203c3d20783129207b0a202020202020202062696e735b626973656374526967687428747a2c20782c20302c206d295d2e7075736828646174615b695d293b0a2020202020207d0a202020207d0a0a2020202072657475726e2062696e733b0a20207d0a0a2020686973746f6772616d2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c20686973746f6772616d29203a2076616c75653b0a20207d3b0a0a2020686973746f6772616d2e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5f5b305d2c205f5b315d5d292c20686973746f6772616d29203a20646f6d61696e3b0a20207d3b0a0a2020686973746f6772616d2e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e7428736c6963652e63616c6c285f2929203a20636f6e7374616e74285f292c20686973746f6772616d29203a207468726573686f6c643b0a20207d3b0a0a202072657475726e20686973746f6772616d3b0a7d0a0a66756e6374696f6e207468726573686f6c642876616c7565732c20702c2076616c75656f6629207b0a20206966202876616c75656f66203d3d206e756c6c292076616c75656f66203d206e756d6265723b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020696620282870203d202b7029203c3d2030207c7c206e203c2032292072657475726e202b76616c75656f662876616c7565735b305d2c20302c2076616c756573293b0a20206966202870203e3d2031292072657475726e202b76616c75656f662876616c7565735b6e202d20315d2c206e202d20312c2076616c756573293b0a2020766172206e2c0a20202020202069203d20286e202d203129202a20702c0a2020202020206930203d204d6174682e666c6f6f722869292c0a20202020202076616c756530203d202b76616c75656f662876616c7565735b69305d2c2069302c2076616c756573292c0a20202020202076616c756531203d202b76616c75656f662876616c7565735b6930202b20315d2c206930202b20312c2076616c756573293b0a202072657475726e2076616c756530202b202876616c756531202d2076616c75653029202a202869202d206930293b0a7d0a0a66756e6374696f6e2066726565646d616e446961636f6e69732876616c7565732c206d696e2c206d617829207b0a202076616c756573203d206d61702e63616c6c2876616c7565732c206e756d626572292e736f727428617363656e64696e67293b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f202832202a20287468726573686f6c642876616c7565732c20302e373529202d207468726573686f6c642876616c7565732c20302e32352929202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d0a0a66756e6374696f6e2073636f74742876616c7565732c206d696e2c206d617829207b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f2028332e35202a20646576696174696f6e2876616c75657329202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d0a0a66756e6374696f6e206d61782876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d61783b0a7d0a0a66756e6374696f6e206d65616e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d206e2c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d2929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c756573292929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020696620286d292072657475726e2073756d202f206d3b0a7d0a0a66756e6374696f6e206d656469616e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206e756d62657273203d205b5d3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207468726573686f6c64286e756d626572732e736f727428617363656e64696e67292c20302e35293b0a7d0a0a66756e6374696f6e206d657267652861727261797329207b0a2020766172206e203d206172726179732e6c656e6774682c0a2020202020206d2c0a20202020202069203d202d312c0a2020202020206a203d20302c0a2020202020206d65726765642c0a20202020202061727261793b0a0a20207768696c6520282b2b69203c206e29206a202b3d206172726179735b695d2e6c656e6774683b0a20206d6572676564203d206e6577204172726179286a293b0a0a20207768696c6520282d2d6e203e3d203029207b0a202020206172726179203d206172726179735b6e5d3b0a202020206d203d2061727261792e6c656e6774683b0a202020207768696c6520282d2d6d203e3d203029207b0a2020202020206d65726765645b2d2d6a5d203d2061727261795b6d5d3b0a202020207d0a20207d0a0a202072657475726e206d65726765643b0a7d0a0a66756e6374696f6e206d696e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d696e3b0a7d0a0a66756e6374696f6e207065726d7574652861727261792c20696e646578657329207b0a20207661722069203d20696e64657865732e6c656e6774682c207065726d75746573203d206e65772041727261792869293b0a20207768696c652028692d2d29207065726d757465735b695d203d2061727261795b696e64657865735b695d5d3b0a202072657475726e207065726d757465733b0a7d0a0a66756e6374696f6e207363616e2876616c7565732c20636f6d7061726529207b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a2020202020206a203d20302c0a20202020202078692c0a202020202020786a203d2076616c7565735b6a5d3b0a0a202069662028636f6d70617265203d3d206e756c6c2920636f6d70617265203d20617363656e64696e673b0a0a20207768696c6520282b2b69203c206e29207b0a2020202069662028636f6d70617265287869203d2076616c7565735b695d2c20786a29203c2030207c7c20636f6d7061726528786a2c20786a2920213d3d203029207b0a202020202020786a203d2078692c206a203d20693b0a202020207d0a20207d0a0a202069662028636f6d7061726528786a2c20786a29203d3d3d2030292072657475726e206a3b0a7d0a0a66756e6374696f6e2073687566666c652861727261792c2069302c20693129207b0a2020766172206d203d20286931203d3d206e756c6c203f2061727261792e6c656e677468203a20693129202d20286930203d206930203d3d206e756c6c203f2030203a202b6930292c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d202b2069305d3b0a2020202061727261795b6d202b2069305d203d2061727261795b69202b2069305d3b0a2020202061727261795b69202b2069305d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a66756e6374696f6e2073756d2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c7565735b695d292073756d202b3d2076616c75653b202f2f204e6f74653a207a65726f20616e64206e756c6c20617265206571756976616c656e742e0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c75656f662876616c7565735b695d2c20692c2076616c75657329292073756d202b3d2076616c75653b0a202020207d0a20207d0a0a202072657475726e2073756d3b0a7d0a0a66756e6374696f6e207472616e73706f7365286d617472697829207b0a20206966202821286e203d206d61747269782e6c656e67746829292072657475726e205b5d3b0a2020666f7220287661722069203d202d312c206d203d206d696e286d61747269782c206c656e677468292c207472616e73706f7365203d206e6577204172726179286d293b202b2b69203c206d3b29207b0a20202020666f722028766172206a203d202d312c206e2c20726f77203d207472616e73706f73655b695d203d206e6577204172726179286e293b202b2b6a203c206e3b29207b0a202020202020726f775b6a5d203d206d61747269785b6a5d5b695d3b0a202020207d0a20207d0a202072657475726e207472616e73706f73653b0a7d0a0a66756e6374696f6e206c656e677468286429207b0a202072657475726e20642e6c656e6774683b0a7d0a0a66756e6374696f6e207a69702829207b0a202072657475726e207472616e73706f736528617267756d656e7473293b0a7d0a0a76617220736c6963652431203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206964656e746974792431287829207b0a202072657475726e20783b0a7d0a0a76617220746f70203d20312c0a202020207269676874203d20322c0a20202020626f74746f6d203d20332c0a202020206c656674203d20342c0a20202020657073696c6f6e203d2031652d363b0a0a66756e6374696f6e207472616e736c61746558287829207b0a202072657475726e20227472616e736c6174652822202b202878202b20302e3529202b20222c3029223b0a7d0a0a66756e6374696f6e207472616e736c61746559287929207b0a202072657475726e20227472616e736c61746528302c22202b202879202b20302e3529202b202229223b0a7d0a0a66756e6374696f6e206e756d6265722431287363616c6529207b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c652864293b0a20207d3b0a7d0a0a66756e6374696f6e2063656e746572287363616c6529207b0a2020766172206f6666736574203d204d6174682e6d617828302c207363616c652e62616e6477696474682829202d203129202f20323b202f2f2041646a75737420666f7220302e357078206f66667365742e0a2020696620287363616c652e726f756e64282929206f6666736574203d204d6174682e726f756e64286f6666736574293b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c65286429202b206f66667365743b0a20207d3b0a7d0a0a66756e6374696f6e20656e746572696e672829207b0a202072657475726e2021746869732e5f5f617869733b0a7d0a0a66756e6374696f6e2061786973286f7269656e742c207363616c6529207b0a2020766172207469636b417267756d656e7473203d205b5d2c0a2020202020207469636b56616c756573203d206e756c6c2c0a2020202020207469636b466f726d6174203d206e756c6c2c0a2020202020207469636b53697a65496e6e6572203d20362c0a2020202020207469636b53697a654f75746572203d20362c0a2020202020207469636b50616464696e67203d20332c0a2020202020206b203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d206c656674203f202d31203a20312c0a20202020202078203d206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d3d207269676874203f20227822203a202279222c0a2020202020207472616e73666f726d203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d20626f74746f6d203f207472616e736c61746558203a207472616e736c617465593b0a0a202066756e6374696f6e206178697328636f6e7465787429207b0a202020207661722076616c756573203d207469636b56616c756573203d3d206e756c6c203f20287363616c652e7469636b73203f207363616c652e7469636b732e6170706c79287363616c652c207469636b417267756d656e747329203a207363616c652e646f6d61696e282929203a207469636b56616c7565732c0a2020202020202020666f726d6174203d207469636b466f726d6174203d3d206e756c6c203f20287363616c652e7469636b466f726d6174203f207363616c652e7469636b466f726d61742e6170706c79287363616c652c207469636b417267756d656e747329203a206964656e74697479243129203a207469636b466f726d61742c0a202020202020202073706163696e67203d204d6174682e6d6178287469636b53697a65496e6e65722c203029202b207469636b50616464696e672c0a202020202020202072616e6765203d207363616c652e72616e676528292c0a202020202020202072616e676530203d202b72616e67655b305d202b20302e352c0a202020202020202072616e676531203d202b72616e67655b72616e67652e6c656e677468202d20315d202b20302e352c0a2020202020202020706f736974696f6e203d20287363616c652e62616e647769647468203f2063656e746572203a206e756d626572243129287363616c652e636f70792829292c0a202020202020202073656c656374696f6e203d20636f6e746578742e73656c656374696f6e203f20636f6e746578742e73656c656374696f6e2829203a20636f6e746578742c0a202020202020202070617468203d2073656c656374696f6e2e73656c656374416c6c28222e646f6d61696e22292e64617461285b6e756c6c5d292c0a20202020202020207469636b203d2073656c656374696f6e2e73656c656374416c6c28222e7469636b22292e646174612876616c7565732c207363616c65292e6f7264657228292c0a20202020202020207469636b45786974203d207469636b2e6578697428292c0a20202020202020207469636b456e746572203d207469636b2e656e74657228292e617070656e6428226722292e617474722822636c617373222c20227469636b22292c0a20202020202020206c696e65203d207469636b2e73656c65637428226c696e6522292c0a202020202020202074657874203d207469636b2e73656c65637428227465787422293b0a0a2020202070617468203d20706174682e6d6572676528706174682e656e74657228292e696e73657274282270617468222c20222e7469636b22290a20202020202020202e617474722822636c617373222c2022646f6d61696e22290a20202020202020202e6174747228227374726f6b65222c2022233030302229293b0a0a202020207469636b203d207469636b2e6d65726765287469636b456e746572293b0a0a202020206c696e65203d206c696e652e6d65726765287469636b456e7465722e617070656e6428226c696e6522290a20202020202020202e6174747228227374726f6b65222c20222330303022290a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e657229293b0a0a2020202074657874203d20746578742e6d65726765287469636b456e7465722e617070656e6428227465787422290a20202020202020202e61747472282266696c6c222c20222330303022290a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e6174747228226479222c206f7269656e74203d3d3d20746f70203f202230656d22203a206f7269656e74203d3d3d20626f74746f6d203f2022302e3731656d22203a2022302e3332656d2229293b0a0a2020202069662028636f6e7465787420213d3d2073656c656374696f6e29207b0a20202020202070617468203d20706174682e7472616e736974696f6e28636f6e74657874293b0a2020202020207469636b203d207469636b2e7472616e736974696f6e28636f6e74657874293b0a2020202020206c696e65203d206c696e652e7472616e736974696f6e28636f6e74657874293b0a20202020202074657874203d20746578742e7472616e736974696f6e28636f6e74657874293b0a0a2020202020207469636b45786974203d207469636b457869742e7472616e736974696f6e28636f6e74657874290a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e20697346696e6974652864203d20706f736974696f6e28642929203f207472616e73666f726d286429203a20746869732e67657441747472696275746528227472616e73666f726d22293b207d293b0a0a2020202020207469636b456e7465720a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b207661722070203d20746869732e706172656e744e6f64652e5f5f617869733b2072657475726e207472616e73666f726d287020262620697346696e6974652870203d207028642929203f2070203a20706f736974696f6e286429293b207d293b0a202020207d0a0a202020207469636b457869742e72656d6f766528293b0a0a20202020706174680a20202020202020202e61747472282264222c206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d2072696768740a2020202020202020202020203f20224d22202b206b202a207469636b53697a654f75746572202b20222c22202b2072616e676530202b202248302e355622202b2072616e676531202b20224822202b206b202a207469636b53697a654f757465720a2020202020202020202020203a20224d22202b2072616e676530202b20222c22202b206b202a207469636b53697a654f75746572202b202256302e354822202b2072616e676531202b20225622202b206b202a207469636b53697a654f75746572293b0a0a202020207469636b0a20202020202020202e6174747228226f706163697479222c2031290a20202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e207472616e73666f726d28706f736974696f6e286429293b207d293b0a0a202020206c696e650a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e6572293b0a0a20202020746578740a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e7465787428666f726d6174293b0a0a2020202073656c656374696f6e2e66696c74657228656e746572696e67290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822666f6e742d73697a65222c203130290a20202020202020202e617474722822666f6e742d66616d696c79222c202273616e732d736572696622290a20202020202020202e617474722822746578742d616e63686f72222c206f7269656e74203d3d3d207269676874203f2022737461727422203a206f7269656e74203d3d3d206c656674203f2022656e6422203a20226d6964646c6522293b0a0a2020202073656c656374696f6e0a20202020202020202e656163682866756e6374696f6e2829207b20746869732e5f5f61786973203d20706f736974696f6e3b207d293b0a20207d0a0a2020617869732e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65203d205f2c206178697329203a207363616c653b0a20207d3b0a0a2020617869732e7469636b73203d2066756e6374696f6e2829207b0a2020202072657475726e207469636b417267756d656e7473203d20736c69636524312e63616c6c28617267756d656e7473292c20617869733b0a20207d3b0a0a2020617869732e7469636b417267756d656e7473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b417267756d656e7473203d205f203d3d206e756c6c203f205b5d203a20736c69636524312e63616c6c285f292c206178697329203a207469636b417267756d656e74732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b56616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b56616c756573203d205f203d3d206e756c6c203f206e756c6c203a20736c69636524312e63616c6c285f292c206178697329203a207469636b56616c756573202626207469636b56616c7565732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b466f726d6174203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b466f726d6174203d205f2c206178697329203a207469636b466f726d61743b0a20207d3b0a0a2020617869732e7469636b53697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d207469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a65496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a654f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a654f757465723b0a20207d3b0a0a2020617869732e7469636b50616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b50616464696e67203d202b5f2c206178697329203a207469636b50616464696e673b0a20207d3b0a0a202072657475726e20617869733b0a7d0a0a66756e6374696f6e2061786973546f70287363616c6529207b0a202072657475726e206178697328746f702c207363616c65293b0a7d0a0a66756e6374696f6e20617869735269676874287363616c6529207b0a202072657475726e20617869732872696768742c207363616c65293b0a7d0a0a66756e6374696f6e2061786973426f74746f6d287363616c6529207b0a202072657475726e206178697328626f74746f6d2c207363616c65293b0a7d0a0a66756e6374696f6e20617869734c656674287363616c6529207b0a202072657475726e2061786973286c6566742c207363616c65293b0a7d0a0a766172206e6f6f70203d207b76616c75653a2066756e6374696f6e2829207b7d7d3b0a0a66756e6374696f6e2064697370617463682829207b0a2020666f7220287661722069203d20302c206e203d20617267756d656e74732e6c656e6774682c205f203d207b7d2c20743b2069203c206e3b202b2b6929207b0a2020202069662028212874203d20617267756d656e74735b695d202b20222229207c7c20287420696e205f2929207468726f77206e6577204572726f722822696c6c6567616c20747970653a2022202b2074293b0a202020205f5b745d203d205b5d3b0a20207d0a202072657475726e206e6577204469737061746368285f293b0a7d0a0a66756e6374696f6e204469737061746368285f29207b0a2020746869732e5f203d205f3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d65732c20747970657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a202020206966202874202626202174797065732e6861734f776e50726f706572747928742929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a44697370617463682e70726f746f74797065203d2064697370617463682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2044697370617463682c0a20206f6e3a2066756e6374696f6e28747970656e616d652c2063616c6c6261636b29207b0a20202020766172205f203d20746869732e5f2c0a202020202020202054203d207061727365547970656e616d657328747970656e616d65202b2022222c205f292c0a2020202020202020742c0a202020202020202069203d202d312c0a20202020202020206e203d20542e6c656e6774683b0a0a202020202f2f204966206e6f2063616c6c6261636b20776173207370656369666965642c2072657475726e207468652063616c6c6261636b206f662074686520676976656e207479706520616e64206e616d652e0a2020202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202020207768696c6520282b2b69203c206e2920696620282874203d2028747970656e616d65203d20545b695d292e7479706529202626202874203d20676574285f5b745d2c20747970656e616d652e6e616d652929292072657475726e20743b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2049662061207479706520776173207370656369666965642c20736574207468652063616c6c6261636b20666f722074686520676976656e207479706520616e64206e616d652e0a202020202f2f204f74686572776973652c2069662061206e756c6c2063616c6c6261636b20776173207370656369666965642c2072656d6f76652063616c6c6261636b73206f662074686520676976656e206e616d652e0a202020206966202863616c6c6261636b20213d206e756c6c20262620747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202874203d2028747970656e616d65203d20545b695d292e7479706529205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c2063616c6c6261636b293b0a202020202020656c7365206966202863616c6c6261636b203d3d206e756c6c2920666f7220287420696e205f29205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c206e756c6c293b0a202020207d0a0a2020202072657475726e20746869733b0a20207d2c0a2020636f70793a2066756e6374696f6e2829207b0a2020202076617220636f7079203d207b7d2c205f203d20746869732e5f3b0a20202020666f722028766172207420696e205f2920636f70795b745d203d205f5b745d2e736c69636528293b0a2020202072657475726e206e657720446973706174636828636f7079293b0a20207d2c0a202063616c6c3a2066756e6374696f6e28747970652c207468617429207b0a2020202069662028286e203d20617267756d656e74732e6c656e677468202d203229203e20302920666f7220287661722061726773203d206e6577204172726179286e292c2069203d20302c206e2c20743b2069203c206e3b202b2b692920617267735b695d203d20617267756d656e74735b69202b20325d3b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f72202874203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d2c0a20206170706c793a2066756e6374696f6e28747970652c20746861742c206172677329207b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f7220287661722074203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d0a7d3b0a0a66756e6374696f6e2067657428747970652c206e616d6529207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774682c20633b2069203c206e3b202b2b6929207b0a20202020696620282863203d20747970655b695d292e6e616d65203d3d3d206e616d6529207b0a20202020202072657475726e20632e76616c75653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073657428747970652c206e616d652c2063616c6c6261636b29207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202069662028747970655b695d2e6e616d65203d3d3d206e616d6529207b0a202020202020747970655b695d203d206e6f6f702c2074797065203d20747970652e736c69636528302c2069292e636f6e63617428747970652e736c6963652869202b203129293b0a202020202020627265616b3b0a202020207d0a20207d0a20206966202863616c6c6261636b20213d206e756c6c2920747970652e70757368287b6e616d653a206e616d652c2076616c75653a2063616c6c6261636b7d293b0a202072657475726e20747970653b0a7d0a0a766172207868746d6c203d2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c223b0a0a766172206e616d65737061636573203d207b0a20207376673a2022687474703a2f2f7777772e77332e6f72672f323030302f737667222c0a20207868746d6c3a207868746d6c2c0a2020786c696e6b3a2022687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222c0a2020786d6c3a2022687474703a2f2f7777772e77332e6f72672f584d4c2f313939382f6e616d657370616365222c0a2020786d6c6e733a2022687474703a2f2f7777772e77332e6f72672f323030302f786d6c6e732f220a7d3b0a0a66756e6374696f6e206e616d657370616365286e616d6529207b0a202076617220707265666978203d206e616d65202b3d2022222c2069203d207072656669782e696e6465784f6628223a22293b0a20206966202869203e3d20302026262028707265666978203d206e616d652e736c69636528302c2069292920213d3d2022786d6c6e732229206e616d65203d206e616d652e736c6963652869202b2031293b0a202072657475726e206e616d657370616365732e6861734f776e50726f70657274792870726566697829203f207b73706163653a206e616d657370616365735b7072656669785d2c206c6f63616c3a206e616d657d203a206e616d653b0a7d0a0a66756e6374696f6e2063726561746f72496e6865726974286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220646f63756d656e74203d20746869732e6f776e6572446f63756d656e742c0a2020202020202020757269203d20746869732e6e616d6573706163655552493b0a2020202072657475726e20757269203d3d3d207868746d6c20262620646f63756d656e742e646f63756d656e74456c656d656e742e6e616d657370616365555249203d3d3d207868746d6c0a20202020202020203f20646f63756d656e742e637265617465456c656d656e74286e616d65290a20202020202020203a20646f63756d656e742e637265617465456c656d656e744e53287572692c206e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f7246697865642866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6f776e6572446f63756d656e742e637265617465456c656d656e744e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f72286e616d6529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e202866756c6c6e616d652e6c6f63616c0a2020202020203f2063726561746f7246697865640a2020202020203a2063726561746f72496e6865726974292866756c6c6e616d65293b0a7d0a0a66756e6374696f6e206e6f6e652829207b7d0a0a66756e6374696f6e2073656c6563746f722873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f206e6f6e65203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f722873656c6563746f72293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73656c6563742873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e20656d7074792829207b0a202072657475726e205b5d3b0a7d0a0a66756e6374696f6e2073656c6563746f72416c6c2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f20656d707479203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73656c656374416c6c2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202073756267726f7570732e707573682873656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f757029293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20706172656e7473293b0a7d0a0a766172206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6d6174636865732873656c6563746f72293b0a20207d3b0a7d3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e74203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a20206966202821656c656d656e742e6d61746368657329207b0a202020207661722076656e646f724d617463686573203d20656c656d656e742e7765626b69744d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d734d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d6f7a4d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6f4d61746368657353656c6563746f723b0a202020206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076656e646f724d6174636865732e63616c6c28746869732c2073656c6563746f72293b0a2020202020207d3b0a202020207d3b0a20207d0a7d0a0a766172206d6174636865722431203d206d6174636865723b0a0a66756e6374696f6e2073656c656374696f6e5f66696c746572286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e207370617273652875706461746529207b0a202072657475726e206e6577204172726179287570646174652e6c656e677468293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656e7465722829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f656e746572207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e20456e7465724e6f646528706172656e742c20646174756d29207b0a2020746869732e6f776e6572446f63756d656e74203d20706172656e742e6f776e6572446f63756d656e743b0a2020746869732e6e616d657370616365555249203d20706172656e742e6e616d6573706163655552493b0a2020746869732e5f6e657874203d206e756c6c3b0a2020746869732e5f706172656e74203d20706172656e743b0a2020746869732e5f5f646174615f5f203d20646174756d3b0a7d0a0a456e7465724e6f64652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20456e7465724e6f64652c0a2020617070656e644368696c643a2066756e6374696f6e286368696c6429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c20746869732e5f6e657874293b207d2c0a2020696e736572744265666f72653a2066756e6374696f6e286368696c642c206e65787429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c206e657874293b207d2c0a2020717565727953656c6563746f723a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f722873656c6563746f72293b207d2c0a2020717565727953656c6563746f72416c6c3a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b207d0a7d3b0a0a66756e6374696f6e20636f6e7374616e742431287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a766172206b6579507265666978203d202224223b202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a0a66756e6374696f6e2062696e64496e64657828706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c206461746129207b0a20207661722069203d20302c0a2020202020206e6f64652c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774683b0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f64657320746861742066697420696e746f207570646174652e0a20202f2f2050757420616e79206e756c6c206e6f64657320696e746f20656e7465722e0a20202f2f2050757420616e792072656d61696e696e67206461746120696e746f20656e7465722e0a2020666f7220283b2069203c20646174614c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020207570646174655b695d203d206e6f64653b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f646573207468617420646f6ee28099742066697420696e746f20657869742e0a2020666f7220283b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2062696e644b657928706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c20646174612c206b657929207b0a202076617220692c0a2020202020206e6f64652c0a2020202020206e6f646542794b657956616c7565203d207b7d2c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020206b657956616c756573203d206e65772041727261792867726f75704c656e677468292c0a2020202020206b657956616c75653b0a0a20202f2f20436f6d7075746520746865206b657920666f722065616368206e6f64652e0a20202f2f204966206d756c7469706c65206e6f6465732068617665207468652073616d65206b65792c20746865206475706c6963617465732061726520616464656420746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206b657956616c7565735b695d203d206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020202020696620286b657956616c756520696e206e6f646542794b657956616c756529207b0a2020202020202020657869745b695d203d206e6f64653b0a2020202020207d20656c7365207b0a20202020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a20202f2f20436f6d7075746520746865206b657920666f72206561636820646174756d2e0a20202f2f2049662074686572652061206e6f6465206173736f63696174656420776974682074686973206b65792c206a6f696e20616e642061646420697420746f207570646174652e0a20202f2f204966207468657265206973206e6f7420286f7220746865206b65792069732061206475706c6963617465292c2061646420697420746f20656e7465722e0a2020666f72202869203d20303b2069203c20646174614c656e6774683b202b2b6929207b0a202020206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c28706172656e742c20646174615b695d2c20692c2064617461293b0a20202020696620286e6f6465203d206e6f646542794b657956616c75655b6b657956616c75655d29207b0a2020202020207570646174655b695d203d206e6f64653b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e756c6c3b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2041646420616e792072656d61696e696e67206e6f64657320746861742077657265206e6f7420626f756e6420746f206461746120746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a2020202069662028286e6f6465203d2067726f75705b695d2920262620286e6f646542794b657956616c75655b6b657956616c7565735b695d5d203d3d3d206e6f64652929207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646174612876616c75652c206b657929207b0a2020696620282176616c756529207b0a2020202064617461203d206e657720417272617928746869732e73697a652829292c206a203d202d313b0a20202020746869732e656163682866756e6374696f6e286429207b20646174615b2b2b6a5d203d20643b207d293b0a2020202072657475726e20646174613b0a20207d0a0a20207661722062696e64203d206b6579203f2062696e644b6579203a2062696e64496e6465782c0a202020202020706172656e7473203d20746869732e5f706172656e74732c0a20202020202067726f757073203d20746869732e5f67726f7570733b0a0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e22292076616c7565203d20636f6e7374616e7424312876616c7565293b0a0a2020666f722028766172206d203d2067726f7570732e6c656e6774682c20757064617465203d206e6577204172726179286d292c20656e746572203d206e6577204172726179286d292c2065786974203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a2020202076617220706172656e74203d20706172656e74735b6a5d2c0a202020202020202067726f7570203d2067726f7570735b6a5d2c0a202020202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020202064617461203d2076616c75652e63616c6c28706172656e742c20706172656e7420262620706172656e742e5f5f646174615f5f2c206a2c20706172656e7473292c0a2020202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020202020656e74657247726f7570203d20656e7465725b6a5d203d206e657720417272617928646174614c656e677468292c0a202020202020202075706461746547726f7570203d207570646174655b6a5d203d206e657720417272617928646174614c656e677468292c0a20202020202020206578697447726f7570203d20657869745b6a5d203d206e65772041727261792867726f75704c656e677468293b0a0a2020202062696e6428706172656e742c2067726f75702c20656e74657247726f75702c2075706461746547726f75702c206578697447726f75702c20646174612c206b6579293b0a0a202020202f2f204e6f7720636f6e6e6563742074686520656e746572206e6f64657320746f20746865697220666f6c6c6f77696e6720757064617465206e6f64652c207375636820746861740a202020202f2f20617070656e644368696c642063616e20696e7365727420746865206d6174657269616c697a656420656e746572206e6f6465206265666f72652074686973206e6f64652c0a202020202f2f20726174686572207468616e2061742074686520656e64206f662074686520706172656e74206e6f64652e0a20202020666f722028766172206930203d20302c206931203d20302c2070726576696f75732c206e6578743b206930203c20646174614c656e6774683b202b2b693029207b0a2020202020206966202870726576696f7573203d20656e74657247726f75705b69305d29207b0a2020202020202020696620286930203e3d20693129206931203d206930202b20313b0a20202020202020207768696c65202821286e657874203d2075706461746547726f75705b69315d29202626202b2b6931203c20646174614c656e677468293b0a202020202020202070726576696f75732e5f6e657874203d206e657874207c7c206e756c6c3b0a2020202020207d0a202020207d0a20207d0a0a2020757064617465203d206e65772053656c656374696f6e287570646174652c20706172656e7473293b0a20207570646174652e5f656e746572203d20656e7465723b0a20207570646174652e5f65786974203d20657869743b0a202072657475726e207570646174653b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f657869742829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f65786974207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6d657267652873656c656374696f6e24243129207b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d2073656c656374696f6e2424312e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e65772053656c656374696f6e286d65726765732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6f726465722829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d202d312c206d203d2067726f7570732e6c656e6774683b202b2b6a203c206d3b29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d2067726f75702e6c656e677468202d20312c206e657874203d2067726f75705b695d2c206e6f64653b202d2d69203e3d20303b29207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020696620286e657874202626206e65787420213d3d206e6f64652e6e6578745369626c696e6729206e6578742e706172656e744e6f64652e696e736572744265666f7265286e6f64652c206e657874293b0a20202020202020206e657874203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f736f727428636f6d7061726529207b0a20206966202821636f6d706172652920636f6d70617265203d20617363656e64696e6724313b0a0a202066756e6374696f6e20636f6d706172654e6f646528612c206229207b0a2020202072657475726e20612026262062203f20636f6d7061726528612e5f5f646174615f5f2c20622e5f5f646174615f5f29203a202161202d2021623b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c20736f727467726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c20736f727467726f7570203d20736f727467726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020736f727467726f75705b695d203d206e6f64653b0a2020202020207d0a202020207d0a20202020736f727467726f75702e736f727428636f6d706172654e6f6465293b0a20207d0a0a202072657475726e206e65772053656c656374696f6e28736f727467726f7570732c20746869732e5f706172656e7473292e6f7264657228293b0a7d0a0a66756e6374696f6e20617363656e64696e67243128612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f63616c6c2829207b0a20207661722063616c6c6261636b203d20617267756d656e74735b305d3b0a2020617267756d656e74735b305d203d20746869733b0a202063616c6c6261636b2e6170706c79286e756c6c2c20617267756d656e7473293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6e6f6465732829207b0a2020766172206e6f646573203d206e657720417272617928746869732e73697a652829292c2069203d202d313b0a2020746869732e656163682866756e6374696f6e2829207b206e6f6465735b2b2b695d203d20746869733b207d293b0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6e6f64652829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d2067726f75705b695d3b0a202020202020696620286e6f6465292072657475726e206e6f64653b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73697a652829207b0a20207661722073697a65203d20303b0a2020746869732e656163682866756e6374696f6e2829207b202b2b73697a653b207d293b0a202072657475726e2073697a653b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656d7074792829207b0a202072657475726e2021746869732e6e6f646528293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656163682863616c6c6261636b29207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d292063616c6c6261636b2e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e736574417474726962757465286e616d652c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f7665417474726962757465286e616d65293b0a20202020656c736520746869732e736574417474726962757465286e616d652c2076293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20202020656c736520746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f61747472286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206e6f6465203d20746869732e6e6f646528293b0a2020202072657475726e2066756c6c6e616d652e6c6f63616c0a20202020202020203f206e6f64652e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c290a20202020202020203a206e6f64652e6765744174747269627574652866756c6c6e616d65293b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f766529203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e742929292866756c6c6e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e2064656661756c7456696577286e6f646529207b0a202072657475726e20286e6f64652e6f776e6572446f63756d656e74202626206e6f64652e6f776e6572446f63756d656e742e64656661756c745669657729202f2f206e6f64652069732061204e6f64650a2020202020207c7c20286e6f64652e646f63756d656e74202626206e6f646529202f2f206e6f646520697320612057696e646f770a2020202020207c7c206e6f64652e64656661756c74566965773b202f2f206e6f6465206973206120446f63756d656e740a7d0a0a66756e6374696f6e207374796c6552656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e73657450726f7065727479286e616d652c2076616c75652c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20202020656c736520746869732e7374796c652e73657450726f7065727479286e616d652c20762c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f7374796c65286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020202020202020203f207374796c6552656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020202020202020203f207374796c6546756e6374696f6e0a2020202020202020202020203a207374796c65436f6e7374616e7429286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929290a2020202020203a207374796c6556616c756528746869732e6e6f646528292c206e616d65293b0a7d0a0a66756e6374696f6e207374796c6556616c7565286e6f64652c206e616d6529207b0a202072657475726e206e6f64652e7374796c652e67657450726f706572747956616c7565286e616d65290a2020202020207c7c2064656661756c7456696577286e6f6465292e676574436f6d70757465645374796c65286e6f64652c206e756c6c292e67657450726f706572747956616c7565286e616d65293b0a7d0a0a66756e6374696f6e2070726f706572747952656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202064656c65746520746869735b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e2070726f7065727479436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869735b6e616d655d203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2070726f706572747946756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c292064656c65746520746869735b6e616d655d3b0a20202020656c736520746869735b6e616d655d203d20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f70726f7065727479286e616d652c2076616c756529207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a202020202020202020203f2070726f706572747952656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2070726f706572747946756e6374696f6e0a202020202020202020203a2070726f7065727479436f6e7374616e7429286e616d652c2076616c756529290a2020202020203a20746869732e6e6f646528295b6e616d655d3b0a7d0a0a66756e6374696f6e20636c617373417272617928737472696e6729207b0a202072657475726e20737472696e672e7472696d28292e73706c6974282f5e7c5c732b2f293b0a7d0a0a66756e6374696f6e20636c6173734c697374286e6f646529207b0a202072657475726e206e6f64652e636c6173734c697374207c7c206e657720436c6173734c697374286e6f6465293b0a7d0a0a66756e6374696f6e20436c6173734c697374286e6f646529207b0a2020746869732e5f6e6f6465203d206e6f64653b0a2020746869732e5f6e616d6573203d20636c6173734172726179286e6f64652e6765744174747269627574652822636c6173732229207c7c202222293b0a7d0a0a436c6173734c6973742e70726f746f74797065203d207b0a20206164643a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203c203029207b0a202020202020746869732e5f6e616d65732e70757368286e616d65293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203e3d203029207b0a202020202020746869732e5f6e616d65732e73706c69636528692c2031293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a2020636f6e7461696e733a2066756e6374696f6e286e616d6529207b0a2020202072657475726e20746869732e5f6e616d65732e696e6465784f66286e616d6529203e3d20303b0a20207d0a7d3b0a0a66756e6374696f6e20636c6173736564416464286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e616464286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656452656d6f7665286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e72656d6f7665286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656454727565286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656441646428746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446616c7365286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656452656d6f766528746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446756e6374696f6e286e616d65732c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020202876616c75652e6170706c7928746869732c20617267756d656e747329203f20636c6173736564416464203a20636c617373656452656d6f76652928746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6173736564286e616d652c2076616c756529207b0a2020766172206e616d6573203d20636c6173734172726179286e616d65202b202222293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206c697374203d20636c6173734c69737428746869732e6e6f64652829292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028216c6973742e636f6e7461696e73286e616d65735b695d29292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d0a0a202072657475726e20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f20636c617373656446756e6374696f6e203a2076616c75650a2020202020203f20636c6173736564547275650a2020202020203a20636c617373656446616c736529286e616d65732c2076616c756529293b0a7d0a0a66756e6374696f6e207465787452656d6f76652829207b0a2020746869732e74657874436f6e74656e74203d2022223b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e74657874436f6e74656e74203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f746578742876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f207465787452656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207465787446756e6374696f6e0a202020202020202020203a2074657874436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e74657874436f6e74656e743b0a7d0a0a66756e6374696f6e2068746d6c52656d6f76652829207b0a2020746869732e696e6e657248544d4c203d2022223b0a7d0a0a66756e6374696f6e2068746d6c436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e696e6e657248544d4c203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2068746d6c46756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e696e6e657248544d4c203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f68746d6c2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f2068746d6c52656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2068746d6c46756e6374696f6e0a202020202020202020203a2068746d6c436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e696e6e657248544d4c3b0a7d0a0a66756e6374696f6e2072616973652829207b0a202069662028746869732e6e6578745369626c696e672920746869732e706172656e744e6f64652e617070656e644368696c642874686973293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f72616973652829207b0a202072657475726e20746869732e65616368287261697365293b0a7d0a0a66756e6374696f6e206c6f7765722829207b0a202069662028746869732e70726576696f75735369626c696e672920746869732e706172656e744e6f64652e696e736572744265666f726528746869732c20746869732e706172656e744e6f64652e66697273744368696c64293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6c6f7765722829207b0a202072657475726e20746869732e65616368286c6f776572293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f617070656e64286e616d6529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e617070656e644368696c64286372656174652e6170706c7928746869732c20617267756d656e747329293b0a20207d293b0a7d0a0a66756e6374696f6e20636f6e7374616e744e756c6c2829207b0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f696e73657274286e616d652c206265666f726529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65292c0a20202020202073656c656374203d206265666f7265203d3d206e756c6c203f20636f6e7374616e744e756c6c203a20747970656f66206265666f7265203d3d3d202266756e6374696f6e22203f206265666f7265203a2073656c6563746f72286265666f7265293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e696e736572744265666f7265286372656174652e6170706c7928746869732c20617267756d656e7473292c2073656c6563742e6170706c7928746869732c20617267756d656e747329207c7c206e756c6c293b0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f76652829207b0a202076617220706172656e74203d20746869732e706172656e744e6f64653b0a202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f72656d6f76652829207b0a202072657475726e20746869732e656163682872656d6f7665293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e655368616c6c6f772829207b0a202072657475726e20746869732e706172656e744e6f64652e696e736572744265666f726528746869732e636c6f6e654e6f64652866616c7365292c20746869732e6e6578745369626c696e67293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e65446565702829207b0a202072657475726e20746869732e706172656e744e6f64652e696e736572744265666f726528746869732e636c6f6e654e6f64652874727565292c20746869732e6e6578745369626c696e67293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e65286465657029207b0a202072657475726e20746869732e73656c6563742864656570203f2073656c656374696f6e5f636c6f6e6544656570203a2073656c656374696f6e5f636c6f6e655368616c6c6f77293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646174756d2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e70726f706572747928225f5f646174615f5f222c2076616c7565290a2020202020203a20746869732e6e6f646528292e5f5f646174615f5f3b0a7d0a0a7661722066696c7465724576656e7473203d207b7d3b0a0a6578706f7274732e6576656e74203d206e756c6c3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e742431203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a2020696620282128226f6e6d6f757365656e7465722220696e20656c656d656e7424312929207b0a2020202066696c7465724576656e7473203d207b6d6f757365656e7465723a20226d6f7573656f766572222c206d6f7573656c656176653a20226d6f7573656f7574227d3b0a20207d0a7d0a0a66756e6374696f6e2066696c746572436f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a20206c697374656e6572203d20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f7570293b0a202072657475726e2066756e6374696f6e286576656e7429207b0a202020207661722072656c61746564203d206576656e742e72656c617465645461726765743b0a20202020696620282172656c61746564207c7c202872656c6174656420213d3d207468697320262620212872656c617465642e636f6d70617265446f63756d656e74506f736974696f6e28746869732920262038292929207b0a2020202020206c697374656e65722e63616c6c28746869732c206576656e74293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a202072657475726e2066756e6374696f6e286576656e743129207b0a20202020766172206576656e7430203d206578706f7274732e6576656e743b202f2f204576656e74732063616e206265207265656e7472616e742028652e672e2c20666f637573292e0a202020206578706f7274732e6576656e74203d206576656e74313b0a20202020747279207b0a2020202020206c697374656e65722e63616c6c28746869732c20746869732e5f5f646174615f5f2c20696e6465782c2067726f7570293b0a202020207d2066696e616c6c79207b0a2020202020206578706f7274732e6576656e74203d206576656e74303b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061727365547970656e616d6573243128747970656e616d657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a66756e6374696f6e206f6e52656d6f766528747970656e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172206f6e203d20746869732e5f5f6f6e3b0a2020202069662028216f6e292072657475726e3b0a20202020666f722028766172206a203d20302c2069203d202d312c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020696620286f203d206f6e5b6a5d2c202821747970656e616d652e74797065207c7c206f2e74797065203d3d3d20747970656e616d652e7479706529202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020207d20656c7365207b0a20202020202020206f6e5b2b2b695d203d206f3b0a2020202020207d0a202020207d0a20202020696620282b2b6929206f6e2e6c656e677468203d20693b0a20202020656c73652064656c65746520746869732e5f5f6f6e3b0a20207d3b0a7d0a0a66756e6374696f6e206f6e41646428747970656e616d652c2076616c75652c206361707475726529207b0a20207661722077726170203d2066696c7465724576656e74732e6861734f776e50726f706572747928747970656e616d652e7479706529203f2066696c746572436f6e746578744c697374656e6572203a20636f6e746578744c697374656e65723b0a202072657475726e2066756e6374696f6e28642c20692c2067726f757029207b0a20202020766172206f6e203d20746869732e5f5f6f6e2c206f2c206c697374656e6572203d20777261702876616c75652c20692c2067726f7570293b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020202069662028286f203d206f6e5b6a5d292e74797065203d3d3d20747970656e616d652e74797065202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020202020746869732e6164644576656e744c697374656e6572286f2e747970652c206f2e6c697374656e6572203d206c697374656e65722c206f2e63617074757265203d2063617074757265293b0a20202020202020206f2e76616c7565203d2076616c75653b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a20202020746869732e6164644576656e744c697374656e657228747970656e616d652e747970652c206c697374656e65722c2063617074757265293b0a202020206f203d207b747970653a20747970656e616d652e747970652c206e616d653a20747970656e616d652e6e616d652c2076616c75653a2076616c75652c206c697374656e65723a206c697374656e65722c20636170747572653a20636170747572657d3b0a2020202069662028216f6e2920746869732e5f5f6f6e203d205b6f5d3b0a20202020656c7365206f6e2e70757368286f293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6f6e28747970656e616d652c2076616c75652c206361707475726529207b0a202076617220747970656e616d6573203d207061727365547970656e616d6573243128747970656e616d65202b202222292c20692c206e203d20747970656e616d65732e6c656e6774682c20743b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206f6e203d20746869732e6e6f646528292e5f5f6f6e3b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020666f72202869203d20302c206f203d206f6e5b6a5d3b2069203c206e3b202b2b6929207b0a2020202020202020696620282874203d20747970656e616d65735b695d292e74797065203d3d3d206f2e7479706520262620742e6e616d65203d3d3d206f2e6e616d6529207b0a2020202020202020202072657475726e206f2e76616c75653b0a20202020202020207d0a2020202020207d0a202020207d0a2020202072657475726e3b0a20207d0a0a20206f6e203d2076616c7565203f206f6e416464203a206f6e52656d6f76653b0a20206966202863617074757265203d3d206e756c6c292063617074757265203d2066616c73653b0a2020666f72202869203d20303b2069203c206e3b202b2b692920746869732e65616368286f6e28747970656e616d65735b695d2c2076616c75652c206361707475726529293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20637573746f6d4576656e74286576656e74312c206c697374656e65722c20746861742c206172677329207b0a2020766172206576656e7430203d206578706f7274732e6576656e743b0a20206576656e74312e736f757263654576656e74203d206578706f7274732e6576656e743b0a20206578706f7274732e6576656e74203d206576656e74313b0a2020747279207b0a2020202072657475726e206c697374656e65722e6170706c7928746861742c2061726773293b0a20207d2066696e616c6c79207b0a202020206578706f7274732e6576656e74203d206576656e74303b0a20207d0a7d0a0a66756e6374696f6e2064697370617463684576656e74286e6f64652c20747970652c20706172616d7329207b0a20207661722077696e646f77203d2064656661756c7456696577286e6f6465292c0a2020202020206576656e74203d2077696e646f772e437573746f6d4576656e743b0a0a202069662028747970656f66206576656e74203d3d3d202266756e6374696f6e2229207b0a202020206576656e74203d206e6577206576656e7428747970652c20706172616d73293b0a20207d20656c7365207b0a202020206576656e74203d2077696e646f772e646f63756d656e742e6372656174654576656e7428224576656e7422293b0a2020202069662028706172616d7329206576656e742e696e69744576656e7428747970652c20706172616d732e627562626c65732c20706172616d732e63616e63656c61626c65292c206576656e742e64657461696c203d20706172616d732e64657461696c3b0a20202020656c7365206576656e742e696e69744576656e7428747970652c2066616c73652c2066616c7365293b0a20207d0a0a20206e6f64652e64697370617463684576656e74286576656e74293b0a7d0a0a66756e6374696f6e206469737061746368436f6e7374616e7428747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d73293b0a20207d3b0a7d0a0a66756e6374696f6e20646973706174636846756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d732e6170706c7928746869732c20617267756d656e747329293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646973706174636828747970652c20706172616d7329207b0a202072657475726e20746869732e656163682828747970656f6620706172616d73203d3d3d202266756e6374696f6e220a2020202020203f20646973706174636846756e6374696f6e0a2020202020203a206469737061746368436f6e7374616e742928747970652c20706172616d7329293b0a7d0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a66756e6374696f6e2053656c656374696f6e2867726f7570732c20706172656e747329207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a7d0a0a66756e6374696f6e2073656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e285b5b646f63756d656e742e646f63756d656e74456c656d656e745d5d2c20726f6f74293b0a7d0a0a53656c656374696f6e2e70726f746f74797065203d2073656c656374696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2053656c656374696f6e2c0a202073656c6563743a2073656c656374696f6e5f73656c6563742c0a202073656c656374416c6c3a2073656c656374696f6e5f73656c656374416c6c2c0a202066696c7465723a2073656c656374696f6e5f66696c7465722c0a2020646174613a2073656c656374696f6e5f646174612c0a2020656e7465723a2073656c656374696f6e5f656e7465722c0a2020657869743a2073656c656374696f6e5f657869742c0a20206d657267653a2073656c656374696f6e5f6d657267652c0a20206f726465723a2073656c656374696f6e5f6f726465722c0a2020736f72743a2073656c656374696f6e5f736f72742c0a202063616c6c3a2073656c656374696f6e5f63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f6e6f64652c0a202073697a653a2073656c656374696f6e5f73697a652c0a2020656d7074793a2073656c656374696f6e5f656d7074792c0a2020656163683a2073656c656374696f6e5f656163682c0a2020617474723a2073656c656374696f6e5f617474722c0a20207374796c653a2073656c656374696f6e5f7374796c652c0a202070726f70657274793a2073656c656374696f6e5f70726f70657274792c0a2020636c61737365643a2073656c656374696f6e5f636c61737365642c0a2020746578743a2073656c656374696f6e5f746578742c0a202068746d6c3a2073656c656374696f6e5f68746d6c2c0a202072616973653a2073656c656374696f6e5f72616973652c0a20206c6f7765723a2073656c656374696f6e5f6c6f7765722c0a2020617070656e643a2073656c656374696f6e5f617070656e642c0a2020696e736572743a2073656c656374696f6e5f696e736572742c0a202072656d6f76653a2073656c656374696f6e5f72656d6f76652c0a2020636c6f6e653a2073656c656374696f6e5f636c6f6e652c0a2020646174756d3a2073656c656374696f6e5f646174756d2c0a20206f6e3a2073656c656374696f6e5f6f6e2c0a202064697370617463683a2073656c656374696f6e5f64697370617463680a7d3b0a0a66756e6374696f6e2073656c6563742873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b5b646f63756d656e742e717565727953656c6563746f722873656c6563746f72295d5d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b5b73656c6563746f725d5d2c20726f6f74293b0a7d0a0a66756e6374696f6e20637265617465286e616d6529207b0a202072657475726e2073656c6563742863726561746f72286e616d65292e63616c6c28646f63756d656e742e646f63756d656e74456c656d656e7429293b0a7d0a0a766172206e6578744964203d20303b0a0a66756e6374696f6e206c6f63616c2829207b0a202072657475726e206e6577204c6f63616c3b0a7d0a0a66756e6374696f6e204c6f63616c2829207b0a2020746869732e5f203d20224022202b20282b2b6e6578744964292e746f537472696e67283336293b0a7d0a0a4c6f63616c2e70726f746f74797065203d206c6f63616c2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204c6f63616c2c0a20206765743a2066756e6374696f6e286e6f646529207b0a20202020766172206964203d20746869732e5f3b0a202020207768696c6520282128696420696e206e6f64652929206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a2020202072657475726e206e6f64655b69645d3b0a20207d2c0a20207365743a2066756e6374696f6e286e6f64652c2076616c756529207b0a2020202072657475726e206e6f64655b746869732e5f5d203d2076616c75653b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a2020202072657475726e20746869732e5f20696e206e6f64652026262064656c657465206e6f64655b746869732e5f5d3b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a66756e6374696f6e20736f757263654576656e742829207b0a20207661722063757272656e74203d206578706f7274732e6576656e742c20736f757263653b0a20207768696c652028736f75726365203d2063757272656e742e736f757263654576656e74292063757272656e74203d20736f757263653b0a202072657475726e2063757272656e743b0a7d0a0a66756e6374696f6e20706f696e74286e6f64652c206576656e7429207b0a202076617220737667203d206e6f64652e6f776e6572535647456c656d656e74207c7c206e6f64653b0a0a2020696620287376672e637265617465535647506f696e7429207b0a2020202076617220706f696e74203d207376672e637265617465535647506f696e7428293b0a20202020706f696e742e78203d206576656e742e636c69656e74582c20706f696e742e79203d206576656e742e636c69656e74593b0a20202020706f696e74203d20706f696e742e6d61747269785472616e73666f726d286e6f64652e67657453637265656e43544d28292e696e76657273652829293b0a2020202072657475726e205b706f696e742e782c20706f696e742e795d3b0a20207d0a0a20207661722072656374203d206e6f64652e676574426f756e64696e67436c69656e745265637428293b0a202072657475726e205b6576656e742e636c69656e7458202d20726563742e6c656674202d206e6f64652e636c69656e744c6566742c206576656e742e636c69656e7459202d20726563742e746f70202d206e6f64652e636c69656e74546f705d3b0a7d0a0a66756e6374696f6e206d6f757365286e6f646529207b0a2020766172206576656e74203d20736f757263654576656e7428293b0a2020696620286576656e742e6368616e676564546f756368657329206576656e74203d206576656e742e6368616e676564546f75636865735b305d3b0a202072657475726e20706f696e74286e6f64652c206576656e74293b0a7d0a0a66756e6374696f6e2073656c656374416c6c2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72295d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b73656c6563746f72203d3d206e756c6c203f205b5d203a2073656c6563746f725d2c20726f6f74293b0a7d0a0a66756e6374696f6e20746f756368286e6f64652c20746f75636865732c206964656e74696669657229207b0a202069662028617267756d656e74732e6c656e677468203c203329206964656e746966696572203d20746f75636865732c20746f7563686573203d20736f757263654576656e7428292e6368616e676564546f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20746f7563683b2069203c206e3b202b2b6929207b0a202020206966202828746f756368203d20746f75636865735b695d292e6964656e746966696572203d3d3d206964656e74696669657229207b0a20202020202072657475726e20706f696e74286e6f64652c20746f756368293b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e20746f7563686573286e6f64652c20746f756368657329207b0a202069662028746f7563686573203d3d206e756c6c2920746f7563686573203d20736f757263654576656e7428292e746f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20706f696e7473203d206e6577204172726179286e293b2069203c206e3b202b2b6929207b0a20202020706f696e74735b695d203d20706f696e74286e6f64652c20746f75636865735b695d293b0a20207d0a0a202072657475726e20706f696e74733b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e742829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206472616744697361626c65287669657729207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e242431203d2073656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e6f6576656e742c2074727565293b0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2424312e6f6e282273656c65637473746172742e64726167222c206e6f6576656e742c2074727565293b0a20207d20656c7365207b0a20202020726f6f742e5f5f6e6f73656c656374203d20726f6f742e7374796c652e4d6f7a5573657253656c6563743b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20226e6f6e65223b0a20207d0a7d0a0a66756e6374696f6e207965736472616728766965772c206e6f636c69636b29207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e242431203d2073656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e756c6c293b0a2020696620286e6f636c69636b29207b0a2020202073656c656374696f6e2424312e6f6e2822636c69636b2e64726167222c206e6f6576656e742c2074727565293b0a2020202073657454696d656f75742866756e6374696f6e2829207b2073656c656374696f6e2424312e6f6e2822636c69636b2e64726167222c206e756c6c293b207d2c2030293b0a20207d0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2424312e6f6e282273656c65637473746172742e64726167222c206e756c6c293b0a20207d20656c7365207b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20726f6f742e5f5f6e6f73656c6563743b0a2020202064656c65746520726f6f742e5f5f6e6f73656c6563743b0a20207d0a7d0a0a66756e6374696f6e20636f6e7374616e742432287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20447261674576656e74287461726765742c20747970652c207375626a6563742c2069642c206163746976652c20782c20792c2064782c2064792c20646973706174636829207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7375626a656374203d207375626a6563743b0a2020746869732e6964656e746966696572203d2069643b0a2020746869732e616374697665203d206163746976653b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a2020746869732e6478203d2064783b0a2020746869732e6479203d2064793b0a2020746869732e5f203d2064697370617463683b0a7d0a0a447261674576656e742e70726f746f747970652e6f6e203d2066756e6374696f6e2829207b0a20207661722076616c7565203d20746869732e5f2e6f6e2e6170706c7928746869732e5f2c20617267756d656e7473293b0a202072657475726e2076616c7565203d3d3d20746869732e5f203f2074686973203a2076616c75653b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74436f6e7461696e65722829207b0a202072657475726e20746869732e706172656e744e6f64653b0a7d0a0a66756e6374696f6e2064656661756c745375626a656374286429207b0a202072657475726e2064203d3d206e756c6c203f207b783a206578706f7274732e6576656e742e782c20793a206578706f7274732e6576656e742e797d203a20643b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e20647261672829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020636f6e7461696e6572203d2064656661756c74436f6e7461696e65722c0a2020202020207375626a656374203d2064656661756c745375626a6563742c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020206765737475726573203d207b7d2c0a2020202020206c697374656e657273203d20646973706174636828227374617274222c202264726167222c2022656e6422292c0a202020202020616374697665203d20302c0a2020202020206d6f757365646f776e782c0a2020202020206d6f757365646f776e792c0a2020202020206d6f7573656d6f76696e672c0a202020202020746f756368656e64696e672c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e20647261672873656c656374696f6e24243129207b0a2020202073656c656374696f6e2424310a20202020202020202e6f6e28226d6f757365646f776e2e64726167222c206d6f757365646f776e6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e64726167222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e64726167222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e6472616720746f75636863616e63656c2e64726167222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067657374757265203d206265666f7265737461727428226d6f757365222c20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c206d6f7573652c20746869732c20617267756d656e7473293b0a20202020696620282167657374757265292072657475726e3b0a2020202073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e64726167222c206d6f75736575707065642c2074727565293b0a202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a202020206d6f7573656d6f76696e67203d2066616c73653b0a202020206d6f757365646f776e78203d206578706f7274732e6576656e742e636c69656e74583b0a202020206d6f757365646f776e79203d206578706f7274732e6576656e742e636c69656e74593b0a20202020676573747572652822737461727422293b0a20207d0a0a202066756e6374696f6e206d6f7573656d6f7665642829207b0a202020206e6f6576656e7428293b0a2020202069662028216d6f7573656d6f76696e6729207b0a202020202020766172206478203d206578706f7274732e6576656e742e636c69656e7458202d206d6f757365646f776e782c206479203d206578706f7274732e6576656e742e636c69656e7459202d206d6f757365646f776e793b0a2020202020206d6f7573656d6f76696e67203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a202020207d0a2020202067657374757265732e6d6f75736528226472616722293b0a20207d0a0a202066756e6374696f6e206d6f75736575707065642829207b0a2020202073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167206d6f75736575702e64726167222c206e756c6c293b0a2020202079657364726167286578706f7274732e6576656e742e766965772c206d6f7573656d6f76696e67293b0a202020206e6f6576656e7428293b0a2020202067657374757265732e6d6f7573652822656e6422293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a202020202020202063203d20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d206265666f7265737461727428746f75636865732424315b695d2e6964656e7469666965722c20632c20746f7563682c20746869732c20617267756d656e74732929207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822737461727422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865732424315b695d2e6964656e7469666965725d29207b0a20202020202020206e6f6576656e7428293b0a20202020202020206765737475726528226472616722293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865732424315b695d2e6964656e7469666965725d29207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822656e6422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206265666f726573746172742869642c20636f6e7461696e65722c20706f696e742424312c20746861742c206172677329207b0a202020207661722070203d20706f696e7424243128636f6e7461696e65722c206964292c20732c2064782c2064792c0a20202020202020207375626c697374656e657273203d206c697374656e6572732e636f707928293b0a0a202020206966202821637573746f6d4576656e74286e657720447261674576656e7428647261672c20226265666f72657374617274222c20732c2069642c206163746976652c20705b305d2c20705b315d2c20302c20302c207375626c697374656e657273292c2066756e6374696f6e2829207b0a20202020202069662028286578706f7274732e6576656e742e7375626a656374203d2073203d207375626a6563742e6170706c7928746861742c20617267732929203d3d206e756c6c292072657475726e2066616c73653b0a2020202020206478203d20732e78202d20705b305d207c7c20303b0a2020202020206479203d20732e79202d20705b315d207c7c20303b0a20202020202072657475726e20747275653b0a202020207d29292072657475726e3b0a0a2020202072657475726e2066756e6374696f6e2067657374757265287479706529207b0a202020202020766172207030203d20702c206e3b0a20202020202073776974636820287479706529207b0a20202020202020206361736520227374617274223a2067657374757265735b69645d203d20676573747572652c206e203d206163746976652b2b3b20627265616b3b0a2020202020202020636173652022656e64223a2064656c6574652067657374757265735b69645d2c202d2d6163746976653b202f2f206e6f627265616b0a202020202020202063617365202264726167223a2070203d20706f696e7424243128636f6e7461696e65722c206964292c206e203d206163746976653b20627265616b3b0a2020202020207d0a202020202020637573746f6d4576656e74286e657720447261674576656e7428647261672c20747970652c20732c2069642c206e2c20705b305d202b2064782c20705b315d202b2064792c20705b305d202d2070305b305d2c20705b315d202d2070305b315d2c207375626c697374656e657273292c207375626c697374656e6572732e6170706c792c207375626c697374656e6572732c205b747970652c20746861742c20617267735d293b0a202020207d3b0a20207d0a0a2020647261672e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424322821215f292c206472616729203a2066696c7465723b0a20207d3b0a0a2020647261672e636f6e7461696e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e7461696e6572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742432285f292c206472616729203a20636f6e7461696e65723b0a20207d3b0a0a2020647261672e7375626a656374203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287375626a656374203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742432285f292c206472616729203a207375626a6563743b0a20207d3b0a0a2020647261672e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424322821215f292c206472616729203a20746f75636861626c653b0a20207d3b0a0a2020647261672e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f2064726167203a2076616c75653b0a20207d3b0a0a2020647261672e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c206472616729203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e20647261673b0a7d0a0a66756e6374696f6e20646566696e6528636f6e7374727563746f722c20666163746f72792c2070726f746f7479706529207b0a2020636f6e7374727563746f722e70726f746f74797065203d20666163746f72792e70726f746f74797065203d2070726f746f747970653b0a202070726f746f747970652e636f6e7374727563746f72203d20636f6e7374727563746f723b0a7d0a0a66756e6374696f6e20657874656e6428706172656e742c20646566696e6974696f6e29207b0a20207661722070726f746f74797065203d204f626a6563742e63726561746528706172656e742e70726f746f74797065293b0a2020666f722028766172206b657920696e20646566696e6974696f6e292070726f746f747970655b6b65795d203d20646566696e6974696f6e5b6b65795d3b0a202072657475726e2070726f746f747970653b0a7d0a0a66756e6374696f6e20436f6c6f722829207b7d0a0a766172206461726b6572203d20302e373b0a766172206272696768746572203d2031202f206461726b65723b0a0a76617220726549203d20225c5c732a285b2b2d5d3f5c5c642b295c5c732a222c0a2020202072654e203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f295c5c732a222c0a20202020726550203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f29255c5c732a222c0a20202020726548657833203d202f5e23285b302d39612d665d7b337d29242f2c0a20202020726548657836203d202f5e23285b302d39612d665d7b367d29242f2c0a202020207265526762496e7465676572203d206e65772052656745787028225e7267625c5c2822202b205b7265492c207265492c207265495d202b20225c5c292422292c0a20202020726552676250657263656e74203d206e65772052656745787028225e7267625c5c2822202b205b7265502c207265502c207265505d202b20225c5c292422292c0a20202020726552676261496e7465676572203d206e65772052656745787028225e726762615c5c2822202b205b7265492c207265492c207265492c2072654e5d202b20225c5c292422292c0a2020202072655267626150657263656e74203d206e65772052656745787028225e726762615c5c2822202b205b7265502c207265502c207265502c2072654e5d202b20225c5c292422292c0a20202020726548736c50657263656e74203d206e65772052656745787028225e68736c5c5c2822202b205b72654e2c207265502c207265505d202b20225c5c292422292c0a20202020726548736c6150657263656e74203d206e65772052656745787028225e68736c615c5c2822202b205b72654e2c207265502c207265502c2072654e5d202b20225c5c292422293b0a0a766172206e616d6564203d207b0a2020616c696365626c75653a2030786630663866662c0a2020616e746971756577686974653a2030786661656264372c0a2020617175613a2030783030666666662c0a2020617175616d6172696e653a2030783766666664342c0a2020617a7572653a2030786630666666662c0a202062656967653a2030786635663564632c0a20206269737175653a2030786666653463342c0a2020626c61636b3a2030783030303030302c0a2020626c616e63686564616c6d6f6e643a2030786666656263642c0a2020626c75653a2030783030303066662c0a2020626c756576696f6c65743a2030783861326265322c0a202062726f776e3a2030786135326132612c0a20206275726c79776f6f643a2030786465623838372c0a20206361646574626c75653a2030783566396561302c0a2020636861727472657573653a2030783766666630302c0a202063686f636f6c6174653a2030786432363931652c0a2020636f72616c3a2030786666376635302c0a2020636f726e666c6f776572626c75653a2030783634393565642c0a2020636f726e73696c6b3a2030786666663864632c0a20206372696d736f6e3a2030786463313433632c0a20206379616e3a2030783030666666662c0a20206461726b626c75653a2030783030303038622c0a20206461726b6379616e3a2030783030386238622c0a20206461726b676f6c64656e726f643a2030786238383630622c0a20206461726b677261793a2030786139613961392c0a20206461726b677265656e3a2030783030363430302c0a20206461726b677265793a2030786139613961392c0a20206461726b6b68616b693a2030786264623736622c0a20206461726b6d6167656e74613a2030783862303038622c0a20206461726b6f6c697665677265656e3a2030783535366232662c0a20206461726b6f72616e67653a2030786666386330302c0a20206461726b6f72636869643a2030783939333263632c0a20206461726b7265643a2030783862303030302c0a20206461726b73616c6d6f6e3a2030786539393637612c0a20206461726b736561677265656e3a2030783866626338662c0a20206461726b736c617465626c75653a2030783438336438622c0a20206461726b736c617465677261793a2030783266346634662c0a20206461726b736c617465677265793a2030783266346634662c0a20206461726b74757271756f6973653a2030783030636564312c0a20206461726b76696f6c65743a2030783934303064332c0a20206465657070696e6b3a2030786666313439332c0a202064656570736b79626c75653a2030783030626666662c0a202064696d677261793a2030783639363936392c0a202064696d677265793a2030783639363936392c0a2020646f64676572626c75653a2030783165393066662c0a202066697265627269636b3a2030786232323232322c0a2020666c6f72616c77686974653a2030786666666166302c0a2020666f72657374677265656e3a2030783232386232322c0a2020667563687369613a2030786666303066662c0a20206761696e73626f726f3a2030786463646364632c0a202067686f737477686974653a2030786638663866662c0a2020676f6c643a2030786666643730302c0a2020676f6c64656e726f643a2030786461613532302c0a2020677261793a2030783830383038302c0a2020677265656e3a2030783030383030302c0a2020677265656e79656c6c6f773a2030786164666632662c0a2020677265793a2030783830383038302c0a2020686f6e65796465773a2030786630666666302c0a2020686f7470696e6b3a2030786666363962342c0a2020696e6469616e7265643a2030786364356335632c0a2020696e6469676f3a2030783462303038322c0a202069766f72793a2030786666666666302c0a20206b68616b693a2030786630653638632c0a20206c6176656e6465723a2030786536653666612c0a20206c6176656e646572626c7573683a2030786666663066352c0a20206c61776e677265656e3a2030783763666330302c0a20206c656d6f6e63686966666f6e3a2030786666666163642c0a20206c69676874626c75653a2030786164643865362c0a20206c69676874636f72616c3a2030786630383038302c0a20206c696768746379616e3a2030786530666666662c0a20206c69676874676f6c64656e726f6479656c6c6f773a2030786661666164322c0a20206c69676874677261793a2030786433643364332c0a20206c69676874677265656e3a2030783930656539302c0a20206c69676874677265793a2030786433643364332c0a20206c6967687470696e6b3a2030786666623663312c0a20206c6967687473616c6d6f6e3a2030786666613037612c0a20206c69676874736561677265656e3a2030783230623261612c0a20206c69676874736b79626c75653a2030783837636566612c0a20206c69676874736c617465677261793a2030783737383839392c0a20206c69676874736c617465677265793a2030783737383839392c0a20206c69676874737465656c626c75653a2030786230633464652c0a20206c6967687479656c6c6f773a2030786666666665302c0a20206c696d653a2030783030666630302c0a20206c696d65677265656e3a2030783332636433322c0a20206c696e656e3a2030786661663065362c0a20206d6167656e74613a2030786666303066662c0a20206d61726f6f6e3a2030783830303030302c0a20206d656469756d617175616d6172696e653a2030783636636461612c0a20206d656469756d626c75653a2030783030303063642c0a20206d656469756d6f72636869643a2030786261353564332c0a20206d656469756d707572706c653a2030783933373064622c0a20206d656469756d736561677265656e3a2030783363623337312c0a20206d656469756d736c617465626c75653a2030783762363865652c0a20206d656469756d737072696e67677265656e3a2030783030666139612c0a20206d656469756d74757271756f6973653a2030783438643163632c0a20206d656469756d76696f6c65747265643a2030786337313538352c0a20206d69646e69676874626c75653a2030783139313937302c0a20206d696e74637265616d3a2030786635666666612c0a20206d69737479726f73653a2030786666653465312c0a20206d6f63636173696e3a2030786666653462352c0a20206e6176616a6f77686974653a2030786666646561642c0a20206e6176793a2030783030303038302c0a20206f6c646c6163653a2030786664663565362c0a20206f6c6976653a2030783830383030302c0a20206f6c697665647261623a2030783662386532332c0a20206f72616e67653a2030786666613530302c0a20206f72616e67657265643a2030786666343530302c0a20206f72636869643a2030786461373064362c0a202070616c65676f6c64656e726f643a2030786565653861612c0a202070616c65677265656e3a2030783938666239382c0a202070616c6574757271756f6973653a2030786166656565652c0a202070616c6576696f6c65747265643a2030786462373039332c0a2020706170617961776869703a2030786666656664352c0a20207065616368707566663a2030786666646162392c0a2020706572753a2030786364383533662c0a202070696e6b3a2030786666633063622c0a2020706c756d3a2030786464613064642c0a2020706f77646572626c75653a2030786230653065362c0a2020707572706c653a2030783830303038302c0a202072656265636361707572706c653a2030783636333339392c0a20207265643a2030786666303030302c0a2020726f737962726f776e3a2030786263386638662c0a2020726f79616c626c75653a2030783431363965312c0a2020736164646c6562726f776e3a2030783862343531332c0a202073616c6d6f6e3a2030786661383037322c0a202073616e647962726f776e3a2030786634613436302c0a2020736561677265656e3a2030783265386235372c0a20207365617368656c6c3a2030786666663565652c0a20207369656e6e613a2030786130353232642c0a202073696c7665723a2030786330633063302c0a2020736b79626c75653a2030783837636565622c0a2020736c617465626c75653a2030783661356163642c0a2020736c617465677261793a2030783730383039302c0a2020736c617465677265793a2030783730383039302c0a2020736e6f773a2030786666666166612c0a2020737072696e67677265656e3a2030783030666637662c0a2020737465656c626c75653a2030783436383262342c0a202074616e3a2030786432623438632c0a20207465616c3a2030783030383038302c0a202074686973746c653a2030786438626664382c0a2020746f6d61746f3a2030786666363334372c0a202074757271756f6973653a2030783430653064302c0a202076696f6c65743a2030786565383265652c0a202077686561743a2030786635646562332c0a202077686974653a2030786666666666662c0a20207768697465736d6f6b653a2030786635663566352c0a202079656c6c6f773a2030786666666630302c0a202079656c6c6f77677265656e3a2030783961636433320a7d3b0a0a646566696e6528436f6c6f722c20636f6c6f722c207b0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e646973706c617961626c6528293b0a20207d2c0a20206865783a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e68657828293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e7267622829202b2022223b0a20207d0a7d293b0a0a66756e6374696f6e20636f6c6f7228666f726d617429207b0a2020766172206d3b0a2020666f726d6174203d2028666f726d6174202b202222292e7472696d28292e746f4c6f7765724361736528293b0a202072657475726e20286d203d207265486578332e6578656328666f726d61742929203f20286d203d207061727365496e74286d5b315d2c203136292c206e65772052676228286d203e3e203820262030786629207c20286d203e3e20342026203078306630292c20286d203e3e203420262030786629207c20286d20262030786630292c2028286d20262030786629203c3c203429207c20286d202620307866292c20312929202f2f20236630300a2020202020203a20286d203d207265486578362e6578656328666f726d61742929203f207267626e287061727365496e74286d5b315d2c2031362929202f2f20236666303030300a2020202020203a20286d203d207265526762496e74656765722e6578656328666f726d61742929203f206e657720526762286d5b315d2c206d5b325d2c206d5b335d2c203129202f2f20726762283235352c20302c2030290a2020202020203a20286d203d20726552676250657263656e742e6578656328666f726d61742929203f206e657720526762286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c203129202f2f2072676228313030252c2030252c203025290a2020202020203a20286d203d20726552676261496e74656765722e6578656328666f726d61742929203f2072676261286d5b315d2c206d5b325d2c206d5b335d2c206d5b345d29202f2f2072676261283235352c20302c20302c2031290a2020202020203a20286d203d2072655267626150657263656e742e6578656328666f726d61742929203f2072676261286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c206d5b345d29202f2f2072676228313030252c2030252c2030252c2031290a2020202020203a20286d203d20726548736c50657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c203129202f2f2068736c283132302c203530252c20353025290a2020202020203a20286d203d20726548736c6150657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c206d5b345d29202f2f2068736c61283132302c203530252c203530252c2031290a2020202020203a206e616d65642e6861734f776e50726f706572747928666f726d617429203f207267626e286e616d65645b666f726d61745d290a2020202020203a20666f726d6174203d3d3d20227472616e73706172656e7422203f206e657720526762284e614e2c204e614e2c204e614e2c2030290a2020202020203a206e756c6c3b0a7d0a0a66756e6374696f6e207267626e286e29207b0a202072657475726e206e657720526762286e203e3e203136202620307866662c206e203e3e2038202620307866662c206e202620307866662c2031293b0a7d0a0a66756e6374696f6e207267626128722c20672c20622c206129207b0a20206966202861203c3d2030292072203d2067203d2062203d204e614e3b0a202072657475726e206e65772052676228722c20672c20622c2061293b0a7d0a0a66756e6374696f6e20726762436f6e76657274286f29207b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e6577205267623b0a20206f203d206f2e72676228293b0a202072657475726e206e657720526762286f2e722c206f2e672c206f2e622c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2072676228722c20672c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f20726762436f6e76657274287229203a206e65772052676228722c20672c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2052676228722c20672c20622c206f70616369747929207b0a2020746869732e72203d202b723b0a2020746869732e67203d202b673b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65285267622c207267622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e20746869733b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7220262620746869732e72203c3d20323535290a20202020202020202626202830203c3d20746869732e6720262620746869732e67203c3d20323535290a20202020202020202626202830203c3d20746869732e6220262620746869732e62203c3d20323535290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d2c0a20206865783a2066756e6374696f6e2829207b0a2020202072657475726e20222322202b2068657828746869732e7229202b2068657828746869732e6729202b2068657828746869732e62293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a202020207661722061203d20746869732e6f7061636974793b2061203d2069734e614e286129203f2031203a204d6174682e6d617828302c204d6174682e6d696e28312c206129293b0a2020202072657475726e202861203d3d3d2031203f20227267622822203a2022726762612822290a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e7229207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6729207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6229207c7c203029290a20202020202020202b202861203d3d3d2031203f20222922203a20222c2022202b2061202b20222922293b0a20207d0a7d29293b0a0a66756e6374696f6e206865782876616c756529207b0a202076616c7565203d204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e642876616c756529207c7c203029293b0a202072657475726e202876616c7565203c203136203f20223022203a20222229202b2076616c75652e746f537472696e67283136293b0a7d0a0a66756e6374696f6e2068736c6128682c20732c206c2c206129207b0a20206966202861203c3d2030292068203d2073203d206c203d204e614e3b0a2020656c736520696620286c203c3d2030207c7c206c203e3d2031292068203d2073203d204e614e3b0a2020656c7365206966202873203c3d2030292068203d204e614e3b0a202072657475726e206e65772048736c28682c20732c206c2c2061293b0a7d0a0a66756e6374696f6e2068736c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206e65772048736c286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e65772048736c3b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206f3b0a20206f203d206f2e72676228293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206d696e203d204d6174682e6d696e28722c20672c2062292c0a2020202020206d6178203d204d6174682e6d617828722c20672c2062292c0a20202020202068203d204e614e2c0a20202020202073203d206d6178202d206d696e2c0a2020202020206c203d20286d6178202b206d696e29202f20323b0a2020696620287329207b0a202020206966202872203d3d3d206d6178292068203d202867202d206229202f2073202b202867203c206229202a20363b0a20202020656c7365206966202867203d3d3d206d6178292068203d202862202d207229202f2073202b20323b0a20202020656c73652068203d202872202d206729202f2073202b20343b0a2020202073202f3d206c203c20302e35203f206d6178202b206d696e203a2032202d206d6178202d206d696e3b0a2020202068202a3d2036303b0a20207d20656c7365207b0a2020202073203d206c203e2030202626206c203c2031203f2030203a20683b0a20207d0a202072657475726e206e65772048736c28682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068736c28682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068736c436f6e76657274286829203a206e65772048736c28682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048736c28682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848736c2c2068736c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d20746869732e68202520333630202b2028746869732e68203c203029202a203336302c0a202020202020202073203d2069734e614e286829207c7c2069734e614e28746869732e7329203f2030203a20746869732e732c0a20202020202020206c203d20746869732e6c2c0a20202020202020206d32203d206c202b20286c203c20302e35203f206c203a2031202d206c29202a20732c0a20202020202020206d31203d2032202a206c202d206d323b0a2020202072657475726e206e657720526762280a20202020202068736c327267622868203e3d20323430203f2068202d20323430203a2068202b203132302c206d312c206d32292c0a20202020202068736c3272676228682c206d312c206d32292c0a20202020202068736c327267622868203c20313230203f2068202b20323430203a2068202d203132302c206d312c206d32292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7320262620746869732e73203c3d2031207c7c2069734e614e28746869732e7329290a20202020202020202626202830203c3d20746869732e6c20262620746869732e6c203c3d2031290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d0a7d29293b0a0a2f2a2046726f6d204676442031332e33372c2043535320436f6c6f72204d6f64756c65204c6576656c2033202a2f0a66756e6374696f6e2068736c3272676228682c206d312c206d3229207b0a202072657475726e202868203c203630203f206d31202b20286d32202d206d3129202a2068202f2036300a2020202020203a2068203c20313830203f206d320a2020202020203a2068203c20323430203f206d31202b20286d32202d206d3129202a2028323430202d206829202f2036300a2020202020203a206d3129202a203235353b0a7d0a0a7661722064656732726164203d204d6174682e5049202f203138303b0a7661722072616432646567203d20313830202f204d6174682e50493b0a0a2f2f2068747470733a2f2f626574612e6f627365727661626c6568712e636f6d2f406d626f73746f636b2f6c61622d616e642d7267620a766172204b203d2031382c0a20202020586e203d20302e39363432322c0a20202020596e203d20312c0a202020205a6e203d20302e38323532312c0a202020207430203d2034202f2032392c0a202020207431203d2036202f2032392c0a202020207432203d2033202a207431202a2074312c0a202020207433203d207431202a207431202a2074313b0a0a66756e6374696f6e206c6162436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204c6162292072657475726e206e6577204c6162286f2e6c2c206f2e612c206f2e622c206f2e6f706163697479293b0a2020696620286f20696e7374616e63656f662048636c29207b0a202020206966202869734e614e286f2e6829292072657475726e206e6577204c6162286f2e6c2c20302c20302c206f2e6f706163697479293b0a202020207661722068203d206f2e68202a20646567327261643b0a2020202072657475726e206e6577204c6162286f2e6c2c204d6174682e636f73286829202a206f2e632c204d6174682e73696e286829202a206f2e632c206f2e6f706163697479293b0a20207d0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d20726762326c726762286f2e72292c0a20202020202067203d20726762326c726762286f2e67292c0a20202020202062203d20726762326c726762286f2e62292c0a20202020202079203d2078797a326c61622828302e32323235303435202a2072202b20302e37313638373836202a2067202b20302e30363036313639202a206229202f20596e292c20782c207a3b0a20206966202872203d3d3d20672026262067203d3d3d2062292078203d207a203d20793b20656c7365207b0a2020202078203d2078797a326c61622828302e34333630373437202a2072202b20302e33383530363439202a2067202b20302e31343330383034202a206229202f20586e293b0a202020207a203d2078797a326c61622828302e30313339333232202a2072202b20302e30393731303435202a2067202b20302e37313431373333202a206229202f205a6e293b0a20207d0a202072657475726e206e6577204c616228313136202a2079202d2031362c20353030202a202878202d2079292c20323030202a202879202d207a292c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2067726179286c2c206f70616369747929207b0a202072657475726e206e6577204c6162286c2c20302c20302c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e206c6162286c2c20612c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206c6162436f6e76657274286c29203a206e6577204c6162286c2c20612c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204c6162286c2c20612c20622c206f70616369747929207b0a2020746869732e6c203d202b6c3b0a2020746869732e61203d202b613b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284c61622c206c61622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202b204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202d204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722079203d2028746869732e6c202b20313629202f203131362c0a202020202020202078203d2069734e614e28746869732e6129203f2079203a2079202b20746869732e61202f203530302c0a20202020202020207a203d2069734e614e28746869732e6229203f2079203a2079202d20746869732e62202f203230303b0a2020202078203d20586e202a206c61623278797a2878293b0a2020202079203d20596e202a206c61623278797a2879293b0a202020207a203d205a6e202a206c61623278797a287a293b0a2020202072657475726e206e657720526762280a2020202020206c726762327267622820332e31333338353631202a2078202d20312e36313638363637202a2079202d20302e34393036313436202a207a292c0a2020202020206c72676232726762282d302e39373837363834202a2078202b20312e39313631343135202a2079202b20302e30333334353430202a207a292c0a2020202020206c726762327267622820302e30373139343533202a2078202d20302e32323839393134202a2079202b20312e34303532343237202a207a292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2078797a326c6162287429207b0a202072657475726e2074203e207433203f204d6174682e706f7728742c2031202f203329203a2074202f207432202b2074303b0a7d0a0a66756e6374696f6e206c61623278797a287429207b0a202072657475726e2074203e207431203f2074202a2074202a2074203a207432202a202874202d207430293b0a7d0a0a66756e6374696f6e206c72676232726762287829207b0a202072657475726e20323535202a202878203c3d20302e30303331333038203f2031322e3932202a2078203a20312e303535202a204d6174682e706f7728782c2031202f20322e3429202d20302e303535293b0a7d0a0a66756e6374696f6e20726762326c726762287829207b0a202072657475726e202878202f3d2032353529203c3d20302e3034303435203f2078202f2031322e3932203a204d6174682e706f77282878202b20302e30353529202f20312e3035352c20322e34293b0a7d0a0a66756e6374696f6e2068636c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048636c292072657475726e206e65772048636c286f2e682c206f2e632c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66204c61622929206f203d206c6162436f6e76657274286f293b0a2020696620286f2e61203d3d3d2030202626206f2e62203d3d3d2030292072657475726e206e65772048636c284e614e2c20302c206f2e6c2c206f2e6f706163697479293b0a20207661722068203d204d6174682e6174616e32286f2e622c206f2e6129202a20726164326465673b0a202072657475726e206e65772048636c2868203c2030203f2068202b20333630203a20682c204d6174682e73717274286f2e61202a206f2e61202b206f2e62202a206f2e62292c206f2e6c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206c6368286c2c20632c20682c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286c29203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2068636c28682c20632c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286829203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048636c28682c20632c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e63203d202b633b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848636c2c2068636c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202b204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202d204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e206c6162436f6e766572742874686973292e72676228293b0a20207d0a7d29293b0a0a7661722041203d202d302e31343836312c0a2020202042203d202b312e37383237372c0a2020202043203d202d302e32393232372c0a2020202044203d202d302e39303634392c0a2020202045203d202b312e39373239342c0a202020204544203d2045202a20442c0a202020204542203d2045202a20422c0a2020202042435f4441203d2042202a2043202d2044202a20413b0a0a66756e6374696f6e206375626568656c6978436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204375626568656c6978292072657475726e206e6577204375626568656c6978286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206c203d202842435f4441202a2062202b204544202a2072202d204542202a206729202f202842435f4441202b204544202d204542292c0a202020202020626c203d2062202d206c2c0a2020202020206b203d202845202a202867202d206c29202d2043202a20626c29202f20442c0a20202020202073203d204d6174682e73717274286b202a206b202b20626c202a20626c29202f202845202a206c202a202831202d206c29292c202f2f204e614e206966206c3d30206f72206c3d310a20202020202068203d2073203f204d6174682e6174616e32286b2c20626c29202a2072616432646567202d20313230203a204e614e3b0a202072657475726e206e6577204375626568656c69782868203c2030203f2068202b20333630203a20682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206375626568656c697828682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206375626568656c6978436f6e76657274286829203a206e6577204375626568656c697828682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204375626568656c697828682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284375626568656c69782c206375626568656c69782c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d2069734e614e28746869732e6829203f2030203a2028746869732e68202b2031323029202a20646567327261642c0a20202020202020206c203d202b746869732e6c2c0a202020202020202061203d2069734e614e28746869732e7329203f2030203a20746869732e73202a206c202a202831202d206c292c0a2020202020202020636f7368203d204d6174682e636f732868292c0a202020202020202073696e68203d204d6174682e73696e2868293b0a2020202072657475726e206e657720526762280a202020202020323535202a20286c202b2061202a202841202a20636f7368202b2042202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202843202a20636f7368202b2044202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202845202a20636f736829292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2062617369732874312c2076302c2076312c2076322c20763329207b0a2020766172207432203d207431202a2074312c207433203d207432202a2074313b0a202072657475726e20282831202d2033202a207431202b2033202a207432202d20743329202a2076300a2020202020202b202834202d2036202a207432202b2033202a20743329202a2076310a2020202020202b202831202b2033202a207431202b2033202a207432202d2033202a20743329202a2076320a2020202020202b207433202a20763329202f20363b0a7d0a0a66756e6374696f6e20626173697324312876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e677468202d20313b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d2074203c3d2030203f202874203d203029203a2074203e3d2031203f202874203d20312c206e202d203129203a204d6174682e666c6f6f722874202a206e292c0a20202020202020207631203d2076616c7565735b695d2c0a20202020202020207632203d2076616c7565735b69202b20315d2c0a20202020202020207630203d2069203e2030203f2076616c7565735b69202d20315d203a2032202a207631202d2076322c0a20202020202020207633203d2069203c206e202d2031203f2076616c7565735b69202b20325d203a2032202a207632202d2076313b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d0a0a66756e6374696f6e206261736973436c6f7365642876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e666c6f6f722828287420253d203129203c2030203f202b2b74203a207429202a206e292c0a20202020202020207630203d2076616c7565735b2869202b206e202d2031292025206e5d2c0a20202020202020207631203d2076616c7565735b692025206e5d2c0a20202020202020207632203d2076616c7565735b2869202b2031292025206e5d2c0a20202020202020207633203d2076616c7565735b2869202b2032292025206e5d3b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e7374616e742433287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206c696e65617228612c206429207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2061202b2074202a20643b0a20207d3b0a7d0a0a66756e6374696f6e206578706f6e656e7469616c28612c20622c207929207b0a202072657475726e2061203d204d6174682e706f7728612c2079292c2062203d204d6174682e706f7728622c207929202d20612c2079203d2031202f20792c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e706f772861202b2074202a20622c2079293b0a20207d3b0a7d0a0a66756e6374696f6e2068756528612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c2064203e20313830207c7c2064203c202d313830203f2064202d20333630202a204d6174682e726f756e642864202f2033363029203a206429203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a7d0a0a66756e6374696f6e2067616d6d61287929207b0a202072657475726e202879203d202b7929203d3d3d2031203f206e6f67616d6d61203a2066756e6374696f6e28612c206229207b0a2020202072657475726e2062202d2061203f206578706f6e656e7469616c28612c20622c207929203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a20207d3b0a7d0a0a66756e6374696f6e206e6f67616d6d6128612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c206429203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a7d0a0a76617220696e746572706f6c617465526762203d202866756e6374696f6e2072676247616d6d61287929207b0a202076617220636f6c6f72242431203d2067616d6d612879293b0a0a202066756e6374696f6e207267622424312873746172742c20656e6429207b0a202020207661722072203d20636f6c6f7224243128287374617274203d2072676228737461727429292e722c2028656e64203d2072676228656e6429292e72292c0a202020202020202067203d20636f6c6f722424312873746172742e672c20656e642e67292c0a202020202020202062203d20636f6c6f722424312873746172742e622c20656e642e62292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e72203d20722874293b0a20202020202073746172742e67203d20672874293b0a20202020202073746172742e62203d20622874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a0a20207267622424312e67616d6d61203d2072676247616d6d613b0a0a202072657475726e207267622424313b0a7d292831293b0a0a66756e6374696f6e2072676253706c696e652873706c696e6529207b0a202072657475726e2066756e6374696f6e28636f6c6f727329207b0a20202020766172206e203d20636f6c6f72732e6c656e6774682c0a202020202020202072203d206e6577204172726179286e292c0a202020202020202067203d206e6577204172726179286e292c0a202020202020202062203d206e6577204172726179286e292c0a2020202020202020692c20636f6c6f722424313b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020636f6c6f72242431203d2072676228636f6c6f72735b695d293b0a202020202020725b695d203d20636f6c6f722424312e72207c7c20303b0a202020202020675b695d203d20636f6c6f722424312e67207c7c20303b0a202020202020625b695d203d20636f6c6f722424312e62207c7c20303b0a202020207d0a2020202072203d2073706c696e652872293b0a2020202067203d2073706c696e652867293b0a2020202062203d2073706c696e652862293b0a20202020636f6c6f722424312e6f706163697479203d20313b0a2020202072657475726e2066756e6374696f6e287429207b0a202020202020636f6c6f722424312e72203d20722874293b0a202020202020636f6c6f722424312e67203d20672874293b0a202020202020636f6c6f722424312e62203d20622874293b0a20202020202072657475726e20636f6c6f72242431202b2022223b0a202020207d3b0a20207d3b0a7d0a0a766172207267624261736973203d2072676253706c696e652862617369732431293b0a766172207267624261736973436c6f736564203d2072676253706c696e65286261736973436c6f736564293b0a0a66756e6374696f6e206172726179243128612c206229207b0a2020766172206e62203d2062203f20622e6c656e677468203a20302c0a2020202020206e61203d2061203f204d6174682e6d696e286e622c20612e6c656e67746829203a20302c0a20202020202078203d206e6577204172726179286e61292c0a20202020202063203d206e6577204172726179286e62292c0a202020202020693b0a0a2020666f72202869203d20303b2069203c206e613b202b2b692920785b695d203d20696e746572706f6c61746556616c756528615b695d2c20625b695d293b0a2020666f7220283b2069203c206e623b202b2b692920635b695d203d20625b695d3b0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f72202869203d20303b2069203c206e613b202b2b692920635b695d203d20785b695d2874293b0a2020202072657475726e20633b0a20207d3b0a7d0a0a66756e6374696f6e206461746528612c206229207b0a20207661722064203d206e657720446174653b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e20642e73657454696d652861202b2062202a2074292c20643b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c61746528612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e2061202b2062202a20743b0a20207d3b0a7d0a0a66756e6374696f6e206f626a65637428612c206229207b0a20207661722069203d207b7d2c0a20202020202063203d207b7d2c0a2020202020206b3b0a0a20206966202861203d3d3d206e756c6c207c7c20747970656f66206120213d3d20226f626a65637422292061203d207b7d3b0a20206966202862203d3d3d206e756c6c207c7c20747970656f66206220213d3d20226f626a65637422292062203d207b7d3b0a0a2020666f7220286b20696e206229207b0a20202020696620286b20696e206129207b0a202020202020695b6b5d203d20696e746572706f6c61746556616c756528615b6b5d2c20625b6b5d293b0a202020207d20656c7365207b0a202020202020635b6b5d203d20625b6b5d3b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f7220286b20696e20692920635b6b5d203d20695b6b5d2874293b0a2020202072657475726e20633b0a20207d3b0a7d0a0a76617220726541203d202f5b2d2b5d3f283f3a5c642b5c2e3f5c642a7c5c2e3f5c642b29283f3a5b65455d5b2d2b5d3f5c642b293f2f672c0a20202020726542203d206e657720526567457870287265412e736f757263652c20226722293b0a0a66756e6374696f6e207a65726f286229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20623b0a20207d3b0a7d0a0a66756e6374696f6e206f6e65286229207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2062287429202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e20696e746572706f6c617465537472696e6728612c206229207b0a2020766172206269203d207265412e6c617374496e646578203d207265422e6c617374496e646578203d20302c202f2f207363616e20696e64657820666f72206e657874206e756d62657220696e20620a202020202020616d2c202f2f2063757272656e74206d6174636820696e20610a202020202020626d2c202f2f2063757272656e74206d6174636820696e20620a20202020202062732c202f2f20737472696e6720707265636564696e672063757272656e74206e756d62657220696e20622c20696620616e790a20202020202069203d202d312c202f2f20696e64657820696e20730a20202020202073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a20202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a0a20202f2f20436f6572636520696e7075747320746f20737472696e67732e0a202061203d2061202b2022222c2062203d2062202b2022223b0a0a20202f2f20496e746572706f6c617465207061697273206f66206e756d6265727320696e2061202620622e0a20207768696c65202828616d203d207265412e65786563286129290a20202020202026262028626d203d207265422e657865632862292929207b0a2020202069662028286273203d20626d2e696e64657829203e20626929207b202f2f206120737472696e6720707265636564657320746865206e657874206e756d62657220696e20620a2020202020206273203d20622e736c6963652862692c206273293b0a20202020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d2062733b0a202020207d0a202020206966202828616d203d20616d5b305d29203d3d3d2028626d203d20626d5b305d2929207b202f2f206e756d6265727320696e206120262062206d617463680a20202020202069662028735b695d2920735b695d202b3d20626d3b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d20626d3b0a202020207d20656c7365207b202f2f20696e746572706f6c617465206e6f6e2d6d61746368696e67206e756d626572730a202020202020735b2b2b695d203d206e756c6c3b0a202020202020712e70757368287b693a20692c20783a207265696e746572706f6c61746528616d2c20626d297d293b0a202020207d0a202020206269203d207265422e6c617374496e6465783b0a20207d0a0a20202f2f204164642072656d61696e73206f6620622e0a2020696620286269203c20622e6c656e67746829207b0a202020206273203d20622e736c696365286269293b0a2020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a20202020656c736520735b2b2b695d203d2062733b0a20207d0a0a20202f2f205370656369616c206f7074696d697a6174696f6e20666f72206f6e6c7920612073696e676c65206d617463682e0a20202f2f204f74686572776973652c20696e746572706f6c6174652065616368206f6620746865206e756d6265727320616e642072656a6f696e2074686520737472696e672e0a202072657475726e20732e6c656e677468203c2032203f2028715b305d0a2020202020203f206f6e6528715b305d2e78290a2020202020203a207a65726f286229290a2020202020203a202862203d20712e6c656e6774682c2066756e6374696f6e287429207b0a20202020202020202020666f7220287661722069203d20302c206f3b2069203c20623b202b2b692920735b286f203d20715b695d292e695d203d206f2e782874293b0a2020202020202020202072657475726e20732e6a6f696e282222293b0a20202020202020207d293b0a7d0a0a66756e6374696f6e20696e746572706f6c61746556616c756528612c206229207b0a20207661722074203d20747970656f6620622c20633b0a202072657475726e2062203d3d206e756c6c207c7c2074203d3d3d2022626f6f6c65616e22203f20636f6e7374616e7424332862290a2020202020203a202874203d3d3d20226e756d62657222203f207265696e746572706f6c6174650a2020202020203a2074203d3d3d2022737472696e6722203f20282863203d20636f6c6f7228622929203f202862203d20632c20696e746572706f6c61746552676229203a20696e746572706f6c617465537472696e67290a2020202020203a206220696e7374616e63656f6620636f6c6f72203f20696e746572706f6c6174655267620a2020202020203a206220696e7374616e63656f662044617465203f20646174650a2020202020203a2041727261792e69734172726179286229203f20617272617924310a2020202020203a20747970656f6620622e76616c75654f6620213d3d202266756e6374696f6e2220262620747970656f6620622e746f537472696e6720213d3d202266756e6374696f6e22207c7c2069734e614e286229203f206f626a6563740a2020202020203a207265696e746572706f6c6174652928612c2062293b0a7d0a0a66756e6374696f6e20696e746572706f6c617465526f756e6428612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e726f756e642861202b2062202a2074293b0a20207d3b0a7d0a0a7661722064656772656573203d20313830202f204d6174682e50493b0a0a766172206964656e746974792432203d207b0a20207472616e736c617465583a20302c0a20207472616e736c617465593a20302c0a2020726f746174653a20302c0a2020736b6577583a20302c0a20207363616c65583a20312c0a20207363616c65593a20310a7d3b0a0a66756e6374696f6e206465636f6d706f736528612c20622c20632c20642c20652c206629207b0a2020766172207363616c65582c207363616c65592c20736b6577583b0a2020696620287363616c6558203d204d6174682e737172742861202a2061202b2062202a206229292061202f3d207363616c65582c2062202f3d207363616c65583b0a202069662028736b657758203d2061202a2063202b2062202a2064292063202d3d2061202a20736b6577582c2064202d3d2062202a20736b6577583b0a2020696620287363616c6559203d204d6174682e737172742863202a2063202b2064202a206429292063202f3d207363616c65592c2064202f3d207363616c65592c20736b657758202f3d207363616c65593b0a20206966202861202a2064203c2062202a2063292061203d202d612c2062203d202d622c20736b657758203d202d736b6577582c207363616c6558203d202d7363616c65583b0a202072657475726e207b0a202020207472616e736c617465583a20652c0a202020207472616e736c617465593a20662c0a20202020726f746174653a204d6174682e6174616e3228622c206129202a20646567726565732c0a20202020736b6577583a204d6174682e6174616e28736b65775829202a20646567726565732c0a202020207363616c65583a207363616c65582c0a202020207363616c65593a207363616c65590a20207d3b0a7d0a0a766172206373734e6f64652c0a20202020637373526f6f742c0a20202020637373566965772c0a202020207376674e6f64653b0a0a66756e6374696f6e2070617273654373732876616c756529207b0a20206966202876616c7565203d3d3d20226e6f6e6522292072657475726e206964656e7469747924323b0a202069662028216373734e6f646529206373734e6f6465203d20646f63756d656e742e637265617465456c656d656e74282244495622292c20637373526f6f74203d20646f63756d656e742e646f63756d656e74456c656d656e742c2063737356696577203d20646f63756d656e742e64656661756c74566965773b0a20206373734e6f64652e7374796c652e7472616e73666f726d203d2076616c75653b0a202076616c7565203d20637373566965772e676574436f6d70757465645374796c6528637373526f6f742e617070656e644368696c64286373734e6f6465292c206e756c6c292e67657450726f706572747956616c756528227472616e73666f726d22293b0a2020637373526f6f742e72656d6f76654368696c64286373734e6f6465293b0a202076616c7565203d2076616c75652e736c69636528372c202d31292e73706c697428222c22293b0a202072657475726e206465636f6d706f7365282b76616c75655b305d2c202b76616c75655b315d2c202b76616c75655b325d2c202b76616c75655b335d2c202b76616c75655b345d2c202b76616c75655b355d293b0a7d0a0a66756e6374696f6e2070617273655376672876616c756529207b0a20206966202876616c7565203d3d206e756c6c292072657475726e206964656e7469747924323b0a202069662028217376674e6f646529207376674e6f6465203d20646f63756d656e742e637265617465456c656d656e744e532822687474703a2f2f7777772e77332e6f72672f323030302f737667222c20226722293b0a20207376674e6f64652e73657441747472696275746528227472616e73666f726d222c2076616c7565293b0a202069662028212876616c7565203d207376674e6f64652e7472616e73666f726d2e6261736556616c2e636f6e736f6c6964617465282929292072657475726e206964656e7469747924323b0a202076616c7565203d2076616c75652e6d61747269783b0a202072657475726e206465636f6d706f73652876616c75652e612c2076616c75652e622c2076616c75652e632c2076616c75652e642c2076616c75652e652c2076616c75652e66293b0a7d0a0a66756e6374696f6e20696e746572706f6c6174655472616e73666f726d2870617273652c207078436f6d6d612c207078506172656e2c20646567506172656e29207b0a0a202066756e6374696f6e20706f70287329207b0a2020202072657475726e20732e6c656e677468203f20732e706f702829202b20222022203a2022223b0a20207d0a0a202066756e6374696f6e207472616e736c6174652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828227472616e736c61746528222c206e756c6c2c207078436f6d6d612c206e756c6c2c207078506172656e293b0a202020202020712e70757368287b693a2069202d20342c20783a207265696e746572706f6c6174652878612c207862297d2c207b693a2069202d20322c20783a207265696e746572706f6c6174652879612c207962297d293b0a202020207d20656c736520696620287862207c7c20796229207b0a202020202020732e7075736828227472616e736c6174652822202b207862202b207078436f6d6d61202b207962202b207078506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20726f7461746528612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a2020202020206966202861202d2062203e20313830292062202b3d203336303b20656c7365206966202862202d2061203e20313830292061202b3d203336303b202f2f2073686f727465737420706174680a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022726f7461746528222c206e756c6c2c20646567506172656e29202d20322c20783a207265696e746572706f6c61746528612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022726f746174652822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20736b65775828612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022736b65775828222c206e756c6c2c20646567506172656e29202d20322c20783a207265696e746572706f6c61746528612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022736b6577582822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e207363616c652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828706f70287329202b20227363616c6528222c206e756c6c2c20222c222c206e756c6c2c20222922293b0a202020202020712e70757368287b693a2069202d20342c20783a207265696e746572706f6c6174652878612c207862297d2c207b693a2069202d20322c20783a207265696e746572706f6c6174652879612c207962297d293b0a202020207d20656c73652069662028786220213d3d2031207c7c20796220213d3d203129207b0a202020202020732e7075736828706f70287329202b20227363616c652822202b207862202b20222c22202b207962202b20222922293b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a202020202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a2020202061203d2070617273652861292c2062203d2070617273652862293b0a202020207472616e736c61746528612e7472616e736c617465582c20612e7472616e736c617465592c20622e7472616e736c617465582c20622e7472616e736c617465592c20732c2071293b0a20202020726f7461746528612e726f746174652c20622e726f746174652c20732c2071293b0a20202020736b65775828612e736b6577582c20622e736b6577582c20732c2071293b0a202020207363616c6528612e7363616c65582c20612e7363616c65592c20622e7363616c65582c20622e7363616c65592c20732c2071293b0a2020202061203d2062203d206e756c6c3b202f2f2067630a2020202072657475726e2066756e6374696f6e287429207b0a2020202020207661722069203d202d312c206e203d20712e6c656e6774682c206f3b0a2020202020207768696c6520282b2b69203c206e2920735b286f203d20715b695d292e695d203d206f2e782874293b0a20202020202072657475726e20732e6a6f696e282222293b0a202020207d3b0a20207d3b0a7d0a0a76617220696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d2870617273654373732c202270782c20222c2022707829222c20226465672922293b0a76617220696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d2870617273655376672c20222c20222c202229222c20222922293b0a0a7661722072686f203d204d6174682e53515254322c0a2020202072686f32203d20322c0a2020202072686f34203d20342c0a20202020657073696c6f6e32203d2031652d31323b0a0a66756e6374696f6e20636f7368287829207b0a202072657475726e20282878203d204d6174682e65787028782929202b2031202f207829202f20323b0a7d0a0a66756e6374696f6e2073696e68287829207b0a202072657475726e20282878203d204d6174682e65787028782929202d2031202f207829202f20323b0a7d0a0a66756e6374696f6e2074616e68287829207b0a202072657475726e20282878203d204d6174682e6578702832202a20782929202d203129202f202878202b2031293b0a7d0a0a2f2f207030203d205b7578302c207579302c2077305d0a2f2f207031203d205b7578312c207579312c2077315d0a66756e6374696f6e20696e746572706f6c6174655a6f6f6d2870302c20703129207b0a202076617220757830203d2070305b305d2c20757930203d2070305b315d2c207730203d2070305b325d2c0a202020202020757831203d2070315b305d2c20757931203d2070315b315d2c207731203d2070315b325d2c0a2020202020206478203d20757831202d207578302c0a2020202020206479203d20757931202d207579302c0a2020202020206432203d206478202a206478202b206479202a2064792c0a202020202020692c0a202020202020533b0a0a20202f2f205370656369616c206361736520666f7220753020e289852075312e0a2020696620286432203c20657073696c6f6e3229207b0a2020202053203d204d6174682e6c6f67287731202f20773029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a20202020202072657475726e205b0a2020202020202020757830202b2074202a2064782c0a2020202020202020757930202b2074202a2064792c0a20202020202020207730202a204d6174682e6578702872686f202a2074202a2053290a2020202020205d3b0a202020207d3b0a20207d0a0a20202f2f2047656e6572616c20636173652e0a2020656c7365207b0a20202020766172206431203d204d6174682e73717274286432292c0a20202020202020206230203d20287731202a207731202d207730202a207730202b2072686f34202a20643229202f202832202a207730202a2072686f32202a206431292c0a20202020202020206231203d20287731202a207731202d207730202a207730202d2072686f34202a20643229202f202832202a207731202a2072686f32202a206431292c0a20202020202020207230203d204d6174682e6c6f67284d6174682e73717274286230202a206230202b203129202d206230292c0a20202020202020207231203d204d6174682e6c6f67284d6174682e73717274286231202a206231202b203129202d206231293b0a2020202053203d20287231202d20723029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a2020202020207661722073203d2074202a20532c0a20202020202020202020636f73687230203d20636f7368287230292c0a2020202020202020202075203d207730202f202872686f32202a20643129202a2028636f73687230202a2074616e682872686f202a2073202b20723029202d2073696e6828723029293b0a20202020202072657475726e205b0a2020202020202020757830202b2075202a2064782c0a2020202020202020757930202b2075202a2064792c0a20202020202020207730202a20636f73687230202f20636f73682872686f202a2073202b207230290a2020202020205d3b0a202020207d3b0a20207d0a0a2020692e6475726174696f6e203d2053202a20313030303b0a0a202072657475726e20693b0a7d0a0a66756e6374696f6e2068736c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d2068736c28737461727429292e682c2028656e64203d2068736c28656e6429292e68292c0a202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e73203d20732874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068736c2432203d2068736c243128687565293b0a7661722068736c4c6f6e67203d2068736c2431286e6f67616d6d61293b0a0a66756e6374696f6e206c616224312873746172742c20656e6429207b0a2020766172206c203d206e6f67616d6d6128287374617274203d206c616228737461727429292e6c2c2028656e64203d206c616228656e6429292e6c292c0a20202020202061203d206e6f67616d6d612873746172742e612c20656e642e61292c0a20202020202062203d206e6f67616d6d612873746172742e622c20656e642e62292c0a2020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a202072657475726e2066756e6374696f6e287429207b0a2020202073746172742e6c203d206c2874293b0a2020202073746172742e61203d20612874293b0a2020202073746172742e62203d20622874293b0a2020202073746172742e6f706163697479203d206f7061636974792874293b0a2020202072657475726e207374617274202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e2068636c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d2068636c28737461727429292e682c2028656e64203d2068636c28656e6429292e68292c0a202020202020202063203d206e6f67616d6d612873746172742e632c20656e642e63292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e63203d20632874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068636c2432203d2068636c243128687565293b0a7661722068636c4c6f6e67203d2068636c2431286e6f67616d6d61293b0a0a66756e6374696f6e206375626568656c697824312868756524243129207b0a202072657475726e202866756e6374696f6e206375626568656c697847616d6d61287929207b0a2020202079203d202b793b0a0a2020202066756e6374696f6e206375626568656c69782424312873746172742c20656e6429207b0a2020202020207661722068203d2068756524243128287374617274203d206375626568656c697828737461727429292e682c2028656e64203d206375626568656c697828656e6429292e68292c0a2020202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a202020202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a202020202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a20202020202072657475726e2066756e6374696f6e287429207b0a202020202020202073746172742e68203d20682874293b0a202020202020202073746172742e73203d20732874293b0a202020202020202073746172742e6c203d206c284d6174682e706f7728742c207929293b0a202020202020202073746172742e6f706163697479203d206f7061636974792874293b0a202020202020202072657475726e207374617274202b2022223b0a2020202020207d3b0a202020207d0a0a202020206375626568656c69782424312e67616d6d61203d206375626568656c697847616d6d613b0a0a2020202072657475726e206375626568656c69782424313b0a20207d292831293b0a7d0a0a766172206375626568656c69782432203d206375626568656c6978243128687565293b0a766172206375626568656c69784c6f6e67203d206375626568656c69782431286e6f67616d6d61293b0a0a66756e6374696f6e2070696563657769736528696e746572706f6c6174652c2076616c75657329207b0a20207661722069203d20302c206e203d2076616c7565732e6c656e677468202d20312c2076203d2076616c7565735b305d2c2049203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e2920495b695d203d20696e746572706f6c61746528762c2076203d2076616c7565735b2b2b695d293b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a3d206e2929293b0a2020202072657475726e20495b695d2874202d2069293b0a20207d3b0a7d0a0a66756e6374696f6e207175616e74697a6528696e746572706f6c61746f722c206e29207b0a20207661722073616d706c6573203d206e6577204172726179286e293b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b69292073616d706c65735b695d203d20696e746572706f6c61746f722869202f20286e202d203129293b0a202072657475726e2073616d706c65733b0a7d0a0a766172206672616d65203d20302c202f2f20697320616e20616e696d6174696f6e206672616d652070656e64696e673f0a2020202074696d656f7574203d20302c202f2f20697320612074696d656f75742070656e64696e673f0a20202020696e74657276616c203d20302c202f2f2061726520616e792074696d657273206163746976653f0a20202020706f6b6544656c6179203d20313030302c202f2f20686f77206672657175656e746c7920776520636865636b20666f7220636c6f636b20736b65770a202020207461736b486561642c0a202020207461736b5461696c2c0a20202020636c6f636b4c617374203d20302c0a20202020636c6f636b4e6f77203d20302c0a20202020636c6f636b536b6577203d20302c0a20202020636c6f636b203d20747970656f6620706572666f726d616e6365203d3d3d20226f626a6563742220262620706572666f726d616e63652e6e6f77203f20706572666f726d616e6365203a20446174652c0a202020207365744672616d65203d20747970656f662077696e646f77203d3d3d20226f626a656374222026262077696e646f772e72657175657374416e696d6174696f6e4672616d65203f2077696e646f772e72657175657374416e696d6174696f6e4672616d652e62696e642877696e646f7729203a2066756e6374696f6e286629207b2073657454696d656f757428662c203137293b207d3b0a0a66756e6374696f6e206e6f772829207b0a202072657475726e20636c6f636b4e6f77207c7c20287365744672616d6528636c6561724e6f77292c20636c6f636b4e6f77203d20636c6f636b2e6e6f772829202b20636c6f636b536b6577293b0a7d0a0a66756e6374696f6e20636c6561724e6f772829207b0a2020636c6f636b4e6f77203d20303b0a7d0a0a66756e6374696f6e2054696d65722829207b0a2020746869732e5f63616c6c203d0a2020746869732e5f74696d65203d0a2020746869732e5f6e657874203d206e756c6c3b0a7d0a0a54696d65722e70726f746f74797065203d2074696d65722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2054696d65722c0a2020726573746172743a2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e657720547970654572726f72282263616c6c6261636b206973206e6f7420612066756e6374696f6e22293b0a2020202074696d65203d202874696d65203d3d206e756c6c203f206e6f772829203a202b74696d6529202b202864656c6179203d3d206e756c6c203f2030203a202b64656c6179293b0a202020206966202821746869732e5f6e657874202626207461736b5461696c20213d3d207468697329207b0a202020202020696620287461736b5461696c29207461736b5461696c2e5f6e657874203d20746869733b0a202020202020656c7365207461736b48656164203d20746869733b0a2020202020207461736b5461696c203d20746869733b0a202020207d0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a20202020746869732e5f74696d65203d2074696d653b0a20202020736c65657028293b0a20207d2c0a202073746f703a2066756e6374696f6e2829207b0a2020202069662028746869732e5f63616c6c29207b0a202020202020746869732e5f63616c6c203d206e756c6c3b0a202020202020746869732e5f74696d65203d20496e66696e6974793b0a202020202020736c65657028293b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2074696d65722863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a2020742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e2074696d6572466c7573682829207b0a20206e6f7728293b202f2f20476574207468652063757272656e742074696d652c206966206e6f7420616c7265616479207365742e0a20202b2b6672616d653b202f2f2050726574656e64207765e2809976652073657420616e20616c61726d2c20696620776520686176656ee280997420616c72656164792e0a20207661722074203d207461736b486561642c20653b0a20207768696c6520287429207b0a20202020696620282865203d20636c6f636b4e6f77202d20742e5f74696d6529203e3d20302920742e5f63616c6c2e63616c6c286e756c6c2c2065293b0a2020202074203d20742e5f6e6578743b0a20207d0a20202d2d6672616d653b0a7d0a0a66756e6374696f6e2077616b652829207b0a2020636c6f636b4e6f77203d2028636c6f636b4c617374203d20636c6f636b2e6e6f77282929202b20636c6f636b536b65773b0a20206672616d65203d2074696d656f7574203d20303b0a2020747279207b0a2020202074696d6572466c75736828293b0a20207d2066696e616c6c79207b0a202020206672616d65203d20303b0a202020206e617028293b0a20202020636c6f636b4e6f77203d20303b0a20207d0a7d0a0a66756e6374696f6e20706f6b652829207b0a2020766172206e6f77203d20636c6f636b2e6e6f7728292c2064656c6179203d206e6f77202d20636c6f636b4c6173743b0a20206966202864656c6179203e20706f6b6544656c61792920636c6f636b536b6577202d3d2064656c61792c20636c6f636b4c617374203d206e6f773b0a7d0a0a66756e6374696f6e206e61702829207b0a20207661722074302c207431203d207461736b486561642c2074322c2074696d65203d20496e66696e6974793b0a20207768696c652028743129207b0a202020206966202874312e5f63616c6c29207b0a2020202020206966202874696d65203e2074312e5f74696d65292074696d65203d2074312e5f74696d653b0a2020202020207430203d2074312c207431203d2074312e5f6e6578743b0a202020207d20656c7365207b0a2020202020207432203d2074312e5f6e6578742c2074312e5f6e657874203d206e756c6c3b0a2020202020207431203d207430203f2074302e5f6e657874203d207432203a207461736b48656164203d2074323b0a202020207d0a20207d0a20207461736b5461696c203d2074303b0a2020736c6565702874696d65293b0a7d0a0a66756e6374696f6e20736c6565702874696d6529207b0a2020696620286672616d65292072657475726e3b202f2f20536f6f6e65737420616c61726d20616c7265616479207365742c206f722077696c6c2062652e0a20206966202874696d656f7574292074696d656f7574203d20636c65617254696d656f75742874696d656f7574293b0a20207661722064656c6179203d2074696d65202d20636c6f636b4e6f773b202f2f205374726963746c79206c657373207468616e206966207765207265636f6d707574656420636c6f636b4e6f772e0a20206966202864656c6179203e20323429207b0a202020206966202874696d65203c20496e66696e697479292074696d656f7574203d2073657454696d656f75742877616b652c2074696d65202d20636c6f636b2e6e6f772829202d20636c6f636b536b6577293b0a2020202069662028696e74657276616c2920696e74657276616c203d20636c656172496e74657276616c28696e74657276616c293b0a20207d20656c7365207b0a202020206966202821696e74657276616c2920636c6f636b4c617374203d20636c6f636b2e6e6f7728292c20696e74657276616c203d20736574496e74657276616c28706f6b652c20706f6b6544656c6179293b0a202020206672616d65203d20312c207365744672616d652877616b65293b0a20207d0a7d0a0a66756e6374696f6e2074696d656f757424312863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a202064656c6179203d2064656c6179203d3d206e756c6c203f2030203a202b64656c61793b0a2020742e726573746172742866756e6374696f6e28656c617073656429207b0a20202020742e73746f7028293b0a2020202063616c6c6261636b28656c6170736564202b2064656c6179293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e20696e74657276616c24312863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65722c20746f74616c203d2064656c61793b0a20206966202864656c6179203d3d206e756c6c292072657475726e20742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65292c20743b0a202064656c6179203d202b64656c61792c2074696d65203d2074696d65203d3d206e756c6c203f206e6f772829203a202b74696d653b0a2020742e726573746172742866756e6374696f6e207469636b28656c617073656429207b0a20202020656c6170736564202b3d20746f74616c3b0a20202020742e72657374617274287469636b2c20746f74616c202b3d2064656c61792c2074696d65293b0a2020202063616c6c6261636b28656c6170736564293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a76617220656d7074794f6e203d20646973706174636828227374617274222c2022656e64222c2022696e7465727275707422293b0a76617220656d707479547765656e203d205b5d3b0a0a7661722043524541544544203d20303b0a766172205343484544554c4544203d20313b0a766172205354415254494e47203d20323b0a7661722053544152544544203d20333b0a7661722052554e4e494e47203d20343b0a76617220454e44494e47203d20353b0a76617220454e444544203d20363b0a0a66756e6374696f6e207363686564756c65286e6f64652c206e616d652c2069642c20696e6465782c2067726f75702c2074696d696e6729207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c657329206e6f64652e5f5f7472616e736974696f6e203d207b7d3b0a2020656c73652069662028696420696e207363686564756c6573292072657475726e3b0a20206372656174652431286e6f64652c2069642c207b0a202020206e616d653a206e616d652c0a20202020696e6465783a20696e6465782c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a2020202067726f75703a2067726f75702c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a202020206f6e3a20656d7074794f6e2c0a20202020747765656e3a20656d707479547765656e2c0a2020202074696d653a2074696d696e672e74696d652c0a2020202064656c61793a2074696d696e672e64656c61792c0a202020206475726174696f6e3a2074696d696e672e6475726174696f6e2c0a20202020656173653a2074696d696e672e656173652c0a2020202074696d65723a206e756c6c2c0a2020202073746174653a20435245415445440a20207d293b0a7d0a0a66756e6374696f6e20696e6974286e6f64652c20696429207b0a2020766172207363686564756c65203d206765742431286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e204352454154454429207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207363686564756c656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e207365742431286e6f64652c20696429207b0a2020766172207363686564756c65203d206765742431286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e205354415254494e4729207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207374617274656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e206765742431286e6f64652c20696429207b0a2020766172207363686564756c65203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c65207c7c2021287363686564756c65203d207363686564756c655b69645d2929207468726f77206e6577204572726f7228227472616e736974696f6e206e6f7420666f756e6422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e206372656174652431286e6f64652c2069642c2073656c6629207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a202020202020747765656e3b0a0a20202f2f20496e697469616c697a65207468652073656c662074696d6572207768656e20746865207472616e736974696f6e20697320637265617465642e0a20202f2f204e6f7465207468652061637475616c2064656c6179206973206e6f74206b6e6f776e20756e74696c207468652066697273742063616c6c6261636b210a20207363686564756c65735b69645d203d2073656c663b0a202073656c662e74696d6572203d2074696d6572287363686564756c652c20302c2073656c662e74696d65293b0a0a202066756e6374696f6e207363686564756c6528656c617073656429207b0a2020202073656c662e7374617465203d205343484544554c45443b0a2020202073656c662e74696d65722e726573746172742873746172742c2073656c662e64656c61792c2073656c662e74696d65293b0a0a202020202f2f2049662074686520656c61707365642064656c6179206973206c657373207468616e206f757220666972737420736c6565702c20737461727420696d6d6564696174656c792e0a202020206966202873656c662e64656c6179203c3d20656c61707365642920737461727428656c6170736564202d2073656c662e64656c6179293b0a20207d0a0a202066756e6374696f6e20737461727428656c617073656429207b0a2020202076617220692c206a2c206e2c206f3b0a0a202020202f2f20496620746865207374617465206973206e6f74205343484544554c45442c207468656e2077652070726576696f75736c79206572726f726564206f6e2073746172742e0a202020206966202873656c662e737461746520213d3d205343484544554c4544292072657475726e2073746f7028293b0a0a20202020666f7220286920696e207363686564756c657329207b0a2020202020206f203d207363686564756c65735b695d3b0a202020202020696620286f2e6e616d6520213d3d2073656c662e6e616d652920636f6e74696e75653b0a0a2020202020202f2f205768696c65207468697320656c656d656e7420616c7265616479206861732061207374617274696e67207472616e736974696f6e20647572696e672074686973206672616d652c0a2020202020202f2f206465666572207374617274696e6720616e20696e74657272757074696e67207472616e736974696f6e20756e74696c2074686174207472616e736974696f6e2068617320610a2020202020202f2f206368616e636520746f207469636b2028616e6420706f737369626c7920656e64293b207365652064332f64332d7472616e736974696f6e233534210a202020202020696620286f2e7374617465203d3d3d2053544152544544292072657475726e2074696d656f75742431287374617274293b0a0a2020202020202f2f20496e746572727570742074686520616374697665207472616e736974696f6e2c20696620616e792e0a2020202020202f2f2044697370617463682074686520696e74657272757074206576656e742e0a202020202020696620286f2e7374617465203d3d3d2052554e4e494e4729207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a20202020202020206f2e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c206f2e696e6465782c206f2e67726f7570293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a0a2020202020202f2f2043616e63656c20616e79207072652d656d70746564207472616e736974696f6e732e204e6f20696e74657272757074206576656e7420697320646973706174636865640a2020202020202f2f2062656361757365207468652063616e63656c6c6564207472616e736974696f6e73206e6576657220737461727465642e204e6f74652074686174207468697320616c736f0a2020202020202f2f2072656d6f7665732074686973207472616e736974696f6e2066726f6d207468652070656e64696e67206c697374210a202020202020656c736520696620282b69203c20696429207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a202020207d0a0a202020202f2f20446566657220746865206669727374207469636b20746f20656e64206f66207468652063757272656e74206672616d653b207365652064332f643323313537362e0a202020202f2f204e6f746520746865207472616e736974696f6e206d61792062652063616e63656c656420616674657220737461727420616e64206265666f726520746865206669727374207469636b210a202020202f2f204e6f74652074686973206d757374206265207363686564756c6564206265666f726520746865207374617274206576656e743b207365652064332f64332d7472616e736974696f6e233136210a202020202f2f20417373756d696e672074686973206973207375636365737366756c2c2073756273657175656e742063616c6c6261636b7320676f20737472616967687420746f207469636b2e0a2020202074696d656f757424312866756e6374696f6e2829207b0a2020202020206966202873656c662e7374617465203d3d3d205354415254454429207b0a202020202020202073656c662e7374617465203d2052554e4e494e473b0a202020202020202073656c662e74696d65722e72657374617274287469636b2c2073656c662e64656c61792c2073656c662e74696d65293b0a20202020202020207469636b28656c6170736564293b0a2020202020207d0a202020207d293b0a0a202020202f2f20446973706174636820746865207374617274206576656e742e0a202020202f2f204e6f74652074686973206d75737420626520646f6e65206265666f72652074686520747765656e2061726520696e697469616c697a65642e0a2020202073656c662e7374617465203d205354415254494e473b0a2020202073656c662e6f6e2e63616c6c28227374617274222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a202020206966202873656c662e737461746520213d3d205354415254494e47292072657475726e3b202f2f20696e7465727275707465640a2020202073656c662e7374617465203d20535441525445443b0a0a202020202f2f20496e697469616c697a652074686520747765656e2c2064656c6574696e67206e756c6c20747765656e2e0a20202020747765656e203d206e6577204172726179286e203d2073656c662e747765656e2e6c656e677468293b0a20202020666f72202869203d20302c206a203d202d313b2069203c206e3b202b2b6929207b0a202020202020696620286f203d2073656c662e747765656e5b695d2e76616c75652e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f75702929207b0a2020202020202020747765656e5b2b2b6a5d203d206f3b0a2020202020207d0a202020207d0a20202020747765656e2e6c656e677468203d206a202b20313b0a20207d0a0a202066756e6374696f6e207469636b28656c617073656429207b0a202020207661722074203d20656c6170736564203c2073656c662e6475726174696f6e203f2073656c662e656173652e63616c6c286e756c6c2c20656c6170736564202f2073656c662e6475726174696f6e29203a202873656c662e74696d65722e726573746172742873746f70292c2073656c662e7374617465203d20454e44494e472c2031292c0a202020202020202069203d202d312c0a20202020202020206e203d20747765656e2e6c656e6774683b0a0a202020207768696c6520282b2b69203c206e29207b0a202020202020747765656e5b695d2e63616c6c286e756c6c2c2074293b0a202020207d0a0a202020202f2f2044697370617463682074686520656e64206576656e742e0a202020206966202873656c662e7374617465203d3d3d20454e44494e4729207b0a20202020202073656c662e6f6e2e63616c6c2822656e64222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a20202020202073746f7028293b0a202020207d0a20207d0a0a202066756e6374696f6e2073746f702829207b0a2020202073656c662e7374617465203d20454e4445443b0a2020202073656c662e74696d65722e73746f7028293b0a2020202064656c657465207363686564756c65735b69645d3b0a20202020666f722028766172206920696e207363686564756c6573292072657475726e3b202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d756e757365642d766172730a2020202064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a20207d0a7d0a0a66756e6374696f6e20696e74657272757074286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652424312c0a2020202020206163746976652c0a202020202020656d707479203d20747275652c0a202020202020693b0a0a202069662028217363686564756c6573292072657475726e3b0a0a20206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a0a2020666f7220286920696e207363686564756c657329207b0a2020202069662028287363686564756c65242431203d207363686564756c65735b695d292e6e616d6520213d3d206e616d6529207b20656d707479203d2066616c73653b20636f6e74696e75653b207d0a20202020616374697665203d207363686564756c652424312e7374617465203e205354415254494e47202626207363686564756c652424312e7374617465203c20454e44494e473b0a202020207363686564756c652424312e7374617465203d20454e4445443b0a202020207363686564756c652424312e74696d65722e73746f7028293b0a202020206966202861637469766529207363686564756c652424312e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c207363686564756c652424312e696e6465782c207363686564756c652424312e67726f7570293b0a2020202064656c657465207363686564756c65735b695d3b0a20207d0a0a202069662028656d707479292064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f696e74657272757074286e616d6529207b0a202072657475726e20746869732e656163682866756e6374696f6e2829207b0a20202020696e7465727275707428746869732c206e616d65293b0a20207d293b0a7d0a0a66756e6374696f6e20747765656e52656d6f76652869642c206e616d6529207b0a202076617220747765656e302c20747765656e313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964292c0a2020202020202020747765656e203d207363686564756c652424312e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d20747765656e30203d20747765656e3b0a202020202020666f7220287661722069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e31203d20747765656e312e736c69636528293b0a20202020202020202020747765656e312e73706c69636528692c2031293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a0a202020207363686564756c652424312e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e20747765656e46756e6374696f6e2869642c206e616d652c2076616c756529207b0a202076617220747765656e302c20747765656e313b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964292c0a2020202020202020747765656e203d207363686564756c652424312e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d2028747765656e30203d20747765656e292e736c69636528293b0a202020202020666f7220287661722074203d207b6e616d653a206e616d652c2076616c75653a2076616c75657d2c2069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e315b695d203d20743b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020206966202869203d3d3d206e2920747765656e312e707573682874293b0a202020207d0a0a202020207363686564756c652424312e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f747765656e286e616d652c2076616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a20206e616d65202b3d2022223b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202076617220747765656e203d20676574243128746869732e6e6f646528292c206964292e747765656e3b0a20202020666f7220287661722069203d20302c206e203d20747765656e2e6c656e6774682c20743b2069203c206e3b202b2b6929207b0a202020202020696620282874203d20747765656e5b695d292e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e20742e76616c75653b0a2020202020207d0a202020207d0a2020202072657475726e206e756c6c3b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c203f20747765656e52656d6f7665203a20747765656e46756e6374696f6e292869642c206e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e20747765656e56616c7565287472616e736974696f6e2c206e616d652c2076616c756529207b0a2020766172206964203d207472616e736974696f6e2e5f69643b0a0a20207472616e736974696f6e2e656163682866756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964293b0a20202020287363686564756c652424312e76616c7565207c7c20287363686564756c652424312e76616c7565203d207b7d29295b6e616d655d203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d293b0a0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202072657475726e206765742431286e6f64652c206964292e76616c75655b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e20696e746572706f6c61746528612c206229207b0a202076617220633b0a202072657475726e2028747970656f662062203d3d3d20226e756d62657222203f207265696e746572706f6c6174650a2020202020203a206220696e7374616e63656f6620636f6c6f72203f20696e746572706f6c6174655267620a2020202020203a202863203d20636f6c6f7228622929203f202862203d20632c20696e746572706f6c617465526762290a2020202020203a20696e746572706f6c617465537472696e672928612c2062293b0a7d0a0a66756e6374696f6e206174747252656d6f76652431286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e5324312866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e742431286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e5324312866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e2431286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f7665417474726962757465286e616d65293b0a2020202076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e5324312866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f61747472286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65292c2069203d2066756c6c6e616d65203d3d3d20227472616e73666f726d22203f20696e746572706f6c6174655472616e73666f726d537667203a20696e746572706f6c6174653b0a202072657475726e20746869732e61747472547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e532431203a206174747246756e6374696f6e2431292866756c6c6e616d652c20692c20747765656e56616c756528746869732c2022617474722e22202b206e616d652c2076616c756529290a2020202020203a2076616c7565203d3d206e756c6c203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e532431203a206174747252656d6f76652431292866756c6c6e616d65290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e532431203a2061747472436f6e7374616e742431292866756c6c6e616d652c20692c2076616c7565202b20222229293b0a7d0a0a66756e6374696f6e2061747472547765656e4e532866756c6c6e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e2061747472547765656e286e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e736574417474726962757465286e616d652c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f61747472547765656e286e616d652c2076616c756529207b0a2020766172206b6579203d2022617474722e22202b206e616d653b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e20746869732e747765656e286b65792c202866756c6c6e616d652e6c6f63616c203f2061747472547765656e4e53203a2061747472547765656e292866756c6c6e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e2064656c617946756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e2064656c6179436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f64656c61792876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2064656c617946756e6374696f6e0a202020202020202020203a2064656c6179436f6e7374616e74292869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e64656c61793b0a7d0a0a66756e6374696f6e206475726174696f6e46756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e6475726174696f6e203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e206475726174696f6e436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e6475726174696f6e203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6475726174696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f206475726174696f6e46756e6374696f6e0a202020202020202020203a206475726174696f6e436f6e7374616e74292869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e6475726174696f6e3b0a7d0a0a66756e6374696f6e2065617365436f6e7374616e742869642c2076616c756529207b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e65617365203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f656173652876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682865617365436f6e7374616e742869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e656173653b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f66696c746572286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6d65726765287472616e736974696f6e24243129207b0a2020696620287472616e736974696f6e2424312e5f696420213d3d20746869732e5f696429207468726f77206e6577204572726f723b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d207472616e736974696f6e2424312e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e6577205472616e736974696f6e286d65726765732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d0a0a66756e6374696f6e207374617274286e616d6529207b0a202072657475726e20286e616d65202b202222292e7472696d28292e73706c6974282f5e7c5c732b2f292e65766572792866756e6374696f6e287429207b0a202020207661722069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d2030292074203d20742e736c69636528302c2069293b0a2020202072657475726e202174207c7c2074203d3d3d20227374617274223b0a20207d293b0a7d0a0a66756e6374696f6e206f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229207b0a2020766172206f6e302c206f6e312c20736974203d207374617274286e616d6529203f20696e6974203a2073657424313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d2073697428746869732c206964292c0a20202020202020206f6e203d207363686564756c652424312e6f6e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420612064697370617463682077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420646973706174636820616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a20202020696620286f6e20213d3d206f6e302920286f6e31203d20286f6e30203d206f6e292e636f70792829292e6f6e286e616d652c206c697374656e6572293b0a0a202020207363686564756c652424312e6f6e203d206f6e313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6f6e286e616d652c206c697374656e657229207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e677468203c20320a2020202020203f20676574243128746869732e6e6f646528292c206964292e6f6e2e6f6e286e616d65290a2020202020203a20746869732e65616368286f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229293b0a7d0a0a66756e6374696f6e2072656d6f766546756e6374696f6e28696429207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220706172656e74203d20746869732e706172656e744e6f64653b0a20202020666f722028766172206920696e20746869732e5f5f7472616e736974696f6e2920696620282b6920213d3d206964292072657475726e3b0a2020202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f72656d6f76652829207b0a202072657475726e20746869732e6f6e2822656e642e72656d6f7665222c2072656d6f766546756e6374696f6e28746869732e5f696429293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f73656c6563742873656c65637424243129207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637424243120213d3d202266756e6374696f6e22292073656c656374242431203d2073656c6563746f722873656c656374242431293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742424312e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a20202020202020207363686564756c652873756267726f75705b695d2c206e616d652c2069642c20692c2073756267726f75702c206765742431286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f73656c656374416c6c2873656c65637424243129207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637424243120213d3d202266756e6374696f6e22292073656c656374242431203d2073656c6563746f72416c6c2873656c656374242431293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020666f722028766172206368696c6472656e203d2073656c6563742424312e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292c206368696c642c20696e6865726974203d206765742431286e6f64652c206964292c206b203d20302c206c203d206368696c6472656e2e6c656e6774683b206b203c206c3b202b2b6b29207b0a20202020202020202020696620286368696c64203d206368696c6472656e5b6b5d29207b0a2020202020202020202020207363686564756c65286368696c642c206e616d652c2069642c206b2c206368696c6472656e2c20696e6865726974293b0a202020202020202020207d0a20202020202020207d0a202020202020202073756267726f7570732e70757368286368696c6472656e293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20706172656e74732c206e616d652c206964293b0a7d0a0a7661722053656c656374696f6e2431203d2073656c656374696f6e2e70726f746f747970652e636f6e7374727563746f723b0a0a66756e6374696f6e207472616e736974696f6e5f73656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e243128746869732e5f67726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e207374796c6552656d6f76652431286e616d652c20696e746572706f6c61746524243129207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65292c0a202020202020202076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c207374796c6556616c756528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6552656d6f7665456e64286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e742431286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e2431286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65292c0a202020202020202076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c207374796c6556616c756528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7374796c65286e616d652c2076616c75652c207072696f7269747929207b0a20207661722069203d20286e616d65202b3d20222229203d3d3d20227472616e73666f726d22203f20696e746572706f6c6174655472616e73666f726d437373203a20696e746572706f6c6174653b0a202072657475726e2076616c7565203d3d206e756c6c203f20746869730a202020202020202020202e7374796c65547765656e286e616d652c207374796c6552656d6f76652431286e616d652c206929290a202020202020202020202e6f6e2822656e642e7374796c652e22202b206e616d652c207374796c6552656d6f7665456e64286e616d6529290a2020202020203a20746869732e7374796c65547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207374796c6546756e6374696f6e2431286e616d652c20692c20747765656e56616c756528746869732c20227374796c652e22202b206e616d652c2076616c756529290a202020202020202020203a207374796c65436f6e7374616e742431286e616d652c20692c2076616c7565202b202222292c207072696f72697479293b0a7d0a0a66756e6374696f6e207374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7374796c652e73657450726f7065727479286e616d652c20692874292c207072696f72697479293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a2020766172206b6579203d20227374796c652e22202b20286e616d65202b3d202222293b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20746869732e747765656e286b65792c207374796c65547765656e286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929293b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e7424312876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e24312876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756531203d2076616c75652874686973293b0a20202020746869732e74657874436f6e74656e74203d2076616c756531203d3d206e756c6c203f202222203a2076616c7565313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f746578742876616c756529207b0a202072657475726e20746869732e747765656e282274657874222c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f207465787446756e6374696f6e243128747765656e56616c756528746869732c202274657874222c2076616c756529290a2020202020203a2074657874436f6e7374616e7424312876616c7565203d3d206e756c6c203f202222203a2076616c7565202b20222229293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7472616e736974696f6e2829207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a202020202020696430203d20746869732e5f69642c0a202020202020696431203d206e6577496428293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202076617220696e6865726974203d206765742431286e6f64652c20696430293b0a20202020202020207363686564756c65286e6f64652c206e616d652c206964312c20692c2067726f75702c207b0a2020202020202020202074696d653a20696e68657269742e74696d65202b20696e68657269742e64656c6179202b20696e68657269742e6475726174696f6e2c0a2020202020202020202064656c61793a20302c0a202020202020202020206475726174696f6e3a20696e68657269742e6475726174696f6e2c0a20202020202020202020656173653a20696e68657269742e656173650a20202020202020207d293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c20696431293b0a7d0a0a766172206964203d20303b0a0a66756e6374696f6e205472616e736974696f6e2867726f7570732c20706172656e74732c206e616d652c20696429207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a2020746869732e5f6e616d65203d206e616d653b0a2020746869732e5f6964203d2069643b0a7d0a0a66756e6374696f6e207472616e736974696f6e286e616d6529207b0a202072657475726e2073656c656374696f6e28292e7472616e736974696f6e286e616d65293b0a7d0a0a66756e6374696f6e206e657749642829207b0a202072657475726e202b2b69643b0a7d0a0a7661722073656c656374696f6e5f70726f746f74797065203d2073656c656374696f6e2e70726f746f747970653b0a0a5472616e736974696f6e2e70726f746f74797065203d207472616e736974696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e736974696f6e2c0a202073656c6563743a207472616e736974696f6e5f73656c6563742c0a202073656c656374416c6c3a207472616e736974696f6e5f73656c656374416c6c2c0a202066696c7465723a207472616e736974696f6e5f66696c7465722c0a20206d657267653a207472616e736974696f6e5f6d657267652c0a202073656c656374696f6e3a207472616e736974696f6e5f73656c656374696f6e2c0a20207472616e736974696f6e3a207472616e736974696f6e5f7472616e736974696f6e2c0a202063616c6c3a2073656c656374696f6e5f70726f746f747970652e63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f70726f746f747970652e6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f70726f746f747970652e6e6f64652c0a202073697a653a2073656c656374696f6e5f70726f746f747970652e73697a652c0a2020656d7074793a2073656c656374696f6e5f70726f746f747970652e656d7074792c0a2020656163683a2073656c656374696f6e5f70726f746f747970652e656163682c0a20206f6e3a207472616e736974696f6e5f6f6e2c0a2020617474723a207472616e736974696f6e5f617474722c0a202061747472547765656e3a207472616e736974696f6e5f61747472547765656e2c0a20207374796c653a207472616e736974696f6e5f7374796c652c0a20207374796c65547765656e3a207472616e736974696f6e5f7374796c65547765656e2c0a2020746578743a207472616e736974696f6e5f746578742c0a202072656d6f76653a207472616e736974696f6e5f72656d6f76652c0a2020747765656e3a207472616e736974696f6e5f747765656e2c0a202064656c61793a207472616e736974696f6e5f64656c61792c0a20206475726174696f6e3a207472616e736974696f6e5f6475726174696f6e2c0a2020656173653a207472616e736974696f6e5f656173650a7d3b0a0a66756e6374696f6e206c696e6561722431287429207b0a202072657475726e202b743b0a7d0a0a66756e6374696f6e2071756164496e287429207b0a202072657475726e2074202a20743b0a7d0a0a66756e6374696f6e20717561644f7574287429207b0a202072657475726e2074202a202832202d2074293b0a7d0a0a66756e6374696f6e2071756164496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074203a202d2d74202a202832202d207429202b203129202f20323b0a7d0a0a66756e6374696f6e206375626963496e287429207b0a202072657475726e2074202a2074202a20743b0a7d0a0a66756e6374696f6e2063756269634f7574287429207b0a202072657475726e202d2d74202a2074202a2074202b20313b0a7d0a0a66756e6374696f6e206375626963496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074202a2074203a202874202d3d203229202a2074202a2074202b203229202f20323b0a7d0a0a766172206578706f6e656e74203d20333b0a0a76617220706f6c79496e203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e287429207b0a2020202072657475726e204d6174682e706f7728742c2065293b0a20207d0a0a2020706f6c79496e2e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e3b0a7d29286578706f6e656e74293b0a0a76617220706f6c794f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c794f7574287429207b0a2020202072657475726e2031202d204d6174682e706f772831202d20742c2065293b0a20207d0a0a2020706f6c794f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c794f75743b0a7d29286578706f6e656e74293b0a0a76617220706f6c79496e4f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728742c206529203a2032202d204d6174682e706f772832202d20742c20652929202f20323b0a20207d0a0a2020706f6c79496e4f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e4f75743b0a7d29286578706f6e656e74293b0a0a766172207069203d204d6174682e50492c0a2020202068616c665069203d207069202f20323b0a0a66756e6374696f6e2073696e496e287429207b0a202072657475726e2031202d204d6174682e636f732874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e4f7574287429207b0a202072657475726e204d6174682e73696e2874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e496e4f7574287429207b0a202072657475726e202831202d204d6174682e636f73287069202a20742929202f20323b0a7d0a0a66756e6374696f6e20657870496e287429207b0a202072657475726e204d6174682e706f7728322c203130202a2074202d203130293b0a7d0a0a66756e6374696f6e206578704f7574287429207b0a202072657475726e2031202d204d6174682e706f7728322c202d3130202a2074293b0a7d0a0a66756e6374696f6e20657870496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728322c203130202a2074202d20313029203a2032202d204d6174682e706f7728322c203130202d203130202a20742929202f20323b0a7d0a0a66756e6374696f6e20636972636c65496e287429207b0a202072657475726e2031202d204d6174682e737172742831202d2074202a2074293b0a7d0a0a66756e6374696f6e20636972636c654f7574287429207b0a202072657475726e204d6174682e737172742831202d202d2d74202a2074293b0a7d0a0a66756e6374696f6e20636972636c65496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d204d6174682e737172742831202d2074202a207429203a204d6174682e737172742831202d202874202d3d203229202a207429202b203129202f20323b0a7d0a0a766172206231203d2034202f2031312c0a202020206232203d2036202f2031312c0a202020206233203d2038202f2031312c0a202020206234203d2033202f20342c0a202020206235203d2039202f2031312c0a202020206236203d203130202f2031312c0a202020206237203d203135202f2031362c0a202020206238203d203231202f2032322c0a202020206239203d203633202f2036342c0a202020206230203d2031202f206231202f2062313b0a0a66756e6374696f6e20626f756e6365496e287429207b0a202072657475726e2031202d20626f756e63654f75742831202d2074293b0a7d0a0a66756e6374696f6e20626f756e63654f7574287429207b0a202072657475726e202874203d202b7429203c206231203f206230202a2074202a2074203a2074203c206233203f206230202a202874202d3d20623229202a2074202b206234203a2074203c206236203f206230202a202874202d3d20623529202a2074202b206237203a206230202a202874202d3d20623829202a2074202b2062393b0a7d0a0a66756e6374696f6e20626f756e6365496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d20626f756e63654f75742831202d207429203a20626f756e63654f75742874202d203129202b203129202f20323b0a7d0a0a766172206f76657273686f6f74203d20312e37303135383b0a0a766172206261636b496e203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e287429207b0a2020202072657475726e2074202a2074202a20282873202b203129202a2074202d2073293b0a20207d0a0a20206261636b496e2e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e3b0a7d29286f76657273686f6f74293b0a0a766172206261636b4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b4f7574287429207b0a2020202072657475726e202d2d74202a2074202a20282873202b203129202a2074202b207329202b20313b0a20207d0a0a20206261636b4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b4f75743b0a7d29286f76657273686f6f74293b0a0a766172206261636b496e4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c2031203f2074202a2074202a20282873202b203129202a2074202d207329203a202874202d3d203229202a2074202a20282873202b203129202a2074202b207329202b203229202f20323b0a20207d0a0a20206261636b496e4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e4f75743b0a7d29286f76657273686f6f74293b0a0a76617220746175203d2032202a204d6174682e50492c0a20202020616d706c6974756465203d20312c0a20202020706572696f64203d20302e333b0a0a76617220656c6173746963496e203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e287429207b0a2020202072657475726e2061202a204d6174682e706f7728322c203130202a202d2d7429202a204d6174682e73696e282873202d207429202f2070293b0a20207d0a0a2020656c6173746963496e2e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e2e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e3b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c61737469634f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c61737469634f7574287429207b0a2020202072657475726e2031202d2061202a204d6174682e706f7728322c202d3130202a202874203d202b742929202a204d6174682e73696e282874202b207329202f2070293b0a20207d0a0a2020656c61737469634f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c61737469634f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c61737469634f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c6173746963496e4f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e4f7574287429207b0a2020202072657475726e20282874203d2074202a2032202d203129203c20300a20202020202020203f2061202a204d6174682e706f7728322c203130202a207429202a204d6174682e73696e282873202d207429202f2070290a20202020202020203a2032202d2061202a204d6174682e706f7728322c202d3130202a207429202a204d6174682e73696e282873202b207429202f20702929202f20323b0a20207d0a0a2020656c6173746963496e4f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e4f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e4f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a7661722064656661756c7454696d696e67203d207b0a202074696d653a206e756c6c2c202f2f20536574206f6e207573652e0a202064656c61793a20302c0a20206475726174696f6e3a203235302c0a2020656173653a206375626963496e4f75740a7d3b0a0a66756e6374696f6e20696e6865726974286e6f64652c20696429207b0a20207661722074696d696e673b0a20207768696c652028212874696d696e67203d206e6f64652e5f5f7472616e736974696f6e29207c7c20212874696d696e67203d2074696d696e675b69645d2929207b0a202020206966202821286e6f6465203d206e6f64652e706172656e744e6f64652929207b0a20202020202072657475726e2064656661756c7454696d696e672e74696d65203d206e6f7728292c2064656661756c7454696d696e673b0a202020207d0a20207d0a202072657475726e2074696d696e673b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f7472616e736974696f6e286e616d6529207b0a20207661722069642c0a20202020202074696d696e673b0a0a2020696620286e616d6520696e7374616e63656f66205472616e736974696f6e29207b0a202020206964203d206e616d652e5f69642c206e616d65203d206e616d652e5f6e616d653b0a20207d20656c7365207b0a202020206964203d206e6577496428292c202874696d696e67203d2064656661756c7454696d696e67292e74696d65203d206e6f7728292c206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a20202020202020207363686564756c65286e6f64652c206e616d652c2069642c20692c2067726f75702c2074696d696e67207c7c20696e6865726974286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d0a0a73656c656374696f6e2e70726f746f747970652e696e74657272757074203d2073656c656374696f6e5f696e746572727570743b0a73656c656374696f6e2e70726f746f747970652e7472616e736974696f6e203d2073656c656374696f6e5f7472616e736974696f6e3b0a0a76617220726f6f742431203d205b6e756c6c5d3b0a0a66756e6374696f6e20616374697665286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652424312c0a202020202020693b0a0a2020696620287363686564756c657329207b0a202020206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20202020666f7220286920696e207363686564756c657329207b0a20202020202069662028287363686564756c65242431203d207363686564756c65735b695d292e7374617465203e205343484544554c4544202626207363686564756c652424312e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e206e6577205472616e736974696f6e285b5b6e6f64655d5d2c20726f6f7424312c206e616d652c202b69293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e20636f6e7374616e742434287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e2042727573684576656e74287461726765742c20747970652c2073656c656374696f6e29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e73656c656374696f6e203d2073656c656374696f6e3b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e24312829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e7424312829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172204d4f44455f44524147203d207b6e616d653a202264726167227d2c0a202020204d4f44455f5350414345203d207b6e616d653a20227370616365227d2c0a202020204d4f44455f48414e444c45203d207b6e616d653a202268616e646c65227d2c0a202020204d4f44455f43454e544552203d207b6e616d653a202263656e746572227d3b0a0a7661722058203d207b0a20206e616d653a202278222c0a202068616e646c65733a205b2265222c202277225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28782c206529207b2072657475726e2078202626205b5b785b305d2c20655b305d5b315d5d2c205b785b315d2c20655b315d5b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b305d2c2078795b315d5b305d5d3b207d0a7d3b0a0a7661722059203d207b0a20206e616d653a202279222c0a202068616e646c65733a205b226e222c202273225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28792c206529207b2072657475726e2079202626205b5b655b305d5b305d2c20795b305d5d2c205b655b315d5b305d2c20795b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b315d2c2078795b315d5b315d5d3b207d0a7d3b0a0a766172205859203d207b0a20206e616d653a20227879222c0a202068616e646c65733a205b226e222c202265222c202273222c202277222c20226e77222c20226e65222c20227365222c20227377225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d0a7d3b0a0a76617220637572736f7273203d207b0a20206f7665726c61793a202263726f737368616972222c0a202073656c656374696f6e3a20226d6f7665222c0a20206e3a20226e732d726573697a65222c0a2020653a202265772d726573697a65222c0a2020733a20226e732d726573697a65222c0a2020773a202265772d726573697a65222c0a20206e773a20226e7773652d726573697a65222c0a20206e653a20226e6573772d726573697a65222c0a202073653a20226e7773652d726573697a65222c0a202073773a20226e6573772d726573697a65220a7d3b0a0a76617220666c697058203d207b0a2020653a202277222c0a2020773a202265222c0a20206e773a20226e65222c0a20206e653a20226e77222c0a202073653a20227377222c0a202073773a20227365220a7d3b0a0a76617220666c697059203d207b0a20206e3a202273222c0a2020733a20226e222c0a20206e773a20227377222c0a20206e653a20227365222c0a202073653a20226e65222c0a202073773a20226e77220a7d3b0a0a766172207369676e7358203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a206e756c6c2c0a2020653a202b312c0a2020733a206e756c6c2c0a2020773a202d312c0a20206e773a202d312c0a20206e653a202b312c0a202073653a202b312c0a202073773a202d310a7d3b0a0a766172207369676e7359203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a202d312c0a2020653a206e756c6c2c0a2020733a202b312c0a2020773a206e756c6c2c0a20206e773a202d312c0a20206e653a202d312c0a202073653a202b312c0a202073773a202b310a7d3b0a0a66756e6374696f6e2074797065287429207b0a202072657475726e207b747970653a20747d3b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c74657224312829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a202076617220737667203d20746869732e6f776e6572535647456c656d656e74207c7c20746869733b0a202072657475726e205b5b302c20305d2c205b7376672e77696474682e6261736556616c2e76616c75652c207376672e6865696768742e6261736556616c2e76616c75655d5d3b0a7d0a0a2f2f204c696b652064332e6c6f63616c2c20627574207769746820746865206e616d6520e2809c5f5f6272757368e2809d20726174686572207468616e206175746f2d67656e6572617465642e0a66756e6374696f6e206c6f63616c2431286e6f646529207b0a20207768696c652028216e6f64652e5f5f627275736829206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a202072657475726e206e6f64652e5f5f62727573683b0a7d0a0a66756e6374696f6e20656d707479243128657874656e7429207b0a202072657475726e20657874656e745b305d5b305d203d3d3d20657874656e745b315d5b305d0a2020202020207c7c20657874656e745b305d5b315d203d3d3d20657874656e745b315d5b315d3b0a7d0a0a66756e6374696f6e20627275736853656c656374696f6e286e6f646529207b0a2020766172207374617465203d206e6f64652e5f5f62727573683b0a202072657475726e207374617465203f2073746174652e64696d2e6f75747075742873746174652e73656c656374696f6e29203a206e756c6c3b0a7d0a0a66756e6374696f6e206272757368582829207b0a202072657475726e20627275736824312858293b0a7d0a0a66756e6374696f6e206272757368592829207b0a202072657475726e20627275736824312859293b0a7d0a0a66756e6374696f6e2062727573682829207b0a202072657475726e2062727573682431285859293b0a7d0a0a66756e6374696f6e20627275736824312864696d29207b0a202076617220657874656e74203d2064656661756c74457874656e742c0a20202020202066696c746572203d2064656661756c7446696c74657224312c0a2020202020206c697374656e657273203d2064697370617463682862727573682c20227374617274222c20226272757368222c2022656e6422292c0a20202020202068616e646c6553697a65203d20362c0a202020202020746f756368656e64696e673b0a0a202066756e6374696f6e2062727573682867726f757029207b0a20202020766172206f7665726c6179203d2067726f75700a20202020202020202e70726f706572747928225f5f6272757368222c20696e697469616c697a65290a2020202020202e73656c656374416c6c28222e6f7665726c617922290a2020202020202e64617461285b7479706528226f7665726c617922295d293b0a0a202020206f7665726c61792e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c20226f7665726c617922290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e617474722822637572736f72222c20637572736f72732e6f7665726c6179290a2020202020202e6d65726765286f7665726c6179290a20202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202076617220657874656e74203d206c6f63616c24312874686973292e657874656e743b0a2020202020202020202073656c6563742874686973290a20202020202020202020202020202e61747472282278222c20657874656e745b305d5b305d290a20202020202020202020202020202e61747472282279222c20657874656e745b305d5b315d290a20202020202020202020202020202e6174747228227769647468222c20657874656e745b315d5b305d202d20657874656e745b305d5b305d290a20202020202020202020202020202e617474722822686569676874222c20657874656e745b315d5b315d202d20657874656e745b305d5b315d293b0a20202020202020207d293b0a0a2020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a2020202020202e64617461285b74797065282273656c656374696f6e22295d290a2020202020202e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c202273656c656374696f6e22290a20202020202020202e617474722822637572736f72222c20637572736f72732e73656c656374696f6e290a20202020202020202e61747472282266696c6c222c20222337373722290a20202020202020202e61747472282266696c6c2d6f706163697479222c20302e33290a20202020202020202e6174747228227374726f6b65222c20222366666622290a20202020202020202e61747472282273686170652d72656e646572696e67222c20226372697370456467657322293b0a0a202020207661722068616e646c65203d2067726f75702e73656c656374416c6c28222e68616e646c6522290a2020202020202e646174612864696d2e68616e646c65732c2066756e6374696f6e286429207b2072657475726e20642e747970653b207d293b0a0a2020202068616e646c652e6578697428292e72656d6f766528293b0a0a2020202068616e646c652e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c2066756e6374696f6e286429207b2072657475726e202268616e646c652068616e646c652d2d22202b20642e747970653b207d290a20202020202020202e617474722822637572736f72222c2066756e6374696f6e286429207b2072657475726e20637572736f72735b642e747970655d3b207d293b0a0a2020202067726f75700a20202020202020202e6561636828726564726177290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922290a20202020202020202e6f6e28226d6f757365646f776e2e627275736820746f75636873746172742e6272757368222c2073746172746564293b0a20207d0a0a202062727573682e6d6f7665203d2066756e6374696f6e2867726f75702c2073656c656374696f6e24243129207b0a202020206966202867726f75702e73656c656374696f6e29207b0a20202020202067726f75700a202020202020202020202e6f6e282273746172742e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e6265666f7265737461727428292e737461727428293b207d290a202020202020202020202e6f6e2822696e746572727570742e627275736820656e642e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e656e6428293b207d290a202020202020202020202e747765656e28226272757368222c2066756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292c0a2020202020202020202020202020202073656c656374696f6e30203d2073746174652e73656c656374696f6e2c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e242431203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2424312e6170706c7928746869732c20617267756d656e747329203a2073656c656374696f6e2424312c2073746174652e657874656e74292c0a2020202020202020202020202020202069203d20696e746572706f6c61746556616c75652873656c656374696f6e302c2073656c656374696f6e31293b0a0a20202020202020202020202066756e6374696f6e20747765656e287429207b0a202020202020202020202020202073746174652e73656c656374696f6e203d2074203d3d3d203120262620656d70747924312873656c656374696f6e3129203f206e756c6c203a20692874293b0a20202020202020202020202020207265647261772e63616c6c2874686174293b0a2020202020202020202020202020656d69742e627275736828293b0a2020202020202020202020207d0a0a20202020202020202020202072657475726e2073656c656374696f6e302026262073656c656374696f6e31203f20747765656e203a20747765656e2831293b0a202020202020202020207d293b0a202020207d20656c7365207b0a20202020202067726f75700a202020202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a2020202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e242431203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2424312e6170706c7928746861742c206172677329203a2073656c656374696f6e2424312c2073746174652e657874656e74292c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c2061726773292e6265666f7265737461727428293b0a0a202020202020202020202020696e746572727570742874686174293b0a20202020202020202020202073746174652e73656c656374696f6e203d2073656c656374696f6e31203d3d206e756c6c207c7c20656d70747924312873656c656374696f6e3129203f206e756c6c203a2073656c656374696f6e313b0a2020202020202020202020207265647261772e63616c6c2874686174293b0a202020202020202020202020656d69742e737461727428292e627275736828292e656e6428293b0a202020202020202020207d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e207265647261772829207b0a202020207661722067726f7570203d2073656c6563742874686973292c0a202020202020202073656c656374696f6e242431203d206c6f63616c24312874686973292e73656c656374696f6e3b0a0a202020206966202873656c656374696f6e24243129207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2073656c656374696f6e2424315b305d5b305d290a202020202020202020202e61747472282279222c2073656c656374696f6e2424315b305d5b315d290a202020202020202020202e6174747228227769647468222c2073656c656374696f6e2424315b315d5b305d202d2073656c656374696f6e2424315b305d5b305d290a202020202020202020202e617474722822686569676874222c2073656c656374696f6e2424315b315d5b315d202d2073656c656374696f6e2424315b305d5b315d293b0a0a20202020202067726f75702e73656c656374416c6c28222e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2066756e6374696f6e286429207b2072657475726e20642e747970655b642e747970652e6c656e677468202d20315d203d3d3d20226522203f2073656c656374696f6e2424315b315d5b305d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e2424315b305d5b305d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e61747472282279222c2066756e6374696f6e286429207b2072657475726e20642e747970655b305d203d3d3d20227322203f2073656c656374696f6e2424315b315d5b315d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e2424315b305d5b315d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e6174747228227769647468222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226e22207c7c20642e74797065203d3d3d20227322203f2073656c656374696f6e2424315b315d5b305d202d2073656c656374696f6e2424315b305d5b305d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d290a202020202020202020202e617474722822686569676874222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226522207c7c20642e74797065203d3d3d20227722203f2073656c656374696f6e2424315b315d5b315d202d2073656c656374696f6e2424315b305d5b315d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d293b0a202020207d0a0a20202020656c7365207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e2c2e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c20226e6f6e6522290a202020202020202020202e61747472282278222c206e756c6c290a202020202020202020202e61747472282279222c206e756c6c290a202020202020202020202e6174747228227769647468222c206e756c6c290a202020202020202020202e617474722822686569676874222c206e756c6c293b0a202020207d0a20207d0a0a202066756e6374696f6e20656d697474657228746861742c206172677329207b0a2020202072657475726e20746861742e5f5f62727573682e656d6974746572207c7c206e657720456d697474657228746861742c2061726773293b0a20207d0a0a202066756e6374696f6e20456d697474657228746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e7374617465203d20746861742e5f5f62727573683b0a20202020746869732e616374697665203d20303b0a20207d0a0a2020456d69747465722e70726f746f74797065203d207b0a202020206265666f726573746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d20312920746869732e73746174652e656d6974746572203d20746869732c20746869732e7374617274696e67203d20747275653b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202073746172743a2066756e6374696f6e2829207b0a20202020202069662028746869732e7374617274696e672920746869732e7374617274696e67203d2066616c73652c20746869732e656d69742822737461727422293b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202062727573683a2066756e6374696f6e2829207b0a202020202020746869732e656d69742822627275736822293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d2030292064656c65746520746869732e73746174652e656d69747465722c20746869732e656d69742822656e6422293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020637573746f6d4576656e74286e65772042727573684576656e742862727573682c20747970652c2064696d2e6f757470757428746869732e73746174652e73656c656374696f6e29292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20737461727465642829207b0a20202020696620286578706f7274732e6576656e742e746f756368657329207b20696620286578706f7274732e6576656e742e6368616e676564546f75636865732e6c656e677468203c206578706f7274732e6576656e742e746f75636865732e6c656e677468292072657475726e206e6f6576656e74243128293b207d0a20202020656c73652069662028746f756368656e64696e67292072657475726e3b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a0a202020207661722074686174203d20746869732c0a202020202020202074797065203d206578706f7274732e6576656e742e7461726765742e5f5f646174615f5f2e747970652c0a20202020202020206d6f6465203d20286578706f7274732e6576656e742e6d6574614b6579203f2074797065203d20226f7665726c617922203a207479706529203d3d3d202273656c656374696f6e22203f204d4f44455f44524147203a20286578706f7274732e6576656e742e616c744b6579203f204d4f44455f43454e544552203a204d4f44455f48414e444c45292c0a20202020202020207369676e58203d2064696d203d3d3d2059203f206e756c6c203a207369676e73585b747970655d2c0a20202020202020207369676e59203d2064696d203d3d3d2058203f206e756c6c203a207369676e73595b747970655d2c0a20202020202020207374617465203d206c6f63616c24312874686174292c0a2020202020202020657874656e74203d2073746174652e657874656e742c0a202020202020202073656c656374696f6e242431203d2073746174652e73656c656374696f6e2c0a202020202020202057203d20657874656e745b305d5b305d2c2077302c2077312c0a20202020202020204e203d20657874656e745b305d5b315d2c206e302c206e312c0a202020202020202045203d20657874656e745b315d5b305d2c2065302c2065312c0a202020202020202053203d20657874656e745b315d5b315d2c2073302c2073312c0a202020202020202064782c0a202020202020202064792c0a20202020202020206d6f76696e672c0a20202020202020207368696674696e67203d207369676e58202626207369676e59202626206578706f7274732e6576656e742e73686966744b65792c0a20202020202020206c6f636b582c0a20202020202020206c6f636b592c0a2020202020202020706f696e7430203d206d6f7573652874686174292c0a2020202020202020706f696e74242431203d20706f696e74302c0a2020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292e6265666f7265737461727428293b0a0a202020206966202874797065203d3d3d20226f7665726c61792229207b0a20202020202073746174652e73656c656374696f6e203d2073656c656374696f6e242431203d205b0a20202020202020205b7730203d2064696d203d3d3d2059203f2057203a20706f696e74305b305d2c206e30203d2064696d203d3d3d2058203f204e203a20706f696e74305b315d5d2c0a20202020202020205b6530203d2064696d203d3d3d2059203f2045203a2077302c207330203d2064696d203d3d3d2058203f2053203a206e305d0a2020202020205d3b0a202020207d20656c7365207b0a2020202020207730203d2073656c656374696f6e2424315b305d5b305d3b0a2020202020206e30203d2073656c656374696f6e2424315b305d5b315d3b0a2020202020206530203d2073656c656374696f6e2424315b315d5b305d3b0a2020202020207330203d2073656c656374696f6e2424315b315d5b315d3b0a202020207d0a0a202020207731203d2077303b0a202020206e31203d206e303b0a202020206531203d2065303b0a202020207331203d2073303b0a0a202020207661722067726f7570203d2073656c6563742874686174290a20202020202020202e617474722822706f696e7465722d6576656e7473222c20226e6f6e6522293b0a0a20202020766172206f7665726c6179203d2067726f75702e73656c656374416c6c28222e6f7665726c617922290a20202020202020202e617474722822637572736f72222c20637572736f72735b747970655d293b0a0a20202020696620286578706f7274732e6576656e742e746f756368657329207b0a20202020202067726f75700a202020202020202020202e6f6e2822746f7563686d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e2822746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c20656e6465642c2074727565293b0a202020207d20656c7365207b0a2020202020207661722076696577203d2073656c656374286578706f7274732e6576656e742e76696577290a202020202020202020202e6f6e28226b6579646f776e2e6272757368222c206b6579646f776e65642c2074727565290a202020202020202020202e6f6e28226b657975702e6272757368222c206b657975707065642c2074727565290a202020202020202020202e6f6e28226d6f7573656d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e28226d6f75736575702e6272757368222c20656e6465642c2074727565293b0a0a2020202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020207d0a0a202020206e6f70726f7061676174696f6e243128293b0a20202020696e746572727570742874686174293b0a202020207265647261772e63616c6c2874686174293b0a20202020656d69742e737461727428293b0a0a2020202066756e6374696f6e206d6f7665642829207b0a20202020202076617220706f696e7431203d206d6f7573652874686174293b0a202020202020696620287368696674696e6720262620216c6f636b5820262620216c6f636b5929207b0a2020202020202020696620284d6174682e61627328706f696e74315b305d202d20706f696e742424315b305d29203e204d6174682e61627328706f696e74315b315d202d20706f696e742424315b315d2929206c6f636b59203d20747275653b0a2020202020202020656c7365206c6f636b58203d20747275653b0a2020202020207d0a202020202020706f696e74242431203d20706f696e74313b0a2020202020206d6f76696e67203d20747275653b0a2020202020206e6f6576656e74243128293b0a2020202020206d6f766528293b0a202020207d0a0a2020202066756e6374696f6e206d6f76652829207b0a20202020202076617220743b0a0a2020202020206478203d20706f696e742424315b305d202d20706f696e74305b305d3b0a2020202020206479203d20706f696e742424315b315d202d20706f696e74305b315d3b0a0a20202020202073776974636820286d6f646529207b0a202020202020202063617365204d4f44455f53504143453a0a202020202020202063617365204d4f44455f445241473a207b0a20202020202020202020696620287369676e5829206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2065302c20647829292c207731203d207730202b2064782c206531203d206530202b2064783b0a20202020202020202020696620287369676e5929206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e30202b2064792c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f48414e444c453a207b0a20202020202020202020696620287369676e58203c203029206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2077302c20647829292c207731203d207730202b2064782c206531203d2065303b0a20202020202020202020656c736520696620287369676e58203e203029206478203d204d6174682e6d61782857202d2065302c204d6174682e6d696e2845202d2065302c20647829292c207731203d2077302c206531203d206530202b2064783b0a20202020202020202020696620287369676e59203c203029206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d206e302c20647929292c206e31203d206e30202b2064792c207331203d2073303b0a20202020202020202020656c736520696620287369676e59203e203029206479203d204d6174682e6d6178284e202d2073302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e302c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f43454e5445523a207b0a20202020202020202020696620287369676e5829207731203d204d6174682e6d617828572c204d6174682e6d696e28452c207730202d206478202a207369676e5829292c206531203d204d6174682e6d617828572c204d6174682e6d696e28452c206530202b206478202a207369676e5829293b0a20202020202020202020696620287369676e5929206e31203d204d6174682e6d6178284e2c204d6174682e6d696e28532c206e30202d206479202a207369676e5929292c207331203d204d6174682e6d6178284e2c204d6174682e6d696e28532c207330202b206479202a207369676e5929293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a0a202020202020696620286531203c20773129207b0a20202020202020207369676e58202a3d202d313b0a202020202020202074203d2077302c207730203d2065302c206530203d20743b0a202020202020202074203d2077312c207731203d2065312c206531203d20743b0a2020202020202020696620287479706520696e20666c69705829206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970585b747970655d5d293b0a2020202020207d0a0a202020202020696620287331203c206e3129207b0a20202020202020207369676e59202a3d202d313b0a202020202020202074203d206e302c206e30203d2073302c207330203d20743b0a202020202020202074203d206e312c206e31203d2073312c207331203d20743b0a2020202020202020696620287479706520696e20666c69705929206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970595b747970655d5d293b0a2020202020207d0a0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e242431203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f7665210a202020202020696620286c6f636b5829207731203d2073656c656374696f6e2424315b305d5b305d2c206531203d2073656c656374696f6e2424315b315d5b305d3b0a202020202020696620286c6f636b5929206e31203d2073656c656374696f6e2424315b305d5b315d2c207331203d2073656c656374696f6e2424315b315d5b315d3b0a0a2020202020206966202873656c656374696f6e2424315b305d5b305d20213d3d2077310a202020202020202020207c7c2073656c656374696f6e2424315b305d5b315d20213d3d206e310a202020202020202020207c7c2073656c656374696f6e2424315b315d5b305d20213d3d2065310a202020202020202020207c7c2073656c656374696f6e2424315b315d5b315d20213d3d20733129207b0a202020202020202073746174652e73656c656374696f6e203d205b5b77312c206e315d2c205b65312c2073315d5d3b0a20202020202020207265647261772e63616c6c2874686174293b0a2020202020202020656d69742e627275736828293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20656e6465642829207b0a2020202020206e6f70726f7061676174696f6e243128293b0a202020202020696620286578706f7274732e6576656e742e746f756368657329207b0a2020202020202020696620286578706f7274732e6576656e742e746f75636865732e6c656e677468292072657475726e3b0a202020202020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a2020202020202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a202020202020202067726f75702e6f6e2822746f7563686d6f76652e627275736820746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c206e756c6c293b0a2020202020207d20656c7365207b0a202020202020202079657364726167286578706f7274732e6576656e742e766965772c206d6f76696e67293b0a2020202020202020766965772e6f6e28226b6579646f776e2e6272757368206b657975702e6272757368206d6f7573656d6f76652e6272757368206d6f75736575702e6272757368222c206e756c6c293b0a2020202020207d0a20202020202067726f75702e617474722822706f696e7465722d6576656e7473222c2022616c6c22293b0a2020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e6f7665726c6179293b0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e242431203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f766520286f6e20737461727429210a20202020202069662028656d70747924312873656c656374696f6e24243129292073746174652e73656c656374696f6e203d206e756c6c2c207265647261772e63616c6c2874686174293b0a202020202020656d69742e656e6428293b0a202020207d0a0a2020202066756e6374696f6e206b6579646f776e65642829207b0a20202020202073776974636820286578706f7274732e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a202020202020202020207368696674696e67203d207369676e58202626207369676e593b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c4529207b0a202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a2020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143453b2074616b6573207072696f72697479206f76657220414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c45207c7c206d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d206531202d2064783b20656c736520696620287369676e58203e203029207730203d207731202d2064783b0a202020202020202020202020696620287369676e59203c203029207330203d207331202d2064793b20656c736520696620287369676e59203e203029206e30203d206e31202d2064793b0a2020202020202020202020206d6f6465203d204d4f44455f53504143453b0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e73656c656374696f6e293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e74243128293b0a202020207d0a0a2020202066756e6374696f6e206b657975707065642829207b0a20202020202073776974636820286578706f7274732e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a20202020202020202020696620287368696674696e6729207b0a2020202020202020202020206c6f636b58203d206c6f636b59203d207368696674696e67203d2066616c73653b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a2020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143450a20202020202020202020696620286d6f6465203d3d3d204d4f44455f535041434529207b0a202020202020202020202020696620286578706f7274732e6576656e742e616c744b657929207b0a2020202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a2020202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a20202020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a2020202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a20202020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020207d0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72735b747970655d293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e74243128293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a20202020766172207374617465203d20746869732e5f5f6272757368207c7c207b73656c656374696f6e3a206e756c6c7d3b0a2020202073746174652e657874656e74203d20657874656e742e6170706c7928746869732c20617267756d656e7473293b0a2020202073746174652e64696d203d2064696d3b0a2020202072657475726e2073746174653b0a20207d0a0a202062727573682e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742434285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c20627275736829203a20657874656e743b0a20207d3b0a0a202062727573682e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424342821215f292c20627275736829203a2066696c7465723b0a20207d3b0a0a202062727573682e68616e646c6553697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202868616e646c6553697a65203d202b5f2c20627275736829203a2068616e646c6553697a653b0a20207d3b0a0a202062727573682e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f206272757368203a2076616c75653b0a20207d3b0a0a202072657475726e2062727573683b0a7d0a0a76617220636f73203d204d6174682e636f733b0a7661722073696e203d204d6174682e73696e3b0a7661722070692431203d204d6174682e50493b0a7661722068616c6650692431203d2070692431202f20323b0a766172207461752431203d2070692431202a20323b0a766172206d61782431203d204d6174682e6d61783b0a0a66756e6374696f6e20636f6d7061726556616c756528636f6d7061726529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265280a202020202020612e736f757263652e76616c7565202b20612e7461726765742e76616c75652c0a202020202020622e736f757263652e76616c7565202b20622e7461726765742e76616c75650a20202020293b0a20207d3b0a7d0a0a66756e6374696f6e2063686f72642829207b0a202076617220706164416e676c65203d20302c0a202020202020736f727447726f757073203d206e756c6c2c0a202020202020736f727453756267726f757073203d206e756c6c2c0a202020202020736f727443686f726473203d206e756c6c3b0a0a202066756e6374696f6e2063686f7264286d617472697829207b0a20202020766172206e203d206d61747269782e6c656e6774682c0a202020202020202067726f757053756d73203d205b5d2c0a202020202020202067726f7570496e646578203d2073657175656e6365286e292c0a202020202020202073756267726f7570496e646578203d205b5d2c0a202020202020202063686f726473203d205b5d2c0a202020202020202067726f757073203d2063686f7264732e67726f757073203d206e6577204172726179286e292c0a202020202020202073756267726f757073203d206e6577204172726179286e202a206e292c0a20202020202020206b2c0a2020202020202020782c0a202020202020202078302c0a202020202020202064782c0a2020202020202020692c0a20202020202020206a3b0a0a202020202f2f20436f6d70757465207468652073756d2e0a202020206b203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a20202020202078203d20302c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a202020202020202078202b3d206d61747269785b695d5b6a5d3b0a2020202020207d0a20202020202067726f757053756d732e707573682878293b0a20202020202073756267726f7570496e6465782e707573682873657175656e6365286e29293b0a2020202020206b202b3d20783b0a202020207d0a0a202020202f2f20536f72742067726f757073e280a60a2020202069662028736f727447726f757073292067726f7570496e6465782e736f72742866756e6374696f6e28612c206229207b0a20202020202072657475726e20736f727447726f7570732867726f757053756d735b615d2c2067726f757053756d735b625d293b0a202020207d293b0a0a202020202f2f20536f72742073756267726f757073e280a60a2020202069662028736f727453756267726f757073292073756267726f7570496e6465782e666f72456163682866756e6374696f6e28642c206929207b0a202020202020642e736f72742866756e6374696f6e28612c206229207b0a202020202020202072657475726e20736f727453756267726f757073286d61747269785b695d5b615d2c206d61747269785b695d5b625d293b0a2020202020207d293b0a202020207d293b0a0a202020202f2f20436f6e76657274207468652073756d20746f207363616c696e6720666163746f7220666f72205b302c203270695d2e0a202020202f2f20544f444f20416c6c6f7720737461727420616e6420656e6420616e676c6520746f206265207370656369666965643f0a202020202f2f20544f444f20416c6c6f772070616464696e6720746f206265207370656369666965642061732070657263656e746167653f0a202020206b203d206d6178243128302c207461752431202d20706164416e676c65202a206e29202f206b3b0a202020206478203d206b203f20706164416e676c65203a207461752431202f206e3b0a0a202020202f2f20436f6d707574652074686520737461727420616e6420656e6420616e676c6520666f7220656163682067726f757020616e642073756267726f75702e0a202020202f2f204e6f74653a204f70657261206861732061206275672072656f72646572696e67206f626a656374206c69746572616c2070726f70657274696573210a2020202078203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020207830203d20782c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a2020202020202020766172206469203d2067726f7570496e6465785b695d2c0a202020202020202020202020646a203d2073756267726f7570496e6465785b64695d5b6a5d2c0a20202020202020202020202076203d206d61747269785b64695d5b646a5d2c0a2020202020202020202020206130203d20782c0a2020202020202020202020206131203d2078202b3d2076202a206b3b0a202020202020202073756267726f7570735b646a202a206e202b2064695d203d207b0a20202020202020202020696e6465783a2064692c0a20202020202020202020737562696e6465783a20646a2c0a202020202020202020207374617274416e676c653a2061302c0a20202020202020202020656e64416e676c653a2061312c0a2020202020202020202076616c75653a20760a20202020202020207d3b0a2020202020207d0a20202020202067726f7570735b64695d203d207b0a2020202020202020696e6465783a2064692c0a20202020202020207374617274416e676c653a2078302c0a2020202020202020656e64416e676c653a20782c0a202020202020202076616c75653a2067726f757053756d735b64695d0a2020202020207d3b0a20202020202078202b3d2064783b0a202020207d0a0a202020202f2f2047656e65726174652063686f72647320666f72206561636820286e6f6e2d656d707479292073756267726f75702d73756267726f7570206c696e6b2e0a2020202069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020206a203d2069202d20313b207768696c6520282b2b6a203c206e29207b0a202020202020202076617220736f75726365203d2073756267726f7570735b6a202a206e202b20695d2c0a202020202020202020202020746172676574203d2073756267726f7570735b69202a206e202b206a5d3b0a202020202020202069662028736f757263652e76616c7565207c7c207461726765742e76616c756529207b0a2020202020202020202063686f7264732e7075736828736f757263652e76616c7565203c207461726765742e76616c75650a20202020202020202020202020203f207b736f757263653a207461726765742c207461726765743a20736f757263657d0a20202020202020202020202020203a207b736f757263653a20736f757263652c207461726765743a207461726765747d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202072657475726e20736f727443686f726473203f2063686f7264732e736f727428736f727443686f72647329203a2063686f7264733b0a20207d0a0a202063686f72642e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d206d6178243128302c205f292c2063686f726429203a20706164416e676c653b0a20207d3b0a0a202063686f72642e736f727447726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727447726f757073203d205f2c2063686f726429203a20736f727447726f7570733b0a20207d3b0a0a202063686f72642e736f727453756267726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727453756267726f757073203d205f2c2063686f726429203a20736f727453756267726f7570733b0a20207d3b0a0a202063686f72642e736f727443686f726473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20736f727443686f726473203d206e756c6c203a2028736f727443686f726473203d20636f6d7061726556616c7565285f29292e5f203d205f2c2063686f726429203a20736f727443686f72647320262620736f727443686f7264732e5f3b0a20207d3b0a0a202072657475726e2063686f72643b0a7d0a0a76617220736c6963652432203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e20636f6e7374616e742435287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a7661722070692432203d204d6174682e50492c0a202020207461752432203d2032202a20706924322c0a20202020657073696c6f6e2431203d2031652d362c0a20202020746175457073696c6f6e203d207461752432202d20657073696c6f6e24313b0a0a66756e6374696f6e20506174682829207b0a2020746869732e5f7830203d20746869732e5f7930203d202f2f207374617274206f662063757272656e7420737562706174680a2020746869732e5f7831203d20746869732e5f7931203d206e756c6c3b202f2f20656e64206f662063757272656e7420737562706174680a2020746869732e5f203d2022223b0a7d0a0a66756e6374696f6e20706174682829207b0a202072657475726e206e657720506174683b0a7d0a0a506174682e70726f746f74797065203d20706174682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20506174682c0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b79293b0a20207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b0a2020202069662028746869732e5f783120213d3d206e756c6c29207b0a202020202020746869732e5f7831203d20746869732e5f78302c20746869732e5f7931203d20746869732e5f79303b0a202020202020746869732e5f202b3d20225a223b0a202020207d0a20207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a20207175616472617469634375727665546f3a2066756e6374696f6e2878312c2079312c20782c207929207b0a20202020746869732e5f202b3d20225122202b20282b783129202b20222c22202b20282b793129202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b0a20202020746869732e5f202b3d20224322202b20282b783129202b20222c22202b20282b793129202b20222c22202b20282b783229202b20222c22202b20282b793229202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a2020617263546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c207229207b0a202020207831203d202b78312c207931203d202b79312c207832203d202b78322c207932203d202b79322c2072203d202b723b0a20202020766172207830203d20746869732e5f78312c0a20202020202020207930203d20746869732e5f79312c0a2020202020202020783231203d207832202d2078312c0a2020202020202020793231203d207932202d2079312c0a2020202020202020783031203d207830202d2078312c0a2020202020202020793031203d207930202d2079312c0a20202020202020206c30315f32203d20783031202a20783031202b20793031202a207930313b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878312c7931292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f722c206973202878312c79312920636f696e636964656e742077697468202878302c7930293f20446f206e6f7468696e672e0a20202020656c7365206966202821286c30315f32203e20657073696c6f6e24312929207b7d0a0a202020202f2f204f722c20617265202878302c7930292c202878312c79312920616e64202878322c79322920636f6c6c696e6561723f0a202020202f2f204571756976616c656e746c792c206973202878312c79312920636f696e636964656e742077697468202878322c7932293f0a202020202f2f204f722c2069732074686520726164697573207a65726f3f204c696e6520746f202878312c7931292e0a20202020656c7365206966202821284d6174682e61627328793031202a20783231202d20793231202a2078303129203e20657073696c6f6e243129207c7c20217229207b0a202020202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f74686572776973652c206472617720616e20617263210a20202020656c7365207b0a20202020202076617220783230203d207832202d2078302c0a20202020202020202020793230203d207932202d2079302c0a202020202020202020206c32315f32203d20783231202a20783231202b20793231202a207932312c0a202020202020202020206c32305f32203d20783230202a20783230202b20793230202a207932302c0a202020202020202020206c3231203d204d6174682e73717274286c32315f32292c0a202020202020202020206c3031203d204d6174682e73717274286c30315f32292c0a202020202020202020206c203d2072202a204d6174682e74616e282870692432202d204d6174682e61636f7328286c32315f32202b206c30315f32202d206c32305f3229202f202832202a206c3231202a206c3031292929202f2032292c0a20202020202020202020743031203d206c202f206c30312c0a20202020202020202020743231203d206c202f206c32313b0a0a2020202020202f2f204966207468652073746172742074616e67656e74206973206e6f7420636f696e636964656e742077697468202878302c7930292c206c696e6520746f2e0a202020202020696620284d6174682e61627328743031202d203129203e20657073696c6f6e243129207b0a2020202020202020746869732e5f202b3d20224c22202b20287831202b20743031202a2078303129202b20222c22202b20287931202b20743031202a20793031293b0a2020202020207d0a0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c302c22202b20282b28793031202a20783230203e20783031202a207932302929202b20222c22202b2028746869732e5f7831203d207831202b20743231202a2078323129202b20222c22202b2028746869732e5f7931203d207931202b20743231202a20793231293b0a202020207d0a20207d2c0a20206172633a2066756e6374696f6e28782c20792c20722c2061302c2061312c2063637729207b0a2020202078203d202b782c2079203d202b792c2072203d202b723b0a20202020766172206478203d2072202a204d6174682e636f73286130292c0a20202020202020206479203d2072202a204d6174682e73696e286130292c0a20202020202020207830203d2078202b2064782c0a20202020202020207930203d2079202b2064792c0a20202020202020206377203d2031205e206363772c0a20202020202020206461203d20636377203f206130202d206131203a206131202d2061303b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878302c7930292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f204f722c206973202878302c793029206e6f7420636f696e636964656e742077697468207468652070726576696f757320706f696e743f204c696e6520746f202878302c7930292e0a20202020656c736520696620284d6174682e61627328746869732e5f7831202d20783029203e20657073696c6f6e2431207c7c204d6174682e61627328746869732e5f7931202d20793029203e20657073696c6f6e243129207b0a202020202020746869732e5f202b3d20224c22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f20497320746869732061726320656d7074793f205765e28099726520646f6e652e0a20202020696620282172292072657475726e3b0a0a202020202f2f20446f65732074686520616e676c6520676f207468652077726f6e67207761793f20466c69702074686520646972656374696f6e2e0a20202020696620286461203c203029206461203d2064612025207461752432202b2074617524323b0a0a202020202f2f2049732074686973206120636f6d706c65746520636972636c653f20447261772074776f206172637320746f20636f6d706c6574652074686520636972636c652e0a20202020696620286461203e20746175457073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b202878202d20647829202b20222c22202b202879202d20647929202b20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b2028746869732e5f7831203d20783029202b20222c22202b2028746869732e5f7931203d207930293b0a202020207d0a0a202020202f2f204973207468697320617263206e6f6e2d656d7074793f204472617720616e20617263210a20202020656c736520696620286461203e20657073696c6f6e243129207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c22202b20282b286461203e3d20706924322929202b20222c22202b206377202b20222c22202b2028746869732e5f7831203d2078202b2072202a204d6174682e636f732861312929202b20222c22202b2028746869732e5f7931203d2079202b2072202a204d6174682e73696e28613129293b0a202020207d0a20207d2c0a2020726563743a2066756e6374696f6e28782c20792c20772c206829207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b7929202b20226822202b20282b7729202b20227622202b20282b6829202b20226822202b20282d7729202b20225a223b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a66756e6374696f6e2064656661756c74536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e2064656661756c74546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e20642e7261646975733b0a7d0a0a66756e6374696f6e2064656661756c745374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e2064656661756c74456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20726962626f6e2829207b0a202076617220736f75726365203d2064656661756c74536f757263652c0a202020202020746172676574203d2064656661756c745461726765742c0a202020202020726164697573203d2064656661756c745261646975732c0a2020202020207374617274416e676c65203d2064656661756c745374617274416e676c652c0a202020202020656e64416e676c65203d2064656661756c74456e64416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e20726962626f6e2829207b0a20202020766172206275666665722c0a202020202020202061726776203d20736c69636524322e63616c6c28617267756d656e7473292c0a202020202020202073203d20736f757263652e6170706c7928746869732c2061726776292c0a202020202020202074203d207461726765742e6170706c7928746869732c2061726776292c0a20202020202020207372203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c0a2020202020202020736130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020736131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020737830203d207372202a20636f7328736130292c0a2020202020202020737930203d207372202a2073696e28736130292c0a20202020202020207472203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c0a2020202020202020746130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020746131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c66506924313b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a0a20202020636f6e746578742e6d6f7665546f287378302c20737930293b0a20202020636f6e746578742e61726328302c20302c2073722c207361302c20736131293b0a202020206966202873613020213d3d20746130207c7c2073613120213d3d2074613129207b202f2f20544f444f20737220213d3d2074723f0a202020202020636f6e746578742e7175616472617469634375727665546f28302c20302c207472202a20636f7328746130292c207472202a2073696e2874613029293b0a202020202020636f6e746578742e61726328302c20302c2074722c207461302c20746131293b0a202020207d0a20202020636f6e746578742e7175616472617469634375727665546f28302c20302c207378302c20737930293b0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a2020726962626f6e2e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a207261646975733b0a20207d3b0a0a2020726962626f6e2e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a207374617274416e676c653b0a20207d3b0a0a2020726962626f6e2e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a20656e64416e676c653b0a20207d3b0a0a2020726962626f6e2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c20726962626f6e29203a20736f757263653b0a20207d3b0a0a2020726962626f6e2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c20726962626f6e29203a207461726765743b0a20207d3b0a0a2020726962626f6e2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c20726962626f6e29203a20636f6e746578743b0a20207d3b0a0a202072657475726e20726962626f6e3b0a7d0a0a76617220707265666978203d202224223b0a0a66756e6374696f6e204d61702829207b7d0a0a4d61702e70726f746f74797065203d206d617024312e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204d61702c0a20206861733a2066756e6374696f6e286b657929207b0a2020202072657475726e2028707265666978202b206b65792920696e20746869733b0a20207d2c0a20206765743a2066756e6374696f6e286b657929207b0a2020202072657475726e20746869735b707265666978202b206b65795d3b0a20207d2c0a20207365743a2066756e6374696f6e286b65792c2076616c756529207b0a20202020746869735b707265666978202b206b65795d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286b657929207b0a202020207661722070726f7065727479203d20707265666978202b206b65793b0a2020202072657475726e2070726f706572747920696e20746869732026262064656c65746520746869735b70726f70657274795d3b0a20207d2c0a2020636c6561723a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292064656c65746520746869735b70726f70657274795d3b0a20207d2c0a20206b6579733a2066756e6374696f6e2829207b0a20202020766172206b657973203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206b6579732e707573682870726f70657274792e736c696365283129293b0a2020202072657475726e206b6579733b0a20207d2c0a202076616c7565733a2066756e6374696f6e2829207b0a202020207661722076616c756573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292076616c7565732e7075736828746869735b70726f70657274795d293b0a2020202072657475726e2076616c7565733b0a20207d2c0a2020656e74726965733a2066756e6374696f6e2829207b0a2020202076617220656e7472696573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d207072656669782920656e74726965732e70757368287b6b65793a2070726f70657274792e736c6963652831292c2076616c75653a20746869735b70726f70657274795d7d293b0a2020202072657475726e20656e74726965733b0a20207d2c0a202073697a653a2066756e6374696f6e2829207b0a202020207661722073697a65203d20303b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829202b2b73697a653b0a2020202072657475726e2073697a653b0a20207d2c0a2020656d7074793a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d2c0a2020656163683a2066756e6374696f6e286629207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206628746869735b70726f70657274795d2c2070726f70657274792e736c6963652831292c2074686973293b0a20207d0a7d3b0a0a66756e6374696f6e206d61702431286f626a6563742c206629207b0a2020766172206d6170203d206e6577204d61703b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f66204d617029206f626a6563742e656163682866756e6374696f6e2876616c75652c206b657929207b206d61702e736574286b65792c2076616c7565293b207d293b0a0a20202f2f20496e646578206172726179206279206e756d6572696320696e646578206f7220737065636966696564206b65792066756e6374696f6e2e0a2020656c7365206966202841727261792e69734172726179286f626a6563742929207b0a202020207661722069203d202d312c0a20202020202020206e203d206f626a6563742e6c656e6774682c0a20202020202020206f3b0a0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29206d61702e73657428692c206f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29206d61702e7365742866286f203d206f626a6563745b695d2c20692c206f626a656374292c206f293b0a20207d0a0a20202f2f20436f6e76657274206f626a65637420746f206d61702e0a2020656c736520696620286f626a6563742920666f722028766172206b657920696e206f626a65637429206d61702e736574286b65792c206f626a6563745b6b65795d293b0a0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e206e6573742829207b0a2020766172206b657973203d205b5d2c0a202020202020736f72744b657973203d205b5d2c0a202020202020736f727456616c7565732c0a202020202020726f6c6c75702c0a2020202020206e6573743b0a0a202066756e6374696f6e206170706c792861727261792c2064657074682c20637265617465526573756c742c20736574526573756c7429207b0a20202020696620286465707468203e3d206b6579732e6c656e67746829207b0a20202020202069662028736f727456616c75657320213d206e756c6c292061727261792e736f727428736f727456616c756573293b0a20202020202072657475726e20726f6c6c757020213d206e756c6c203f20726f6c6c757028617272617929203a2061727261793b0a202020207d0a0a202020207661722069203d202d312c0a20202020202020206e203d2061727261792e6c656e6774682c0a20202020202020206b6579203d206b6579735b64657074682b2b5d2c0a20202020202020206b657956616c75652c0a202020202020202076616c75652c0a202020202020202076616c75657342794b6579203d206d6170243128292c0a202020202020202076616c7565732c0a2020202020202020726573756c74203d20637265617465526573756c7428293b0a0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c756573203d2076616c75657342794b65792e676574286b657956616c7565203d206b65792876616c7565203d2061727261795b695d29202b2022222929207b0a202020202020202076616c7565732e707573682876616c7565293b0a2020202020207d20656c7365207b0a202020202020202076616c75657342794b65792e736574286b657956616c75652c205b76616c75655d293b0a2020202020207d0a202020207d0a0a2020202076616c75657342794b65792e656163682866756e6374696f6e2876616c7565732c206b657929207b0a202020202020736574526573756c7428726573756c742c206b65792c206170706c792876616c7565732c2064657074682c20637265617465526573756c742c20736574526573756c7429293b0a202020207d293b0a0a2020202072657475726e20726573756c743b0a20207d0a0a202066756e6374696f6e20656e7472696573286d61702c20646570746829207b0a20202020696620282b2b6465707468203e206b6579732e6c656e677468292072657475726e206d61703b0a202020207661722061727261792c20736f72744b6579203d20736f72744b6579735b6465707468202d20315d3b0a2020202069662028726f6c6c757020213d206e756c6c202626206465707468203e3d206b6579732e6c656e67746829206172726179203d206d61702e656e747269657328293b0a20202020656c7365206172726179203d205b5d2c206d61702e656163682866756e6374696f6e28762c206b29207b2061727261792e70757368287b6b65793a206b2c2076616c7565733a20656e747269657328762c206465707468297d293b207d293b0a2020202072657475726e20736f72744b657920213d206e756c6c203f2061727261792e736f72742866756e6374696f6e28612c206229207b2072657475726e20736f72744b657928612e6b65792c20622e6b6579293b207d29203a2061727261793b0a20207d0a0a202072657475726e206e657374203d207b0a202020206f626a6563743a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654f626a6563742c207365744f626a656374293b207d2c0a202020206d61703a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654d61702c207365744d6170293b207d2c0a20202020656e74726965733a2066756e6374696f6e28617272617929207b2072657475726e20656e7472696573286170706c792861727261792c20302c206372656174654d61702c207365744d6170292c2030293b207d2c0a202020206b65793a2066756e6374696f6e286429207b206b6579732e707573682864293b2072657475726e206e6573743b207d2c0a20202020736f72744b6579733a2066756e6374696f6e286f7264657229207b20736f72744b6579735b6b6579732e6c656e677468202d20315d203d206f726465723b2072657475726e206e6573743b207d2c0a20202020736f727456616c7565733a2066756e6374696f6e286f7264657229207b20736f727456616c756573203d206f726465723b2072657475726e206e6573743b207d2c0a20202020726f6c6c75703a2066756e6374696f6e286629207b20726f6c6c7570203d20663b2072657475726e206e6573743b207d0a20207d3b0a7d0a0a66756e6374696f6e206372656174654f626a6563742829207b0a202072657475726e207b7d3b0a7d0a0a66756e6374696f6e207365744f626a656374286f626a6563742c206b65792c2076616c756529207b0a20206f626a6563745b6b65795d203d2076616c75653b0a7d0a0a66756e6374696f6e206372656174654d61702829207b0a202072657475726e206d6170243128293b0a7d0a0a66756e6374696f6e207365744d6170286d61702c206b65792c2076616c756529207b0a20206d61702e736574286b65792c2076616c7565293b0a7d0a0a66756e6374696f6e205365742829207b7d0a0a7661722070726f746f203d206d617024312e70726f746f747970653b0a0a5365742e70726f746f74797065203d2073657424322e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205365742c0a20206861733a2070726f746f2e6861732c0a20206164643a2066756e6374696f6e2876616c756529207b0a2020202076616c7565202b3d2022223b0a20202020746869735b707265666978202b2076616c75655d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2070726f746f2e72656d6f76652c0a2020636c6561723a2070726f746f2e636c6561722c0a202076616c7565733a2070726f746f2e6b6579732c0a202073697a653a2070726f746f2e73697a652c0a2020656d7074793a2070726f746f2e656d7074792c0a2020656163683a2070726f746f2e656163680a7d3b0a0a66756e6374696f6e207365742432286f626a6563742c206629207b0a202076617220736574203d206e6577205365743b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f662053657429206f626a6563742e656163682866756e6374696f6e2876616c756529207b207365742e6164642876616c7565293b207d293b0a0a20202f2f204f74686572776973652c20617373756d65206974e280997320616e2061727261792e0a2020656c736520696620286f626a65637429207b0a202020207661722069203d202d312c206e203d206f626a6563742e6c656e6774683b0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29207365742e616464286f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29207365742e6164642866286f626a6563745b695d2c20692c206f626a65637429293b0a20207d0a0a202072657475726e207365743b0a7d0a0a66756e6374696f6e206b657973286d617029207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206d617029206b6579732e70757368286b6579293b0a202072657475726e206b6579733b0a7d0a0a66756e6374696f6e2076616c756573286d617029207b0a20207661722076616c756573203d205b5d3b0a2020666f722028766172206b657920696e206d6170292076616c7565732e70757368286d61705b6b65795d293b0a202072657475726e2076616c7565733b0a7d0a0a66756e6374696f6e20656e7472696573286d617029207b0a202076617220656e7472696573203d205b5d3b0a2020666f722028766172206b657920696e206d61702920656e74726965732e70757368287b6b65793a206b65792c2076616c75653a206d61705b6b65795d7d293b0a202072657475726e20656e74726965733b0a7d0a0a7661722061727261792432203d2041727261792e70726f746f747970653b0a0a76617220736c6963652433203d20617272617924322e736c6963653b0a0a66756e6374696f6e20617363656e64696e67243228612c206229207b0a202072657475726e2061202d20623b0a7d0a0a66756e6374696f6e20617265612872696e6729207b0a20207661722069203d20302c206e203d2072696e672e6c656e6774682c2061726561203d2072696e675b6e202d20315d5b315d202a2072696e675b305d5b305d202d2072696e675b6e202d20315d5b305d202a2072696e675b305d5b315d3b0a20207768696c6520282b2b69203c206e292061726561202b3d2072696e675b69202d20315d5b315d202a2072696e675b695d5b305d202d2072696e675b69202d20315d5b305d202a2072696e675b695d5b315d3b0a202072657475726e20617265613b0a7d0a0a66756e6374696f6e20636f6e7374616e742436287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e7461696e732872696e672c20686f6c6529207b0a20207661722069203d202d312c206e203d20686f6c652e6c656e6774682c20633b0a20207768696c6520282b2b69203c206e29206966202863203d2072696e67436f6e7461696e732872696e672c20686f6c655b695d29292072657475726e20633b0a202072657475726e20303b0a7d0a0a66756e6374696f6e2072696e67436f6e7461696e732872696e672c20706f696e7429207b0a20207661722078203d20706f696e745b305d2c2079203d20706f696e745b315d2c20636f6e7461696e73203d202d313b0a2020666f7220287661722069203d20302c206e203d2072696e672e6c656e6774682c206a203d206e202d20313b2069203c206e3b206a203d20692b2b29207b0a20202020766172207069203d2072696e675b695d2c207869203d2070695b305d2c207969203d2070695b315d2c20706a203d2072696e675b6a5d2c20786a203d20706a5b305d2c20796a203d20706a5b315d3b0a20202020696620287365676d656e74436f6e7461696e732870692c20706a2c20706f696e7429292072657475726e20303b0a202020206966202828287969203e20792920213d3d2028796a203e2079292920262620282878203c2028786a202d20786929202a202879202d20796929202f2028796a202d20796929202b20786929292920636f6e7461696e73203d202d636f6e7461696e733b0a20207d0a202072657475726e20636f6e7461696e733b0a7d0a0a66756e6374696f6e207365676d656e74436f6e7461696e7328612c20622c206329207b0a202076617220693b2072657475726e20636f6c6c696e65617228612c20622c2063292026262077697468696e28615b69203d202b28615b305d203d3d3d20625b305d295d2c20635b695d2c20625b695d293b0a7d0a0a66756e6374696f6e20636f6c6c696e65617228612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29203d3d3d2028635b305d202d20615b305d29202a2028625b315d202d20615b315d293b0a7d0a0a66756e6374696f6e2077697468696e28702c20712c207229207b0a202072657475726e2070203c3d20712026262071203c3d2072207c7c2072203c3d20712026262071203c3d20703b0a7d0a0a66756e6374696f6e206e6f6f7024312829207b7d0a0a766172206361736573203d205b0a20205b5d2c0a20205b5b5b312e302c20312e355d2c205b302e352c20312e305d5d5d2c0a20205b5b5b312e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e352c20312e305d2c205b302e352c20312e305d5d5d2c0a20205b5b5b312e302c20302e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20312e355d2c205b302e352c20312e305d5d2c205b5b312e302c20302e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20302e355d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e302c20302e355d2c205b302e352c20312e305d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20302e355d5d5d2c0a20205b5b5b312e302c20312e355d2c205b312e302c20302e355d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20302e355d5d2c205b5b312e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e352c20312e305d2c205b312e302c20302e355d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20312e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5d0a5d3b0a0a66756e6374696f6e20636f6e746f7572732829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a2020202020207468726573686f6c64242431203d207468726573686f6c64537475726765732c0a202020202020736d6f6f7468203d20736d6f6f74684c696e6561723b0a0a202066756e6374696f6e20636f6e746f7572732876616c75657329207b0a2020202076617220747a203d207468726573686f6c642424312876616c756573293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a20202020202076617220646f6d61696e203d20657874656e742876616c756573292c207374617274203d20646f6d61696e5b305d2c2073746f70203d20646f6d61696e5b315d3b0a202020202020747a203d207469636b537465702873746172742c2073746f702c20747a293b0a202020202020747a203d2073657175656e6365284d6174682e666c6f6f72287374617274202f20747a29202a20747a2c204d6174682e666c6f6f722873746f70202f20747a29202a20747a2c20747a293b0a202020207d20656c7365207b0a202020202020747a203d20747a2e736c69636528292e736f727428617363656e64696e672432293b0a202020207d0a0a2020202072657475726e20747a2e6d61702866756e6374696f6e2876616c756529207b0a20202020202072657475726e20636f6e746f75722876616c7565732c2076616c7565293b0a202020207d293b0a20207d0a0a20202f2f20416363756d756c6174652c20736d6f6f746820636f6e746f75722072696e67732c2061737369676e20686f6c657320746f206578746572696f722072696e67732e0a20202f2f204261736564206f6e2068747470733a2f2f6769746875622e636f6d2f6d626f73746f636b2f736861706566696c652f626c6f622f76302e362e322f7368702f706f6c79676f6e2e6a730a202066756e6374696f6e20636f6e746f75722876616c7565732c2076616c756529207b0a2020202076617220706f6c79676f6e73203d205b5d2c0a2020202020202020686f6c6573203d205b5d3b0a0a2020202069736f72696e67732876616c7565732c2076616c75652c2066756e6374696f6e2872696e6729207b0a202020202020736d6f6f74682872696e672c2076616c7565732c2076616c7565293b0a20202020202069662028617265612872696e6729203e20302920706f6c79676f6e732e70757368285b72696e675d293b0a202020202020656c736520686f6c65732e707573682872696e67293b0a202020207d293b0a0a20202020686f6c65732e666f72456163682866756e6374696f6e28686f6c6529207b0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e732e6c656e6774682c20706f6c79676f6e3b2069203c206e3b202b2b6929207b0a202020202020202069662028636f6e7461696e732828706f6c79676f6e203d20706f6c79676f6e735b695d295b305d2c20686f6c652920213d3d202d3129207b0a20202020202020202020706f6c79676f6e2e7075736828686f6c65293b0a2020202020202020202072657475726e3b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e207b0a202020202020747970653a20224d756c7469506f6c79676f6e222c0a20202020202076616c75653a2076616c75652c0a202020202020636f6f7264696e617465733a20706f6c79676f6e730a202020207d3b0a20207d0a0a20202f2f204d61726368696e67207371756172657320776974682069736f6c696e657320737469746368656420696e746f2072696e67732e0a20202f2f204261736564206f6e2068747470733a2f2f6769746875622e636f6d2f746f706f6a736f6e2f746f706f6a736f6e2d636c69656e742f626c6f622f76332e302e302f7372632f7374697463682e6a730a202066756e6374696f6e2069736f72696e67732876616c7565732c2076616c75652c2063616c6c6261636b29207b0a2020202076617220667261676d656e7442795374617274203d206e65772041727261792c0a2020202020202020667261676d656e744279456e64203d206e65772041727261792c0a2020202020202020782c20792c2074302c2074312c2074322c2074333b0a0a202020202f2f205370656369616c206361736520666f722074686520666972737420726f77202879203d202d312c207432203d207433203d2030292e0a2020202078203d2079203d202d313b0a202020207431203d2076616c7565735b305d203e3d2076616c75653b0a2020202063617365735b7431203c3c20315d2e666f724561636828737469746368293b0a202020207768696c6520282b2b78203c206478202d203129207b0a2020202020207430203d2074312c207431203d2076616c7565735b78202b20315d203e3d2076616c75653b0a20202020202063617365735b7430207c207431203c3c20315d2e666f724561636828737469746368293b0a202020207d0a2020202063617365735b7431203c3c20305d2e666f724561636828737469746368293b0a0a202020202f2f2047656e6572616c206361736520666f722074686520696e7465726d65646961746520726f77732e0a202020207768696c6520282b2b79203c206479202d203129207b0a20202020202078203d202d313b0a2020202020207431203d2076616c7565735b79202a206478202b2064785d203e3d2076616c75653b0a2020202020207432203d2076616c7565735b79202a2064785d203e3d2076616c75653b0a20202020202063617365735b7431203c3c2031207c207432203c3c20325d2e666f724561636828737469746368293b0a2020202020207768696c6520282b2b78203c206478202d203129207b0a20202020202020207430203d2074312c207431203d2076616c7565735b79202a206478202b206478202b2078202b20315d203e3d2076616c75653b0a20202020202020207433203d2074322c207432203d2076616c7565735b79202a206478202b2078202b20315d203e3d2076616c75653b0a202020202020202063617365735b7430207c207431203c3c2031207c207432203c3c2032207c207433203c3c20335d2e666f724561636828737469746368293b0a2020202020207d0a20202020202063617365735b7431207c207432203c3c20335d2e666f724561636828737469746368293b0a202020207d0a0a202020202f2f205370656369616c206361736520666f7220746865206c61737420726f77202879203d206479202d20312c207430203d207431203d2030292e0a2020202078203d202d313b0a202020207432203d2076616c7565735b79202a2064785d203e3d2076616c75653b0a2020202063617365735b7432203c3c20325d2e666f724561636828737469746368293b0a202020207768696c6520282b2b78203c206478202d203129207b0a2020202020207433203d2074322c207432203d2076616c7565735b79202a206478202b2078202b20315d203e3d2076616c75653b0a20202020202063617365735b7432203c3c2032207c207433203c3c20335d2e666f724561636828737469746368293b0a202020207d0a2020202063617365735b7432203c3c20335d2e666f724561636828737469746368293b0a0a2020202066756e6374696f6e20737469746368286c696e6529207b0a202020202020766172207374617274203d205b6c696e655b305d5b305d202b20782c206c696e655b305d5b315d202b20795d2c0a20202020202020202020656e64203d205b6c696e655b315d5b305d202b20782c206c696e655b315d5b315d202b20795d2c0a202020202020202020207374617274496e646578203d20696e646578287374617274292c0a20202020202020202020656e64496e646578203d20696e64657828656e64292c0a20202020202020202020662c20673b0a2020202020206966202866203d20667261676d656e744279456e645b7374617274496e6465785d29207b0a20202020202020206966202867203d20667261676d656e74427953746172745b656e64496e6465785d29207b0a2020202020202020202064656c65746520667261676d656e744279456e645b662e656e645d3b0a2020202020202020202064656c65746520667261676d656e74427953746172745b672e73746172745d3b0a202020202020202020206966202866203d3d3d206729207b0a202020202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020202063616c6c6261636b28662e72696e67293b0a202020202020202020207d20656c7365207b0a202020202020202020202020667261676d656e74427953746172745b662e73746172745d203d20667261676d656e744279456e645b672e656e645d203d207b73746172743a20662e73746172742c20656e643a20672e656e642c2072696e673a20662e72696e672e636f6e63617428672e72696e67297d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202064656c65746520667261676d656e744279456e645b662e656e645d3b0a20202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020667261676d656e744279456e645b662e656e64203d20656e64496e6465785d203d20663b0a20202020202020207d0a2020202020207d20656c7365206966202866203d20667261676d656e74427953746172745b656e64496e6465785d29207b0a20202020202020206966202867203d20667261676d656e744279456e645b7374617274496e6465785d29207b0a2020202020202020202064656c65746520667261676d656e74427953746172745b662e73746172745d3b0a2020202020202020202064656c65746520667261676d656e744279456e645b672e656e645d3b0a202020202020202020206966202866203d3d3d206729207b0a202020202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020202063616c6c6261636b28662e72696e67293b0a202020202020202020207d20656c7365207b0a202020202020202020202020667261676d656e74427953746172745b672e73746172745d203d20667261676d656e744279456e645b662e656e645d203d207b73746172743a20672e73746172742c20656e643a20662e656e642c2072696e673a20672e72696e672e636f6e63617428662e72696e67297d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202064656c65746520667261676d656e74427953746172745b662e73746172745d3b0a20202020202020202020662e72696e672e756e7368696674287374617274293b0a20202020202020202020667261676d656e74427953746172745b662e7374617274203d207374617274496e6465785d203d20663b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020667261676d656e74427953746172745b7374617274496e6465785d203d20667261676d656e744279456e645b656e64496e6465785d203d207b73746172743a207374617274496e6465782c20656e643a20656e64496e6465782c2072696e673a205b73746172742c20656e645d7d3b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e64657828706f696e7429207b0a2020202072657475726e20706f696e745b305d202a2032202b20706f696e745b315d202a20286478202b203129202a20343b0a20207d0a0a202066756e6374696f6e20736d6f6f74684c696e6561722872696e672c2076616c7565732c2076616c756529207b0a2020202072696e672e666f72456163682866756e6374696f6e28706f696e7429207b0a2020202020207661722078203d20706f696e745b305d2c0a2020202020202020202079203d20706f696e745b315d2c0a202020202020202020207874203d2078207c20302c0a202020202020202020207974203d2079207c20302c0a2020202020202020202076302c0a202020202020202020207631203d2076616c7565735b7974202a206478202b2078745d3b0a2020202020206966202878203e20302026262078203c206478202626207874203d3d3d207829207b0a20202020202020207630203d2076616c7565735b7974202a206478202b207874202d20315d3b0a2020202020202020706f696e745b305d203d2078202b202876616c7565202d20763029202f20287631202d20763029202d20302e353b0a2020202020207d0a2020202020206966202879203e20302026262079203c206479202626207974203d3d3d207929207b0a20202020202020207630203d2076616c7565735b287974202d203129202a206478202b2078745d3b0a2020202020202020706f696e745b315d203d2079202b202876616c7565202d20763029202f20287631202d20763029202d20302e353b0a2020202020207d0a202020207d293b0a20207d0a0a2020636f6e746f7572732e636f6e746f7572203d20636f6e746f75723b0a0a2020636f6e746f7572732e73697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a20202020766172205f30203d204d6174682e6365696c285f5b305d292c205f31203d204d6174682e6365696c285f5b315d293b0a202020206966202821285f30203e203029207c7c2021285f31203e20302929207468726f77206e6577204572726f722822696e76616c69642073697a6522293b0a2020202072657475726e206478203d205f302c206479203d205f312c20636f6e746f7572733b0a20207d3b0a0a2020636f6e746f7572732e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e74243628736c69636524332e63616c6c285f2929203a20636f6e7374616e742436285f292c20636f6e746f75727329203a207468726573686f6c642424313b0a20207d3b0a0a2020636f6e746f7572732e736d6f6f7468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736d6f6f7468203d205f203f20736d6f6f74684c696e656172203a206e6f6f7024312c20636f6e746f75727329203a20736d6f6f7468203d3d3d20736d6f6f74684c696e6561723b0a20207d3b0a0a202072657475726e20636f6e746f7572733b0a7d0a0a2f2f20544f444f204f7074696d697a6520656467652063617365732e0a2f2f20544f444f204f7074696d697a6520696e6465782063616c63756c6174696f6e2e0a2f2f20544f444f204f7074696d697a6520617267756d656e74732e0a66756e6374696f6e20626c75725828736f757263652c207461726765742c207229207b0a2020766172206e203d20736f757263652e77696474682c0a2020202020206d203d20736f757263652e6865696768742c0a20202020202077203d202872203c3c203129202b20313b0a2020666f722028766172206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207372203d20303b2069203c206e202b20723b202b2b6929207b0a2020202020206966202869203c206e29207b0a20202020202020207372202b3d20736f757263652e646174615b69202b206a202a206e5d3b0a2020202020207d0a2020202020206966202869203e3d207229207b0a20202020202020206966202869203e3d207729207b0a202020202020202020207372202d3d20736f757263652e646174615b69202d2077202b206a202a206e5d3b0a20202020202020207d0a20202020202020207461726765742e646174615b69202d2072202b206a202a206e5d203d207372202f204d6174682e6d696e2869202b20312c206e202d2031202b2077202d20692c2077293b0a2020202020207d0a202020207d0a20207d0a7d0a0a2f2f20544f444f204f7074696d697a6520656467652063617365732e0a2f2f20544f444f204f7074696d697a6520696e6465782063616c63756c6174696f6e2e0a2f2f20544f444f204f7074696d697a6520617267756d656e74732e0a66756e6374696f6e20626c75725928736f757263652c207461726765742c207229207b0a2020766172206e203d20736f757263652e77696474682c0a2020202020206d203d20736f757263652e6865696768742c0a20202020202077203d202872203c3c203129202b20313b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a20202020666f722028766172206a203d20302c207372203d20303b206a203c206d202b20723b202b2b6a29207b0a202020202020696620286a203c206d29207b0a20202020202020207372202b3d20736f757263652e646174615b69202b206a202a206e5d3b0a2020202020207d0a202020202020696620286a203e3d207229207b0a2020202020202020696620286a203e3d207729207b0a202020202020202020207372202d3d20736f757263652e646174615b69202b20286a202d207729202a206e5d3b0a20202020202020207d0a20202020202020207461726765742e646174615b69202b20286a202d207229202a206e5d203d207372202f204d6174682e6d696e286a202b20312c206d202d2031202b2077202d206a2c2077293b0a2020202020207d0a202020207d0a20207d0a7d0a0a66756e6374696f6e2064656661756c7458286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e2064656661756c7459286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e2064656e736974792829207b0a20207661722078203d2064656661756c74582c0a20202020202079203d2064656661756c74592c0a2020202020206478203d203936302c0a2020202020206479203d203530302c0a20202020202072203d2032302c202f2f20626c7572207261646975730a2020202020206b203d20322c202f2f206c6f673228677269642063656c6c2073697a65290a2020202020206f203d2072202a20332c202f2f2067726964206f66667365742c20746f2070616420666f7220626c75720a2020202020206e203d20286478202b206f202a203229203e3e206b2c202f2f20677269642077696474680a2020202020206d203d20286479202b206f202a203229203e3e206b2c202f2f2067726964206865696768740a2020202020207468726573686f6c64242431203d20636f6e7374616e742436283230293b0a0a202066756e6374696f6e2064656e73697479286461746129207b0a202020207661722076616c75657330203d206e657720466c6f617433324172726179286e202a206d292c0a202020202020202076616c75657331203d206e657720466c6f617433324172726179286e202a206d293b0a0a20202020646174612e666f72456163682866756e6374696f6e28642c20692c206461746129207b0a202020202020766172207869203d20287828642c20692c206461746129202b206f29203e3e206b2c0a202020202020202020207969203d20287928642c20692c206461746129202b206f29203e3e206b3b0a202020202020696620287869203e3d2030202626207869203c206e202626207969203e3d2030202626207969203c206d29207b0a20202020202020202b2b76616c756573305b7869202b207969202a206e5d3b0a2020202020207d0a202020207d293b0a0a202020202f2f20544f444f204f7074696d697a652e0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a0a2020202076617220747a203d207468726573686f6c642424312876616c75657330293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a2020202020207661722073746f70203d206d61782876616c75657330293b0a202020202020747a203d207469636b5374657028302c2073746f702c20747a293b0a202020202020747a203d2073657175656e636528302c204d6174682e666c6f6f722873746f70202f20747a29202a20747a2c20747a293b0a202020202020747a2e736869667428293b0a202020207d0a0a2020202072657475726e20636f6e746f75727328290a20202020202020202e7468726573686f6c647328747a290a20202020202020202e73697a65285b6e2c206d5d290a2020202020202876616c75657330290a20202020202020202e6d6170287472616e73666f726d293b0a20207d0a0a202066756e6374696f6e207472616e73666f726d2867656f6d6574727929207b0a2020202067656f6d657472792e76616c7565202a3d204d6174682e706f7728322c202d32202a206b293b202f2f2044656e7369747920696e20706f696e7473207065722073717561726520706978656c2e0a2020202067656f6d657472792e636f6f7264696e617465732e666f7245616368287472616e73666f726d506f6c79676f6e293b0a2020202072657475726e2067656f6d657472793b0a20207d0a0a202066756e6374696f6e207472616e73666f726d506f6c79676f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e617465732e666f7245616368287472616e73666f726d52696e67293b0a20207d0a0a202066756e6374696f6e207472616e73666f726d52696e6728636f6f7264696e6174657329207b0a20202020636f6f7264696e617465732e666f7245616368287472616e73666f726d506f696e74293b0a20207d0a0a20202f2f20544f444f204f7074696d697a652e0a202066756e6374696f6e207472616e73666f726d506f696e7428636f6f7264696e6174657329207b0a20202020636f6f7264696e617465735b305d203d20636f6f7264696e617465735b305d202a204d6174682e706f7728322c206b29202d206f3b0a20202020636f6f7264696e617465735b315d203d20636f6f7264696e617465735b315d202a204d6174682e706f7728322c206b29202d206f3b0a20207d0a0a202066756e6374696f6e20726573697a652829207b0a202020206f203d2072202a20333b0a202020206e203d20286478202b206f202a203229203e3e206b3b0a202020206d203d20286479202b206f202a203229203e3e206b3b0a2020202072657475726e2064656e736974793b0a20207d0a0a202064656e736974792e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742436282b5f292c2064656e7369747929203a20783b0a20207d3b0a0a202064656e736974792e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742436282b5f292c2064656e7369747929203a20793b0a20207d3b0a0a202064656e736974792e73697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a20202020766172205f30203d204d6174682e6365696c285f5b305d292c205f31203d204d6174682e6365696c285f5b315d293b0a202020206966202821285f30203e3d2030292026262021285f30203e3d20302929207468726f77206e6577204572726f722822696e76616c69642073697a6522293b0a2020202072657475726e206478203d205f302c206479203d205f312c20726573697a6528293b0a20207d3b0a0a202064656e736974792e63656c6c53697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e2031203c3c206b3b0a20202020696620282128285f203d202b5f29203e3d20312929207468726f77206e6577204572726f722822696e76616c69642063656c6c2073697a6522293b0a2020202072657475726e206b203d204d6174682e666c6f6f72284d6174682e6c6f67285f29202f204d6174682e4c4e32292c20726573697a6528293b0a20207d3b0a0a202064656e736974792e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e74243628736c69636524332e63616c6c285f2929203a20636f6e7374616e742436285f292c2064656e7369747929203a207468726573686f6c642424313b0a20207d3b0a0a202064656e736974792e62616e647769647468203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e204d6174682e737172742872202a202872202b203129293b0a20202020696620282128285f203d202b5f29203e3d20302929207468726f77206e6577204572726f722822696e76616c69642062616e64776964746822293b0a2020202072657475726e2072203d204d6174682e726f756e6428284d6174682e737172742834202a205f202a205f202b203129202d203129202f2032292c20726573697a6528293b0a20207d3b0a0a202072657475726e2064656e736974793b0a7d0a0a76617220454f4c203d207b7d2c0a20202020454f46203d207b7d2c0a2020202051554f5445203d2033342c0a202020204e45574c494e45203d2031302c0a2020202052455455524e203d2031333b0a0a66756e6374696f6e206f626a656374436f6e76657274657228636f6c756d6e7329207b0a202072657475726e206e65772046756e6374696f6e282264222c202272657475726e207b22202b20636f6c756d6e732e6d61702866756e6374696f6e286e616d652c206929207b0a2020202072657475726e204a534f4e2e737472696e67696679286e616d6529202b20223a20645b22202b2069202b20225d223b0a20207d292e6a6f696e28222c2229202b20227d22293b0a7d0a0a66756e6374696f6e20637573746f6d436f6e76657274657228636f6c756d6e732c206629207b0a2020766172206f626a656374203d206f626a656374436f6e76657274657228636f6c756d6e73293b0a202072657475726e2066756e6374696f6e28726f772c206929207b0a2020202072657475726e2066286f626a65637428726f77292c20692c20636f6c756d6e73293b0a20207d3b0a7d0a0a2f2f20436f6d7075746520756e6971756520636f6c756d6e7320696e206f72646572206f6620646973636f766572792e0a66756e6374696f6e20696e666572436f6c756d6e7328726f777329207b0a202076617220636f6c756d6e536574203d204f626a6563742e637265617465286e756c6c292c0a202020202020636f6c756d6e73203d205b5d3b0a0a2020726f77732e666f72456163682866756e6374696f6e28726f7729207b0a20202020666f72202876617220636f6c756d6e20696e20726f7729207b0a202020202020696620282128636f6c756d6e20696e20636f6c756d6e5365742929207b0a2020202020202020636f6c756d6e732e7075736828636f6c756d6e5365745b636f6c756d6e5d203d20636f6c756d6e293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20636f6c756d6e733b0a7d0a0a66756e6374696f6e20647376466f726d61742864656c696d6974657229207b0a2020766172207265466f726d6174203d206e65772052656745787028225b5c2222202b2064656c696d69746572202b20225c6e5c725d22292c0a20202020202044454c494d49544552203d2064656c696d697465722e63686172436f646541742830293b0a0a202066756e6374696f6e20706172736528746578742c206629207b0a2020202076617220636f6e766572742c20636f6c756d6e732c20726f7773203d207061727365526f777328746578742c2066756e6374696f6e28726f772c206929207b0a20202020202069662028636f6e76657274292072657475726e20636f6e7665727428726f772c2069202d2031293b0a202020202020636f6c756d6e73203d20726f772c20636f6e76657274203d2066203f20637573746f6d436f6e76657274657228726f772c206629203a206f626a656374436f6e76657274657228726f77293b0a202020207d293b0a20202020726f77732e636f6c756d6e73203d20636f6c756d6e73207c7c205b5d3b0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e207061727365526f777328746578742c206629207b0a2020202076617220726f7773203d205b5d2c202f2f206f757470757420726f77730a20202020202020204e203d20746578742e6c656e6774682c0a202020202020202049203d20302c202f2f2063757272656e742063686172616374657220696e6465780a20202020202020206e203d20302c202f2f2063757272656e74206c696e65206e756d6265720a2020202020202020742c202f2f2063757272656e7420746f6b656e0a2020202020202020656f66203d204e203c3d20302c202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f463f0a2020202020202020656f6c203d2066616c73653b202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f4c3f0a0a202020202f2f2053747269702074686520747261696c696e67206e65776c696e652e0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d204e45574c494e4529202d2d4e3b0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d2052455455524e29202d2d4e3b0a0a2020202066756e6374696f6e20746f6b656e2829207b0a20202020202069662028656f66292072657475726e20454f463b0a20202020202069662028656f6c292072657475726e20656f6c203d2066616c73652c20454f4c3b0a0a2020202020202f2f20556e6573636170652071756f7465732e0a20202020202076617220692c206a203d20492c20633b0a20202020202069662028746578742e63686172436f64654174286a29203d3d3d2051554f544529207b0a20202020202020207768696c652028492b2b203c204e20262620746578742e63686172436f6465417428492920213d3d2051554f5445207c7c20746578742e63686172436f64654174282b2b4929203d3d3d2051554f5445293b0a2020202020202020696620282869203d204929203e3d204e2920656f66203d20747275653b0a2020202020202020656c736520696620282863203d20746578742e63686172436f6465417428492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a202020202020202072657475726e20746578742e736c696365286a202b20312c2069202d2031292e7265706c616365282f22222f672c20225c2222293b0a2020202020207d0a0a2020202020202f2f2046696e64206e6578742064656c696d69746572206f72206e65776c696e652e0a2020202020207768696c65202849203c204e29207b0a2020202020202020696620282863203d20746578742e63686172436f646541742869203d20492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a2020202020202020656c736520696620286320213d3d2044454c494d495445522920636f6e74696e75653b0a202020202020202072657475726e20746578742e736c696365286a2c2069293b0a2020202020207d0a0a2020202020202f2f2052657475726e206c61737420746f6b656e206265666f726520454f462e0a20202020202072657475726e20656f66203d20747275652c20746578742e736c696365286a2c204e293b0a202020207d0a0a202020207768696c6520282874203d20746f6b656e28292920213d3d20454f4629207b0a20202020202076617220726f77203d205b5d3b0a2020202020207768696c6520287420213d3d20454f4c202626207420213d3d20454f462920726f772e707573682874292c2074203d20746f6b656e28293b0a20202020202069662028662026262028726f77203d206628726f772c206e2b2b2929203d3d206e756c6c2920636f6e74696e75653b0a202020202020726f77732e7075736828726f77293b0a202020207d0a0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e20666f726d617428726f77732c20636f6c756d6e7329207b0a2020202069662028636f6c756d6e73203d3d206e756c6c2920636f6c756d6e73203d20696e666572436f6c756d6e7328726f7773293b0a2020202072657475726e205b636f6c756d6e732e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572295d2e636f6e63617428726f77732e6d61702866756e6374696f6e28726f7729207b0a20202020202072657475726e20636f6c756d6e732e6d61702866756e6374696f6e28636f6c756d6e29207b0a202020202020202072657475726e20666f726d617456616c756528726f775b636f6c756d6e5d293b0a2020202020207d292e6a6f696e2864656c696d69746572293b0a202020207d29292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f777328726f777329207b0a2020202072657475726e20726f77732e6d617028666f726d6174526f77292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f7728726f7729207b0a2020202072657475726e20726f772e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572293b0a20207d0a0a202066756e6374696f6e20666f726d617456616c7565287465787429207b0a2020202072657475726e2074657874203d3d206e756c6c203f2022220a20202020202020203a207265466f726d61742e746573742874657874202b3d20222229203f20225c2222202b20746578742e7265706c616365282f222f672c20225c225c222229202b20225c22220a20202020202020203a20746578743b0a20207d0a0a202072657475726e207b0a2020202070617273653a2070617273652c0a202020207061727365526f77733a207061727365526f77732c0a20202020666f726d61743a20666f726d61742c0a20202020666f726d6174526f77733a20666f726d6174526f77730a20207d3b0a7d0a0a76617220637376203d20647376466f726d617428222c22293b0a0a766172206373765061727365203d206373762e70617273653b0a766172206373765061727365526f7773203d206373762e7061727365526f77733b0a76617220637376466f726d6174203d206373762e666f726d61743b0a76617220637376466f726d6174526f7773203d206373762e666f726d6174526f77733b0a0a76617220747376203d20647376466f726d617428225c7422293b0a0a766172207473765061727365203d207473762e70617273653b0a766172207473765061727365526f7773203d207473762e7061727365526f77733b0a76617220747376466f726d6174203d207473762e666f726d61743b0a76617220747376466f726d6174526f7773203d207473762e666f726d6174526f77733b0a0a66756e6374696f6e20726573706f6e7365426c6f6228726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e626c6f6228293b0a7d0a0a66756e6374696f6e20626c6f6228696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e7365426c6f62293b0a7d0a0a66756e6374696f6e20726573706f6e7365417272617942756666657228726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e617272617942756666657228293b0a7d0a0a66756e6374696f6e2062756666657228696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e73654172726179427566666572293b0a7d0a0a66756e6374696f6e20726573706f6e73655465787428726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e7465787428293b0a7d0a0a66756e6374696f6e207465787428696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e736554657874293b0a7d0a0a66756e6374696f6e20647376506172736528706172736529207b0a202072657475726e2066756e6374696f6e28696e7075742c20696e69742c20726f7729207b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203220262620747970656f6620696e6974203d3d3d202266756e6374696f6e222920726f77203d20696e69742c20696e6974203d20756e646566696e65643b0a2020202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e28726573706f6e736529207b0a20202020202072657475726e20706172736528726573706f6e73652c20726f77293b0a202020207d293b0a20207d3b0a7d0a0a66756e6374696f6e206473762864656c696d697465722c20696e7075742c20696e69742c20726f7729207b0a202069662028617267756d656e74732e6c656e677468203d3d3d203320262620747970656f6620696e6974203d3d3d202266756e6374696f6e222920726f77203d20696e69742c20696e6974203d20756e646566696e65643b0a202076617220666f726d6174203d20647376466f726d61742864656c696d69746572293b0a202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e28726573706f6e736529207b0a2020202072657475726e20666f726d61742e706172736528726573706f6e73652c20726f77293b0a20207d293b0a7d0a0a766172206373762431203d206473765061727365286373765061727365293b0a766172207473762431203d206473765061727365287473765061727365293b0a0a66756e6374696f6e20696d61676528696e7075742c20696e697429207b0a202072657475726e206e65772050726f6d6973652866756e6374696f6e287265736f6c76652c2072656a65637429207b0a2020202076617220696d616765203d206e657720496d6167653b0a20202020666f722028766172206b657920696e20696e69742920696d6167655b6b65795d203d20696e69745b6b65795d3b0a20202020696d6167652e6f6e6572726f72203d2072656a6563743b0a20202020696d6167652e6f6e6c6f6164203d2066756e6374696f6e2829207b207265736f6c766528696d616765293b207d3b0a20202020696d6167652e737263203d20696e7075743b0a20207d293b0a7d0a0a66756e6374696f6e20726573706f6e73654a736f6e28726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e6a736f6e28293b0a7d0a0a66756e6374696f6e206a736f6e28696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e73654a736f6e293b0a7d0a0a66756e6374696f6e20706172736572287479706529207b0a202072657475726e2066756e6374696f6e28696e7075742c20696e69742920207b0a2020202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e287465787424243129207b0a20202020202072657475726e20286e657720444f4d506172736572292e706172736546726f6d537472696e6728746578742424312c2074797065293b0a202020207d293b0a20207d3b0a7d0a0a76617220786d6c203d2070617273657228226170706c69636174696f6e2f786d6c22293b0a0a7661722068746d6c203d207061727365722822746578742f68746d6c22293b0a0a76617220737667203d207061727365722822696d6167652f7376672b786d6c22293b0a0a66756e6374696f6e2063656e746572243128782c207929207b0a2020766172206e6f6465733b0a0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206e6f64652c0a20202020202020207378203d20302c0a20202020202020207379203d20303b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c207378202b3d206e6f64652e782c207379202b3d206e6f64652e793b0a202020207d0a0a20202020666f7220287378203d207378202f206e202d20782c207379203d207379202f206e202d20792c2069203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e78202d3d2073782c206e6f64652e79202d3d2073793b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20636f6e7374616e742437287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206a6967676c652829207b0a202072657475726e20284d6174682e72616e646f6d2829202d20302e3529202a2031652d363b0a7d0a0a66756e6374696f6e20747265655f616464286429207b0a20207661722078203d202b746869732e5f782e63616c6c286e756c6c2c2064292c0a20202020202079203d202b746869732e5f792e63616c6c286e756c6c2c2064293b0a202072657475726e2061646428746869732e636f76657228782c2079292c20782c20792c2064293b0a7d0a0a66756e6374696f6e2061646428747265652c20782c20792c206429207b0a20206966202869734e614e287829207c7c2069734e614e287929292072657475726e20747265653b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20747265652e5f726f6f742c0a2020202020206c656166203d207b646174613a20647d2c0a2020202020207830203d20747265652e5f78302c0a2020202020207930203d20747265652e5f79302c0a2020202020207831203d20747265652e5f78312c0a2020202020207931203d20747265652e5f79312c0a202020202020786d2c0a202020202020796d2c0a20202020202078702c0a20202020202079702c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f2046696e6420746865206578697374696e67206c65616620666f7220746865206e657720706f696e742c206f72206164642069742e0a20207768696c6520286e6f64652e6c656e67746829207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a2020202069662028706172656e74203d206e6f64652c2021286e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20706172656e745b695d203d206c6561662c20747265653b0a20207d0a0a20202f2f20497320746865206e657720706f696e742069732065786163746c7920636f696e636964656e74207769746820746865206578697374696e6720706f696e743f0a20207870203d202b747265652e5f782e63616c6c286e756c6c2c206e6f64652e64617461293b0a20207970203d202b747265652e5f792e63616c6c286e756c6c2c206e6f64652e64617461293b0a20206966202878203d3d3d2078702026262079203d3d3d207970292072657475726e206c6561662e6e657874203d206e6f64652c20706172656e74203f20706172656e745b695d203d206c656166203a20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f204f74686572776973652c2073706c697420746865206c656166206e6f646520756e74696c20746865206f6c6420616e64206e657720706f696e7420617265207365706172617465642e0a2020646f207b0a20202020706172656e74203d20706172656e74203f20706172656e745b695d203d206e6577204172726179283429203a20747265652e5f726f6f74203d206e65772041727261792834293b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20207d207768696c6520282869203d20626f74746f6d203c3c2031207c20726967687429203d3d3d20286a203d20287970203e3d20796d29203c3c2031207c20287870203e3d20786d2929293b0a202072657475726e20706172656e745b6a5d203d206e6f64652c20706172656e745b695d203d206c6561662c20747265653b0a7d0a0a66756e6374696f6e20616464416c6c286461746129207b0a202076617220642c20692c206e203d20646174612e6c656e6774682c0a202020202020782c0a202020202020792c0a202020202020787a203d206e6577204172726179286e292c0a202020202020797a203d206e6577204172726179286e292c0a2020202020207830203d20496e66696e6974792c0a2020202020207930203d20496e66696e6974792c0a2020202020207831203d202d496e66696e6974792c0a2020202020207931203d202d496e66696e6974793b0a0a20202f2f20436f6d707574652074686520706f696e747320616e6420746865697220657874656e742e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c2064203d20646174615b695d2929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c206429292920636f6e74696e75653b0a20202020787a5b695d203d20783b0a20202020797a5b695d203d20793b0a202020206966202878203c20783029207830203d20783b0a202020206966202878203e20783129207831203d20783b0a202020206966202879203c20793029207930203d20793b0a202020206966202879203e20793129207931203d20793b0a20207d0a0a20202f2f2049662074686572652077657265206e6f202876616c69642920706f696e74732c20696e686572697420746865206578697374696e6720657874656e742e0a2020696620287831203c20783029207830203d20746869732e5f78302c207831203d20746869732e5f78313b0a2020696620287931203c20793029207930203d20746869732e5f79302c207931203d20746869732e5f79313b0a0a20202f2f20457870616e6420746865207472656520746f20636f76657220746865206e657720706f696e74732e0a2020746869732e636f7665722878302c207930292e636f7665722878312c207931293b0a0a20202f2f2041646420746865206e657720706f696e74732e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202061646428746869732c20787a5b695d2c20797a5b695d2c20646174615b695d293b0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f636f76657228782c207929207b0a20206966202869734e614e2878203d202b7829207c7c2069734e614e2879203d202b7929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a2020766172207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79313b0a0a20202f2f2049662074686520717561647472656520686173206e6f20657874656e742c20696e697469616c697a65207468656d2e0a20202f2f20496e746567657220657874656e7420617265206e656365737361727920736f2074686174206966207765206c6174657220646f75626c652074686520657874656e742c0a20202f2f20746865206578697374696e67207175616472616e7420626f756e64617269657320646f6ee2809974206368616e67652064756520746f20666c6f6174696e6720706f696e74206572726f72210a20206966202869734e614e2878302929207b0a202020207831203d20287830203d204d6174682e666c6f6f7228782929202b20313b0a202020207931203d20287930203d204d6174682e666c6f6f7228792929202b20313b0a20207d0a0a20202f2f204f74686572776973652c20646f75626c652072657065617465646c7920746f20636f7665722e0a2020656c736520696620287830203e2078207c7c2078203e207831207c7c207930203e2079207c7c2079203e20793129207b0a20202020766172207a203d207831202d2078302c0a20202020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020202020706172656e742c0a2020202020202020693b0a0a20202020737769746368202869203d202879203c20287930202b20793129202f203229203c3c2031207c202878203c20287830202b20783129202f20322929207b0a2020202020206361736520303a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207931203d207930202b207a2c2078203e207831207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207931203d207930202b207a2c207830203e2078207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207930203d207931202d207a2c2078203e207831207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207930203d207931202d207a2c207830203e2078207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f726f6f7420262620746869732e5f726f6f742e6c656e6774682920746869732e5f726f6f74203d206e6f64653b0a20207d0a0a20202f2f2049662074686520717561647472656520636f766572732074686520706f696e7420616c72656164792c206a7573742072657475726e2e0a2020656c73652072657475726e20746869733b0a0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f646174612829207b0a20207661722064617461203d205b5d3b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f20646174612e70757368286e6f64652e64617461293b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e20646174613b0a7d0a0a66756e6374696f6e20747265655f657874656e74285f29207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e636f766572282b5f5b305d5b305d2c202b5f5b305d5b315d292e636f766572282b5f5b315d5b305d2c202b5f5b315d5b315d290a2020202020203a2069734e614e28746869732e5f783029203f20756e646566696e6564203a205b5b746869732e5f78302c20746869732e5f79305d2c205b746869732e5f78312c20746869732e5f79315d5d3b0a7d0a0a66756e6374696f6e2051756164286e6f64652c2078302c2079302c2078312c20793129207b0a2020746869732e6e6f6465203d206e6f64653b0a2020746869732e7830203d2078303b0a2020746869732e7930203d2079303b0a2020746869732e7831203d2078313b0a2020746869732e7931203d2079313b0a7d0a0a66756e6374696f6e20747265655f66696e6428782c20792c2072616469757329207b0a202076617220646174612c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a20202020202078312c0a20202020202079312c0a20202020202078322c0a20202020202079322c0a2020202020207833203d20746869732e5f78312c0a2020202020207933203d20746869732e5f79312c0a2020202020207175616473203d205b5d2c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a202020202020712c0a202020202020693b0a0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c2078302c2079302c2078332c20793329293b0a202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a2020656c7365207b0a202020207830203d2078202d207261646975732c207930203d2079202d207261646975733b0a202020207833203d2078202b207261646975732c207933203d2079202b207261646975733b0a20202020726164697573202a3d207261646975733b0a20207d0a0a20207768696c65202871203d2071756164732e706f70282929207b0a0a202020202f2f2053746f7020736561726368696e672069662074686973207175616472616e742063616ee280997420636f6e7461696e206120636c6f736572206e6f64652e0a202020206966202821286e6f6465203d20712e6e6f6465290a20202020202020207c7c20287831203d20712e783029203e2078330a20202020202020207c7c20287931203d20712e793029203e2079330a20202020202020207c7c20287832203d20712e783129203c2078300a20202020202020207c7c20287932203d20712e793129203c2079302920636f6e74696e75653b0a0a202020202f2f20426973656374207468652063757272656e74207175616472616e742e0a20202020696620286e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287831202b20783229202f20322c0a20202020202020202020796d203d20287931202b20793229202f20323b0a0a20202020202071756164732e70757368280a20202020202020206e65772051756164286e6f64655b335d2c20786d2c20796d2c2078322c207932292c0a20202020202020206e65772051756164286e6f64655b325d2c2078312c20796d2c20786d2c207932292c0a20202020202020206e65772051756164286e6f64655b315d2c20786d2c2079312c2078322c20796d292c0a20202020202020206e65772051756164286e6f64655b305d2c2078312c2079312c20786d2c20796d290a202020202020293b0a0a2020202020202f2f2056697369742074686520636c6f73657374207175616472616e742066697273742e0a2020202020206966202869203d202879203e3d20796d29203c3c2031207c202878203e3d20786d2929207b0a202020202020202071203d2071756164735b71756164732e6c656e677468202d20315d3b0a202020202020202071756164735b71756164732e6c656e677468202d20315d203d2071756164735b71756164732e6c656e677468202d2031202d20695d3b0a202020202020202071756164735b71756164732e6c656e677468202d2031202d20695d203d20713b0a2020202020207d0a202020207d0a0a202020202f2f205669736974207468697320706f696e742e20285669736974696e6720636f696e636964656e7420706f696e74732069736ee2809974206e656365737361727921290a20202020656c7365207b0a202020202020766172206478203d2078202d202b746869732e5f782e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206479203d2079202d202b746869732e5f792e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206432203d206478202a206478202b206479202a2064793b0a202020202020696620286432203c2072616469757329207b0a20202020202020207661722064203d204d6174682e7371727428726164697573203d206432293b0a20202020202020207830203d2078202d20642c207930203d2079202d20643b0a20202020202020207833203d2078202b20642c207933203d2079202b20643b0a202020202020202064617461203d206e6f64652e646174613b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20646174613b0a7d0a0a66756e6374696f6e20747265655f72656d6f7665286429207b0a20206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c20642929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c20642929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a20202020202072657461696e65722c0a20202020202070726576696f75732c0a2020202020206e6578742c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79312c0a202020202020782c0a202020202020792c0a202020202020786d2c0a202020202020796d2c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20746869733b0a0a20202f2f2046696e6420746865206c656166206e6f646520666f722074686520706f696e742e0a20202f2f205768696c652064657363656e64696e672c20616c736f2072657461696e20746865206465657065737420706172656e7420776974682061206e6f6e2d72656d6f766564207369626c696e672e0a2020696620286e6f64652e6c656e67746829207768696c6520287472756529207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20202020696620282128706172656e74203d206e6f64652c206e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20746869733b0a2020202069662028216e6f64652e6c656e6774682920627265616b3b0a2020202069662028706172656e745b2869202b203129202620335d207c7c20706172656e745b2869202b203229202620335d207c7c20706172656e745b2869202b203329202620335d292072657461696e6572203d20706172656e742c206a203d20693b0a20207d0a0a20202f2f2046696e642074686520706f696e7420746f2072656d6f76652e0a20207768696c6520286e6f64652e6461746120213d3d2064292069662028212870726576696f7573203d206e6f64652c206e6f6465203d206e6f64652e6e65787429292072657475726e20746869733b0a2020696620286e657874203d206e6f64652e6e657874292064656c657465206e6f64652e6e6578743b0a0a20202f2f20496620746865726520617265206d756c7469706c6520636f696e636964656e7420706f696e74732c2072656d6f7665206a7573742074686520706f696e742e0a20206966202870726576696f7573292072657475726e206e657874203f2070726576696f75732e6e657874203d206e657874203a2064656c6574652070726576696f75732e6e6578742c20746869733b0a0a20202f2f20496620746869732069732074686520726f6f7420706f696e742c2072656d6f76652069742e0a20206966202821706172656e74292072657475726e20746869732e5f726f6f74203d206e6578742c20746869733b0a0a20202f2f2052656d6f76652074686973206c6561662e0a20206e657874203f20706172656e745b695d203d206e657874203a2064656c65746520706172656e745b695d3b0a0a20202f2f2049662074686520706172656e74206e6f7720636f6e7461696e732065786163746c79206f6e65206c6561662c20636f6c6c61707365207375706572666c756f757320706172656e74732e0a202069662028286e6f6465203d20706172656e745b305d207c7c20706172656e745b315d207c7c20706172656e745b325d207c7c20706172656e745b335d290a2020202020202626206e6f6465203d3d3d2028706172656e745b335d207c7c20706172656e745b325d207c7c20706172656e745b315d207c7c20706172656e745b305d290a202020202020262620216e6f64652e6c656e67746829207b0a202020206966202872657461696e6572292072657461696e65725b6a5d203d206e6f64653b0a20202020656c736520746869732e5f726f6f74203d206e6f64653b0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2072656d6f7665416c6c286461746129207b0a2020666f7220287661722069203d20302c206e203d20646174612e6c656e6774683b2069203c206e3b202b2b692920746869732e72656d6f766528646174615b695d293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f726f6f742829207b0a202072657475726e20746869732e5f726f6f743b0a7d0a0a66756e6374696f6e20747265655f73697a652829207b0a20207661722073697a65203d20303b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f202b2b73697a653b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e2073697a653b0a7d0a0a66756e6374696f6e20747265655f76697369742863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c20712c206e6f6465203d20746869732e5f726f6f742c206368696c642c2078302c2079302c2078312c2079313b0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020696620282163616c6c6261636b286e6f6465203d20712e6e6f64652c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e793129202626206e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f766973697441667465722863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c206e657874203d205b5d2c20713b0a202069662028746869732e5f726f6f74292071756164732e70757368286e6577205175616428746869732e5f726f6f742c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020766172206e6f6465203d20712e6e6f64653b0a20202020696620286e6f64652e6c656e67746829207b0a202020202020766172206368696c642c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e79312c20786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020207d0a202020206e6578742e707573682871293b0a20207d0a20207768696c65202871203d206e6578742e706f70282929207b0a2020202063616c6c6261636b28712e6e6f64652c20712e78302c20712e79302c20712e78312c20712e7931293b0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74582431286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e20747265655f78285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f78203d205f2c207468697329203a20746869732e5f783b0a7d0a0a66756e6374696f6e2064656661756c74592431286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20747265655f79285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f79203d205f2c207468697329203a20746869732e5f793b0a7d0a0a66756e6374696f6e207175616474726565286e6f6465732c20782c207929207b0a20207661722074726565203d206e65772051756164747265652878203d3d206e756c6c203f2064656661756c74582431203a20782c2079203d3d206e756c6c203f2064656661756c74592431203a20792c204e614e2c204e614e2c204e614e2c204e614e293b0a202072657475726e206e6f646573203d3d206e756c6c203f2074726565203a20747265652e616464416c6c286e6f646573293b0a7d0a0a66756e6374696f6e20517561647472656528782c20792c2078302c2079302c2078312c20793129207b0a2020746869732e5f78203d20783b0a2020746869732e5f79203d20793b0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a2020746869732e5f726f6f74203d20756e646566696e65643b0a7d0a0a66756e6374696f6e206c6561665f636f7079286c65616629207b0a202076617220636f7079203d207b646174613a206c6561662e646174617d2c206e657874203d20636f70793b0a20207768696c6520286c656166203d206c6561662e6e65787429206e657874203d206e6578742e6e657874203d207b646174613a206c6561662e646174617d3b0a202072657475726e20636f70793b0a7d0a0a766172207472656550726f746f203d2071756164747265652e70726f746f74797065203d2051756164747265652e70726f746f747970653b0a0a7472656550726f746f2e636f7079203d2066756e6374696f6e2829207b0a202076617220636f7079203d206e657720517561647472656528746869732e5f782c20746869732e5f792c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f7931292c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020206e6f6465732c0a2020202020206368696c643b0a0a202069662028216e6f6465292072657475726e20636f70793b0a0a202069662028216e6f64652e6c656e677468292072657475726e20636f70792e5f726f6f74203d206c6561665f636f7079286e6f6465292c20636f70793b0a0a20206e6f646573203d205b7b736f757263653a206e6f64652c207461726765743a20636f70792e5f726f6f74203d206e65772041727261792834297d5d3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020666f7220287661722069203d20303b2069203c20343b202b2b6929207b0a202020202020696620286368696c64203d206e6f64652e736f757263655b695d29207b0a2020202020202020696620286368696c642e6c656e67746829206e6f6465732e70757368287b736f757263653a206368696c642c207461726765743a206e6f64652e7461726765745b695d203d206e65772041727261792834297d293b0a2020202020202020656c7365206e6f64652e7461726765745b695d203d206c6561665f636f7079286368696c64293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a7472656550726f746f2e616464203d20747265655f6164643b0a7472656550726f746f2e616464416c6c203d20616464416c6c3b0a7472656550726f746f2e636f766572203d20747265655f636f7665723b0a7472656550726f746f2e64617461203d20747265655f646174613b0a7472656550726f746f2e657874656e74203d20747265655f657874656e743b0a7472656550726f746f2e66696e64203d20747265655f66696e643b0a7472656550726f746f2e72656d6f7665203d20747265655f72656d6f76653b0a7472656550726f746f2e72656d6f7665416c6c203d2072656d6f7665416c6c3b0a7472656550726f746f2e726f6f74203d20747265655f726f6f743b0a7472656550726f746f2e73697a65203d20747265655f73697a653b0a7472656550726f746f2e7669736974203d20747265655f76697369743b0a7472656550726f746f2e76697369744166746572203d20747265655f766973697441667465723b0a7472656550726f746f2e78203d20747265655f783b0a7472656550726f746f2e79203d20747265655f793b0a0a66756e6374696f6e2078286429207b0a202072657475726e20642e78202b20642e76783b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20642e79202b20642e76793b0a7d0a0a66756e6374696f6e20636f6c6c6964652872616469757329207b0a2020766172206e6f6465732c0a20202020202072616469692c0a202020202020737472656e677468203d20312c0a202020202020697465726174696f6e73203d20313b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e74243728726164697573203d3d206e756c6c203f2031203a202b726164697573293b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c0a2020202020202020747265652c0a20202020202020206e6f64652c0a202020202020202078692c0a202020202020202079692c0a202020202020202072692c0a20202020202020207269323b0a0a20202020666f722028766172206b203d20303b206b203c20697465726174696f6e733b202b2b6b29207b0a20202020202074726565203d207175616474726565286e6f6465732c20782c2079292e766973697441667465722870726570617265293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020207269203d2072616469695b6e6f64652e696e6465785d2c20726932203d207269202a2072693b0a20202020202020207869203d206e6f64652e78202b206e6f64652e76783b0a20202020202020207969203d206e6f64652e79202b206e6f64652e76793b0a2020202020202020747265652e7669736974286170706c79293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e206170706c7928717561642c2078302c2079302c2078312c20793129207b0a2020202020207661722064617461203d20717561642e646174612c20726a203d20717561642e722c2072203d207269202b20726a3b0a202020202020696620286461746129207b0a202020202020202069662028646174612e696e646578203e206e6f64652e696e64657829207b0a202020202020202020207661722078203d207869202d20646174612e78202d20646174612e76782c0a202020202020202020202020202079203d207969202d20646174612e79202d20646174612e76792c0a20202020202020202020202020206c203d2078202a2078202b2079202a20793b0a20202020202020202020696620286c203c2072202a207229207b0a2020202020202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020202020206c203d202872202d20286c203d204d6174682e73717274286c292929202f206c202a20737472656e6774683b0a2020202020202020202020206e6f64652e7678202b3d202878202a3d206c29202a202872203d2028726a202a3d20726a29202f2028726932202b20726a29293b0a2020202020202020202020206e6f64652e7679202b3d202879202a3d206c29202a20723b0a202020202020202020202020646174612e7678202d3d2078202a202872203d2031202d2072293b0a202020202020202020202020646174612e7679202d3d2079202a20723b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a20202020202072657475726e207830203e207869202b2072207c7c207831203c207869202d2072207c7c207930203e207969202b2072207c7c207931203c207969202d20723b0a202020207d0a20207d0a0a202066756e6374696f6e2070726570617265287175616429207b0a2020202069662028717561642e64617461292072657475726e20717561642e72203d2072616469695b717561642e646174612e696e6465785d3b0a20202020666f7220287661722069203d20717561642e72203d20303b2069203c20343b202b2b6929207b0a20202020202069662028717561645b695d20262620717561645b695d2e72203e20717561642e7229207b0a2020202020202020717561642e72203d20717561645b695d2e723b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a202020207261646969203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c2072616469695b6e6f64652e696e6465785d203d202b726164697573286e6f64652c20692c206e6f646573293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d202b5f2c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20696e646578286429207b0a202072657475726e20642e696e6465783b0a7d0a0a66756e6374696f6e2066696e64286e6f6465427949642c206e6f6465496429207b0a2020766172206e6f6465203d206e6f6465427949642e676574286e6f64654964293b0a202069662028216e6f646529207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c696e6b286c696e6b7329207b0a2020766172206964203d20696e6465782c0a202020202020737472656e677468203d2064656661756c74537472656e6774682c0a202020202020737472656e677468732c0a20202020202064697374616e6365203d20636f6e7374616e742437283330292c0a20202020202064697374616e6365732c0a2020202020206e6f6465732c0a202020202020636f756e742c0a202020202020626961732c0a202020202020697465726174696f6e73203d20313b0a0a2020696620286c696e6b73203d3d206e756c6c29206c696e6b73203d205b5d3b0a0a202066756e6374696f6e2064656661756c74537472656e677468286c696e6b29207b0a2020202072657475726e2031202f204d6174682e6d696e28636f756e745b6c696e6b2e736f757263652e696e6465785d2c20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a20207d0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f722028766172206b203d20302c206e203d206c696e6b732e6c656e6774683b206b203c20697465726174696f6e733b202b2b6b29207b0a202020202020666f7220287661722069203d20302c206c696e6b2c20736f757263652c207461726765742c20782c20792c206c2c20623b2069203c206e3b202b2b6929207b0a20202020202020206c696e6b203d206c696e6b735b695d2c20736f75726365203d206c696e6b2e736f757263652c20746172676574203d206c696e6b2e7461726765743b0a202020202020202078203d207461726765742e78202b207461726765742e7678202d20736f757263652e78202d20736f757263652e7678207c7c206a6967676c6528293b0a202020202020202079203d207461726765742e79202b207461726765742e7679202d20736f757263652e79202d20736f757263652e7679207c7c206a6967676c6528293b0a20202020202020206c203d204d6174682e737172742878202a2078202b2079202a2079293b0a20202020202020206c203d20286c202d2064697374616e6365735b695d29202f206c202a20616c706861202a20737472656e677468735b695d3b0a202020202020202078202a3d206c2c2079202a3d206c3b0a20202020202020207461726765742e7678202d3d2078202a202862203d20626961735b695d293b0a20202020202020207461726765742e7679202d3d2079202a20623b0a2020202020202020736f757263652e7678202b3d2078202a202862203d2031202d2062293b0a2020202020202020736f757263652e7679202b3d2079202a20623b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206d203d206c696e6b732e6c656e6774682c0a20202020202020206e6f646542794964203d206d61702431286e6f6465732c206964292c0a20202020202020206c696e6b3b0a0a20202020666f72202869203d20302c20636f756e74203d206e6577204172726179286e293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c206c696e6b2e696e646578203d20693b0a20202020202069662028747970656f66206c696e6b2e736f7572636520213d3d20226f626a6563742229206c696e6b2e736f75726365203d2066696e64286e6f6465427949642c206c696e6b2e736f75726365293b0a20202020202069662028747970656f66206c696e6b2e74617267657420213d3d20226f626a6563742229206c696e6b2e746172676574203d2066696e64286e6f6465427949642c206c696e6b2e746172676574293b0a202020202020636f756e745b6c696e6b2e736f757263652e696e6465785d203d2028636f756e745b6c696e6b2e736f757263652e696e6465785d207c7c203029202b20313b0a202020202020636f756e745b6c696e6b2e7461726765742e696e6465785d203d2028636f756e745b6c696e6b2e7461726765742e696e6465785d207c7c203029202b20313b0a202020207d0a0a20202020666f72202869203d20302c2062696173203d206e6577204172726179286d293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c20626961735b695d203d20636f756e745b6c696e6b2e736f757263652e696e6465785d202f2028636f756e745b6c696e6b2e736f757263652e696e6465785d202b20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a202020207d0a0a20202020737472656e67746873203d206e6577204172726179286d292c20696e697469616c697a65537472656e67746828293b0a2020202064697374616e636573203d206e6577204172726179286d292c20696e697469616c697a6544697374616e636528293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a65537472656e6774682829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d202b737472656e677468286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a6544697374616e63652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202064697374616e6365735b695d203d202b64697374616e6365286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e6c696e6b73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c696e6b73203d205f2c20696e697469616c697a6528292c20666f72636529203a206c696e6b733b0a20207d3b0a0a2020666f7263652e6964203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d205f2c20666f72636529203a2069643b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a65537472656e67746828292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e6365203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6544697374616e636528292c20666f72636529203a2064697374616e63653b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20782431286429207b0a202072657475726e20642e783b0a7d0a0a66756e6374696f6e20792431286429207b0a202072657475726e20642e793b0a7d0a0a76617220696e697469616c526164697573203d2031302c0a20202020696e697469616c416e676c65203d204d6174682e5049202a202833202d204d6174682e73717274283529293b0a0a66756e6374696f6e2073696d756c6174696f6e286e6f64657329207b0a20207661722073696d756c6174696f6e2c0a202020202020616c706861203d20312c0a202020202020616c7068614d696e203d20302e3030312c0a202020202020616c7068614465636179203d2031202d204d6174682e706f7728616c7068614d696e2c2031202f20333030292c0a202020202020616c706861546172676574203d20302c0a20202020202076656c6f636974794465636179203d20302e362c0a202020202020666f72636573203d206d6170243128292c0a20202020202073746570706572203d2074696d65722873746570292c0a2020202020206576656e74203d20646973706174636828227469636b222c2022656e6422293b0a0a2020696620286e6f646573203d3d206e756c6c29206e6f646573203d205b5d3b0a0a202066756e6374696f6e20737465702829207b0a202020207469636b28293b0a202020206576656e742e63616c6c28227469636b222c2073696d756c6174696f6e293b0a2020202069662028616c706861203c20616c7068614d696e29207b0a202020202020737465707065722e73746f7028293b0a2020202020206576656e742e63616c6c2822656e64222c2073696d756c6174696f6e293b0a202020207d0a20207d0a0a202066756e6374696f6e207469636b2829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a0a20202020616c706861202b3d2028616c706861546172676574202d20616c70686129202a20616c70686144656361793b0a0a20202020666f726365732e656163682866756e6374696f6e28666f72636529207b0a202020202020666f72636528616c706861293b0a202020207d293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d3b0a202020202020696620286e6f64652e6678203d3d206e756c6c29206e6f64652e78202b3d206e6f64652e7678202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e78203d206e6f64652e66782c206e6f64652e7678203d20303b0a202020202020696620286e6f64652e6679203d3d206e756c6c29206e6f64652e79202b3d206e6f64652e7679202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e79203d206e6f64652e66792c206e6f64652e7679203d20303b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a654e6f6465732829207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e696e646578203d20693b0a2020202020206966202869734e614e286e6f64652e7829207c7c2069734e614e286e6f64652e792929207b0a202020202020202076617220726164697573203d20696e697469616c526164697573202a204d6174682e737172742869292c20616e676c65203d2069202a20696e697469616c416e676c653b0a20202020202020206e6f64652e78203d20726164697573202a204d6174682e636f7328616e676c65293b0a20202020202020206e6f64652e79203d20726164697573202a204d6174682e73696e28616e676c65293b0a2020202020207d0a2020202020206966202869734e614e286e6f64652e767829207c7c2069734e614e286e6f64652e76792929207b0a20202020202020206e6f64652e7678203d206e6f64652e7679203d20303b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a65466f72636528666f72636529207b0a2020202069662028666f7263652e696e697469616c697a652920666f7263652e696e697469616c697a65286e6f646573293b0a2020202072657475726e20666f7263653b0a20207d0a0a2020696e697469616c697a654e6f64657328293b0a0a202072657475726e2073696d756c6174696f6e203d207b0a202020207469636b3a207469636b2c0a0a20202020726573746172743a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e726573746172742873746570292c2073696d756c6174696f6e3b0a202020207d2c0a0a2020202073746f703a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e73746f7028292c2073696d756c6174696f6e3b0a202020207d2c0a0a202020206e6f6465733a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646573203d205f2c20696e697469616c697a654e6f64657328292c20666f726365732e6561636828696e697469616c697a65466f726365292c2073696d756c6174696f6e29203a206e6f6465733b0a202020207d2c0a0a20202020616c7068613a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d202b5f2c2073696d756c6174696f6e29203a20616c7068613b0a202020207d2c0a0a20202020616c7068614d696e3a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614d696e203d202b5f2c2073696d756c6174696f6e29203a20616c7068614d696e3b0a202020207d2c0a0a20202020616c70686144656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614465636179203d202b5f2c2073696d756c6174696f6e29203a202b616c70686144656361793b0a202020207d2c0a0a20202020616c7068615461726765743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861546172676574203d202b5f2c2073696d756c6174696f6e29203a20616c7068615461726765743b0a202020207d2c0a0a2020202076656c6f6369747944656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f202876656c6f636974794465636179203d2031202d205f2c2073696d756c6174696f6e29203a2031202d2076656c6f6369747944656361793b0a202020207d2c0a0a20202020666f7263653a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20285f203d3d206e756c6c203f20666f726365732e72656d6f7665286e616d6529203a20666f726365732e736574286e616d652c20696e697469616c697a65466f726365285f29292c2073696d756c6174696f6e29203a20666f726365732e676574286e616d65293b0a202020207d2c0a0a2020202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a2020202020207661722069203d20302c0a202020202020202020206e203d206e6f6465732e6c656e6774682c0a2020202020202020202064782c0a2020202020202020202064792c0a2020202020202020202064322c0a202020202020202020206e6f64652c0a20202020202020202020636c6f736573743b0a0a20202020202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a202020202020656c736520726164697573202a3d207261646975733b0a0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020206478203d2078202d206e6f64652e783b0a20202020202020206479203d2079202d206e6f64652e793b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c207261646975732920636c6f73657374203d206e6f64652c20726164697573203d2064323b0a2020202020207d0a0a20202020202072657475726e20636c6f736573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20286576656e742e6f6e286e616d652c205f292c2073696d756c6174696f6e29203a206576656e742e6f6e286e616d65293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e206d616e79426f64792829207b0a2020766172206e6f6465732c0a2020202020206e6f64652c0a202020202020616c7068612c0a202020202020737472656e677468203d20636f6e7374616e742437282d3330292c0a202020202020737472656e677468732c0a20202020202064697374616e63654d696e32203d20312c0a20202020202064697374616e63654d617832203d20496e66696e6974792c0a202020202020746865746132203d20302e38313b0a0a202066756e6374696f6e20666f726365285f29207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c2074726565203d207175616474726565286e6f6465732c207824312c20792431292e7669736974416674657228616363756d756c617465293b0a20202020666f722028616c706861203d205f2c2069203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20747265652e7669736974286170706c79293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20737472656e677468735b6e6f64652e696e6465785d203d202b737472656e677468286e6f64652c20692c206e6f646573293b0a20207d0a0a202066756e6374696f6e20616363756d756c617465287175616429207b0a2020202076617220737472656e677468203d20302c20712c20632c20776569676874203d20302c20782c20792c20693b0a0a202020202f2f20466f7220696e7465726e616c206e6f6465732c20616363756d756c61746520666f726365732066726f6d206368696c64207175616472616e74732e0a2020202069662028717561642e6c656e67746829207b0a202020202020666f72202878203d2079203d2069203d20303b2069203c20343b202b2b6929207b0a2020202020202020696620282871203d20717561645b695d29202626202863203d204d6174682e61627328712e76616c7565292929207b0a20202020202020202020737472656e677468202b3d20712e76616c75652c20776569676874202b3d20632c2078202b3d2063202a20712e782c2079202b3d2063202a20712e793b0a20202020202020207d0a2020202020207d0a202020202020717561642e78203d2078202f207765696768743b0a202020202020717561642e79203d2079202f207765696768743b0a202020207d0a0a202020202f2f20466f72206c656166206e6f6465732c20616363756d756c61746520666f726365732066726f6d20636f696e636964656e74207175616472616e74732e0a20202020656c7365207b0a20202020202071203d20717561643b0a202020202020712e78203d20712e646174612e783b0a202020202020712e79203d20712e646174612e793b0a202020202020646f20737472656e677468202b3d20737472656e677468735b712e646174612e696e6465785d3b0a2020202020207768696c65202871203d20712e6e657874293b0a202020207d0a0a20202020717561642e76616c7565203d20737472656e6774683b0a20207d0a0a202066756e6374696f6e206170706c7928717561642c2078312c205f2c20783229207b0a202020206966202821717561642e76616c7565292072657475726e20747275653b0a0a202020207661722078203d20717561642e78202d206e6f64652e782c0a202020202020202079203d20717561642e79202d206e6f64652e792c0a202020202020202077203d207832202d2078312c0a20202020202020206c203d2078202a2078202b2079202a20793b0a0a202020202f2f204170706c7920746865204261726e65732d48757420617070726f78696d6174696f6e20696620706f737369626c652e0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a202020206966202877202a2077202f20746865746132203c206c29207b0a202020202020696620286c203c2064697374616e63654d61783229207b0a20202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a20202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a20202020202020206e6f64652e7678202b3d2078202a20717561642e76616c7565202a20616c706861202f206c3b0a20202020202020206e6f64652e7679202b3d2079202a20717561642e76616c7565202a20616c706861202f206c3b0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2f204f74686572776973652c2070726f6365737320706f696e7473206469726563746c792e0a20202020656c73652069662028717561642e6c656e677468207c7c206c203e3d2064697374616e63654d617832292072657475726e3b0a0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a2020202069662028717561642e6461746120213d3d206e6f6465207c7c20717561642e6e65787429207b0a2020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a202020207d0a0a20202020646f2069662028717561642e6461746120213d3d206e6f646529207b0a20202020202077203d20737472656e677468735b717561642e646174612e696e6465785d202a20616c706861202f206c3b0a2020202020206e6f64652e7678202b3d2078202a20773b0a2020202020206e6f64652e7679202b3d2079202a20773b0a202020207d207768696c65202871756164203d20717561642e6e657874293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e63654d696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d696e32203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d696e32293b0a20207d3b0a0a2020666f7263652e64697374616e63654d6178203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d617832203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d617832293b0a20207d3b0a0a2020666f7263652e7468657461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746865746132203d205f202a205f2c20666f72636529203a204d6174682e7371727428746865746132293b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e2072616469616c287261646975732c20782c207929207b0a2020766172206e6f6465732c0a202020202020737472656e677468203d20636f6e7374616e74243728302e31292c0a202020202020737472656e677468732c0a20202020202072616469757365733b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e742437282b726164697573293b0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d206e6f6465735b695d2c0a202020202020202020206478203d206e6f64652e78202d2078207c7c2031652d362c0a202020202020202020206479203d206e6f64652e79202d2079207c7c2031652d362c0a2020202020202020202072203d204d6174682e73717274286478202a206478202b206479202a206479292c0a202020202020202020206b203d202872616469757365735b695d202d207229202a20737472656e677468735b695d202a20616c706861202f20723b0a2020202020206e6f64652e7678202b3d206478202a206b3b0a2020202020206e6f64652e7679202b3d206479202a206b3b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a202020207261646975736573203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202072616469757365735b695d203d202b726164697573286e6f6465735b695d2c20692c206e6f646573293b0a202020202020737472656e677468735b695d203d2069734e614e2872616469757365735b695d29203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f2c20696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20782432287829207b0a202076617220737472656e677468203d20636f6e7374616e74243728302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020787a3b0a0a202069662028747970656f66207820213d3d202266756e6374696f6e22292078203d20636f6e7374616e7424372878203d3d206e756c6c203f2030203a202b78293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7678202b3d2028787a5b695d202d206e6f64652e7829202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020787a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28787a5b695d203d202b78286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20783b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20792432287929207b0a202076617220737472656e677468203d20636f6e7374616e74243728302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020797a3b0a0a202069662028747970656f66207920213d3d202266756e6374696f6e22292079203d20636f6e7374616e7424372879203d3d206e756c6c203f2030203a202b79293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7679202b3d2028797a5b695d202d206e6f64652e7929202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020797a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28797a5b695d203d202b79286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a2f2f20436f6d70757465732074686520646563696d616c20636f656666696369656e7420616e64206578706f6e656e74206f662074686520737065636966696564206e756d626572207820776974680a2f2f207369676e69666963616e742064696769747320702c207768657265207820697320706f73697469766520616e64207020697320696e205b312c2032315d206f7220756e646566696e65642e0a2f2f20466f72206578616d706c652c20666f726d6174446563696d616c28312e3233292072657475726e73205b22313233222c20305d2e0a66756e6374696f6e20666f726d6174446563696d616c28782c207029207b0a2020696620282869203d202878203d2070203f20782e746f4578706f6e656e7469616c2870202d203129203a20782e746f4578706f6e656e7469616c2829292e696e6465784f66282265222929203c2030292072657475726e206e756c6c3b202f2f204e614e2c20c2b1496e66696e6974790a202076617220692c20636f656666696369656e74203d20782e736c69636528302c2069293b0a0a20202f2f2054686520737472696e672072657475726e656420627920746f4578706f6e656e7469616c20656974686572206861732074686520666f726d205c645c2e5c642b655b2d2b5d5c642b0a20202f2f2028652e672e2c20312e32652b3329206f722074686520666f726d205c64655b2d2b5d5c642b2028652e672e2c2031652b33292e0a202072657475726e205b0a20202020636f656666696369656e742e6c656e677468203e2031203f20636f656666696369656e745b305d202b20636f656666696369656e742e736c696365283229203a20636f656666696369656e742c0a202020202b782e736c6963652869202b2031290a20205d3b0a7d0a0a66756e6374696f6e206578706f6e656e742431287829207b0a202072657475726e2078203d20666f726d6174446563696d616c284d6174682e616273287829292c2078203f20785b315d203a204e614e3b0a7d0a0a66756e6374696f6e20666f726d617447726f75702867726f7570696e672c2074686f7573616e647329207b0a202072657475726e2066756e6374696f6e2876616c75652c20776964746829207b0a202020207661722069203d2076616c75652e6c656e6774682c0a202020202020202074203d205b5d2c0a20202020202020206a203d20302c0a202020202020202067203d2067726f7570696e675b305d2c0a20202020202020206c656e677468203d20303b0a0a202020207768696c65202869203e20302026262067203e203029207b0a202020202020696620286c656e677468202b2067202b2031203e207769647468292067203d204d6174682e6d617828312c207769647468202d206c656e677468293b0a202020202020742e707573682876616c75652e737562737472696e672869202d3d20672c2069202b206729293b0a20202020202069662028286c656e677468202b3d2067202b203129203e2077696474682920627265616b3b0a20202020202067203d2067726f7570696e675b6a203d20286a202b20312920252067726f7570696e672e6c656e6774685d3b0a202020207d0a0a2020202072657475726e20742e7265766572736528292e6a6f696e2874686f7573616e6473293b0a20207d3b0a7d0a0a66756e6374696f6e20666f726d61744e756d6572616c73286e756d6572616c7329207b0a202072657475726e2066756e6374696f6e2876616c756529207b0a2020202072657475726e2076616c75652e7265706c616365282f5b302d395d2f672c2066756e6374696f6e286929207b0a20202020202072657475726e206e756d6572616c735b2b695d3b0a202020207d293b0a20207d3b0a7d0a0a2f2f205b5b66696c6c5d616c69676e5d5b7369676e5d5b73796d626f6c5d5b305d5b77696474685d5b2c5d5b2e707265636973696f6e5d5b7e5d5b747970655d0a766172207265203d202f5e283f3a282e293f285b3c3e3d5e5d29293f285b2b5c2d5c28205d293f285b24235d293f2830293f285c642b293f282c293f285c2e5c642b293f287e293f285b612d7a255d293f242f693b0a0a66756e6374696f6e20666f726d61745370656369666965722873706563696669657229207b0a202072657475726e206e657720466f726d617453706563696669657228737065636966696572293b0a7d0a0a666f726d61745370656369666965722e70726f746f74797065203d20466f726d61745370656369666965722e70726f746f747970653b202f2f20696e7374616e63656f660a0a66756e6374696f6e20466f726d61745370656369666965722873706563696669657229207b0a20206966202821286d61746368203d2072652e6578656328737065636966696572292929207468726f77206e6577204572726f722822696e76616c696420666f726d61743a2022202b20737065636966696572293b0a2020766172206d617463683b0a2020746869732e66696c6c203d206d617463685b315d207c7c202220223b0a2020746869732e616c69676e203d206d617463685b325d207c7c20223e223b0a2020746869732e7369676e203d206d617463685b335d207c7c20222d223b0a2020746869732e73796d626f6c203d206d617463685b345d207c7c2022223b0a2020746869732e7a65726f203d2021216d617463685b355d3b0a2020746869732e7769647468203d206d617463685b365d202626202b6d617463685b365d3b0a2020746869732e636f6d6d61203d2021216d617463685b375d3b0a2020746869732e707265636973696f6e203d206d617463685b385d202626202b6d617463685b385d2e736c6963652831293b0a2020746869732e7472696d203d2021216d617463685b395d3b0a2020746869732e74797065203d206d617463685b31305d207c7c2022223b0a7d0a0a466f726d61745370656369666965722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a202072657475726e20746869732e66696c6c0a2020202020202b20746869732e616c69676e0a2020202020202b20746869732e7369676e0a2020202020202b20746869732e73796d626f6c0a2020202020202b2028746869732e7a65726f203f20223022203a202222290a2020202020202b2028746869732e7769647468203d3d206e756c6c203f202222203a204d6174682e6d617828312c20746869732e7769647468207c203029290a2020202020202b2028746869732e636f6d6d61203f20222c22203a202222290a2020202020202b2028746869732e707265636973696f6e203d3d206e756c6c203f202222203a20222e22202b204d6174682e6d617828302c20746869732e707265636973696f6e207c203029290a2020202020202b2028746869732e7472696d203f20227e22203a202222290a2020202020202b20746869732e747970653b0a7d3b0a0a2f2f205472696d7320696e7369676e69666963616e74207a65726f732c20652e672e2c207265706c6163657320312e323030306b207769746820312e326b2e0a66756e6374696f6e20666f726d61745472696d287329207b0a20206f75743a20666f722028766172206e203d20732e6c656e6774682c2069203d20312c206930203d202d312c2069313b2069203c206e3b202b2b6929207b0a202020207377697463682028735b695d29207b0a2020202020206361736520222e223a206930203d206931203d20693b20627265616b3b0a20202020202063617365202230223a20696620286930203d3d3d203029206930203d20693b206931203d20693b20627265616b3b0a20202020202064656661756c743a20696620286930203e203029207b2069662028212b735b695d2920627265616b206f75743b206930203d20303b207d20627265616b3b0a202020207d0a20207d0a202072657475726e206930203e2030203f20732e736c69636528302c20693029202b20732e736c696365286931202b203129203a20733b0a7d0a0a766172207072656669784578706f6e656e743b0a0a66756e6374696f6e20666f726d61745072656669784175746f28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d2c0a20202020202069203d206578706f6e656e74202d20287072656669784578706f6e656e74203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e74202f2033292929202a203329202b20312c0a2020202020206e203d20636f656666696369656e742e6c656e6774683b0a202072657475726e2069203d3d3d206e203f20636f656666696369656e740a2020202020203a2069203e206e203f20636f656666696369656e74202b206e65772041727261792869202d206e202b2031292e6a6f696e28223022290a2020202020203a2069203e2030203f20636f656666696369656e742e736c69636528302c206929202b20222e22202b20636f656666696369656e742e736c6963652869290a2020202020203a2022302e22202b206e65772041727261792831202d2069292e6a6f696e2822302229202b20666f726d6174446563696d616c28782c204d6174682e6d617828302c2070202b2069202d203129295b305d3b202f2f206c657373207468616e203179210a7d0a0a66756e6374696f6e20666f726d6174526f756e64656428782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d3b0a202072657475726e206578706f6e656e74203c2030203f2022302e22202b206e6577204172726179282d6578706f6e656e74292e6a6f696e2822302229202b20636f656666696369656e740a2020202020203a20636f656666696369656e742e6c656e677468203e206578706f6e656e74202b2031203f20636f656666696369656e742e736c69636528302c206578706f6e656e74202b203129202b20222e22202b20636f656666696369656e742e736c696365286578706f6e656e74202b2031290a2020202020203a20636f656666696369656e74202b206e6577204172726179286578706f6e656e74202d20636f656666696369656e742e6c656e677468202b2032292e6a6f696e28223022293b0a7d0a0a76617220666f726d61745479706573203d207b0a20202225223a2066756e6374696f6e28782c207029207b2072657475726e202878202a20313030292e746f46697865642870293b207d2c0a20202262223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672832293b207d2c0a20202263223a2066756e6374696f6e287829207b2072657475726e2078202b2022223b207d2c0a20202264223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283130293b207d2c0a20202265223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f4578706f6e656e7469616c2870293b207d2c0a20202266223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f46697865642870293b207d2c0a20202267223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f507265636973696f6e2870293b207d2c0a2020226f223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672838293b207d2c0a20202270223a2066756e6374696f6e28782c207029207b2072657475726e20666f726d6174526f756e6465642878202a203130302c2070293b207d2c0a20202272223a20666f726d6174526f756e6465642c0a20202273223a20666f726d61745072656669784175746f2c0a20202258223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136292e746f55707065724361736528293b207d2c0a20202278223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136293b207d0a7d3b0a0a66756e6374696f6e206964656e746974792433287829207b0a202072657475726e20783b0a7d0a0a766172207072656669786573203d205b2279222c227a222c2261222c2266222c2270222c226e222c225c784235222c226d222c22222c226b222c224d222c2247222c2254222c2250222c2245222c225a222c2259225d3b0a0a66756e6374696f6e20666f726d61744c6f63616c65286c6f63616c6529207b0a20207661722067726f7570203d206c6f63616c652e67726f7570696e67202626206c6f63616c652e74686f7573616e6473203f20666f726d617447726f7570286c6f63616c652e67726f7570696e672c206c6f63616c652e74686f7573616e647329203a206964656e7469747924332c0a20202020202063757272656e6379203d206c6f63616c652e63757272656e63792c0a202020202020646563696d616c203d206c6f63616c652e646563696d616c2c0a2020202020206e756d6572616c73203d206c6f63616c652e6e756d6572616c73203f20666f726d61744e756d6572616c73286c6f63616c652e6e756d6572616c7329203a206964656e7469747924332c0a20202020202070657263656e74203d206c6f63616c652e70657263656e74207c7c202225223b0a0a202066756e6374696f6e206e6577466f726d61742873706563696669657229207b0a20202020737065636966696572203d20666f726d617453706563696669657228737065636966696572293b0a0a202020207661722066696c6c203d207370656369666965722e66696c6c2c0a2020202020202020616c69676e203d207370656369666965722e616c69676e2c0a20202020202020207369676e203d207370656369666965722e7369676e2c0a202020202020202073796d626f6c203d207370656369666965722e73796d626f6c2c0a20202020202020207a65726f203d207370656369666965722e7a65726f2c0a20202020202020207769647468203d207370656369666965722e77696474682c0a2020202020202020636f6d6d61203d207370656369666965722e636f6d6d612c0a2020202020202020707265636973696f6e203d207370656369666965722e707265636973696f6e2c0a20202020202020207472696d203d207370656369666965722e7472696d2c0a202020202020202074797065203d207370656369666965722e747970653b0a0a202020202f2f2054686520226e22207479706520697320616e20616c69617320666f7220222c67222e0a202020206966202874797065203d3d3d20226e222920636f6d6d61203d20747275652c2074797065203d202267223b0a0a202020202f2f2054686520222220747970652c20616e6420616e7920696e76616c696420747970652c20697320616e20616c69617320666f7220222e31327e67222e0a20202020656c7365206966202821666f726d617454797065735b747970655d2920707265636973696f6e203d3d206e756c6c2026262028707265636973696f6e203d203132292c207472696d203d20747275652c2074797065203d202267223b0a0a202020202f2f204966207a65726f2066696c6c206973207370656369666965642c2070616464696e6720676f6573206166746572207369676e20616e64206265666f7265206469676974732e0a20202020696620287a65726f207c7c202866696c6c203d3d3d2022302220262620616c69676e203d3d3d20223d222929207a65726f203d20747275652c2066696c6c203d202230222c20616c69676e203d20223d223b0a0a202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202f2f20466f722053492d7072656669782c2074686520737566666978206973206c617a696c7920636f6d70757465642e0a2020202076617220707265666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b305d203a2073796d626f6c203d3d3d20222322202626202f5b626f78585d2f2e74657374287479706529203f20223022202b20747970652e746f4c6f776572436173652829203a2022222c0a2020202020202020737566666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b315d203a202f5b25705d2f2e74657374287479706529203f2070657263656e74203a2022223b0a0a202020202f2f205768617420666f726d61742066756e6374696f6e2073686f756c64207765207573653f0a202020202f2f204973207468697320616e20696e746567657220747970653f0a202020202f2f2043616e207468697320747970652067656e6572617465206578706f6e656e7469616c206e6f746174696f6e3f0a2020202076617220666f726d617454797065203d20666f726d617454797065735b747970655d2c0a20202020202020206d61796265537566666978203d202f5b64656667707273255d2f2e746573742874797065293b0a0a202020202f2f20536574207468652064656661756c7420707265636973696f6e206966206e6f74207370656369666965642c0a202020202f2f206f7220636c616d70207468652073706563696669656420707265636973696f6e20746f2074686520737570706f727465642072616e67652e0a202020202f2f20466f72207369676e69666963616e7420707265636973696f6e2c206974206d75737420626520696e205b312c2032315d2e0a202020202f2f20466f7220666978656420707265636973696f6e2c206974206d75737420626520696e205b302c2032305d2e0a20202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f20360a20202020202020203a202f5b677072735d2f2e74657374287479706529203f204d6174682e6d617828312c204d6174682e6d696e2832312c20707265636973696f6e29290a20202020202020203a204d6174682e6d617828302c204d6174682e6d696e2832302c20707265636973696f6e29293b0a0a2020202066756e6374696f6e20666f726d61742876616c756529207b0a2020202020207661722076616c7565507265666978203d207072656669782c0a2020202020202020202076616c7565537566666978203d207375666669782c0a20202020202020202020692c206e2c20633b0a0a2020202020206966202874797065203d3d3d2022632229207b0a202020202020202076616c7565537566666978203d20666f726d6174547970652876616c756529202b2076616c75655375666669783b0a202020202020202076616c7565203d2022223b0a2020202020207d20656c7365207b0a202020202020202076616c7565203d202b76616c75653b0a0a20202020202020202f2f20506572666f726d2074686520696e697469616c20666f726d617474696e672e0a20202020202020207661722076616c75654e65676174697665203d2076616c7565203c20303b0a202020202020202076616c7565203d20666f726d617454797065284d6174682e6162732876616c7565292c20707265636973696f6e293b0a0a20202020202020202f2f205472696d20696e7369676e69666963616e74207a65726f732e0a2020202020202020696620287472696d292076616c7565203d20666f726d61745472696d2876616c7565293b0a0a20202020202020202f2f2049662061206e656761746976652076616c756520726f756e647320746f207a65726f20647572696e6720666f726d617474696e672c20747265617420617320706f7369746976652e0a20202020202020206966202876616c75654e65676174697665202626202b76616c7565203d3d3d2030292076616c75654e65676174697665203d2066616c73653b0a0a20202020202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202020202076616c7565507265666978203d202876616c75654e65676174697665203f20287369676e203d3d3d20222822203f207369676e203a20222d2229203a207369676e203d3d3d20222d22207c7c207369676e203d3d3d20222822203f202222203a207369676e29202b2076616c75655072656669783b0a202020202020202076616c7565537566666978203d202874797065203d3d3d20227322203f2070726566697865735b38202b207072656669784578706f6e656e74202f20335d203a20222229202b2076616c7565537566666978202b202876616c75654e65676174697665202626207369676e203d3d3d20222822203f20222922203a202222293b0a0a20202020202020202f2f20427265616b2074686520666f726d61747465642076616c756520696e746f2074686520696e746567657220e2809c76616c7565e2809d207061727420746861742063616e2062650a20202020202020202f2f2067726f757065642c20616e64206672616374696f6e616c206f72206578706f6e656e7469616c20e2809c737566666978e2809d20706172742074686174206973206e6f742e0a2020202020202020696620286d6179626553756666697829207b0a2020202020202020202069203d202d312c206e203d2076616c75652e6c656e6774683b0a202020202020202020207768696c6520282b2b69203c206e29207b0a2020202020202020202020206966202863203d2076616c75652e63686172436f646541742869292c203438203e2063207c7c2063203e20353729207b0a202020202020202020202020202076616c7565537566666978203d202863203d3d3d203436203f20646563696d616c202b2076616c75652e736c6963652869202b203129203a2076616c75652e736c69636528692929202b2076616c75655375666669783b0a202020202020202020202020202076616c7565203d2076616c75652e736c69636528302c2069293b0a2020202020202020202020202020627265616b3b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973206e6f74202230222c2067726f7570696e67206973206170706c696564206265666f72652070616464696e672e0a20202020202069662028636f6d6d6120262620217a65726f292076616c7565203d2067726f75702876616c75652c20496e66696e697479293b0a0a2020202020202f2f20436f6d70757465207468652070616464696e672e0a202020202020766172206c656e677468203d2076616c75655072656669782e6c656e677468202b2076616c75652e6c656e677468202b2076616c75655375666669782e6c656e6774682c0a2020202020202020202070616464696e67203d206c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29203a2022223b0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973202230222c2067726f7570696e67206973206170706c6965642061667465722070616464696e672e0a20202020202069662028636f6d6d61202626207a65726f292076616c7565203d2067726f75702870616464696e67202b2076616c75652c2070616464696e672e6c656e677468203f207769647468202d2076616c75655375666669782e6c656e677468203a20496e66696e697479292c2070616464696e67203d2022223b0a0a2020202020202f2f205265636f6e737472756374207468652066696e616c206f7574707574206261736564206f6e20746865206465736972656420616c69676e6d656e742e0a2020202020207377697463682028616c69676e29207b0a20202020202020206361736520223c223a2076616c7565203d2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e673b20627265616b3b0a20202020202020206361736520223d223a2076616c7565203d2076616c7565507265666978202b2070616464696e67202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a20202020202020206361736520225e223a2076616c7565203d2070616464696e672e736c69636528302c206c656e677468203d2070616464696e672e6c656e677468203e3e203129202b2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e672e736c696365286c656e677468293b20627265616b3b0a202020202020202064656661756c743a2076616c7565203d2070616464696e67202b2076616c7565507265666978202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a2020202020207d0a0a20202020202072657475726e206e756d6572616c732876616c7565293b0a202020207d0a0a20202020666f726d61742e746f537472696e67203d2066756e6374696f6e2829207b0a20202020202072657475726e20737065636966696572202b2022223b0a202020207d3b0a0a2020202072657475726e20666f726d61743b0a20207d0a0a202066756e6374696f6e20666f726d6174507265666978287370656369666965722c2076616c756529207b0a202020207661722066203d206e6577466f726d61742828737065636966696572203d20666f726d617453706563696669657228737065636966696572292c207370656369666965722e74797065203d202266222c2073706563696669657229292c0a202020202020202065203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e7424312876616c756529202f2033292929202a20332c0a20202020202020206b203d204d6174682e706f772831302c202d65292c0a2020202020202020707265666978203d2070726566697865735b38202b2065202f20335d3b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066286b202a2076616c756529202b207072656669783b0a202020207d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a206e6577466f726d61742c0a20202020666f726d61745072656669783a20666f726d61745072656669780a20207d3b0a7d0a0a766172206c6f63616c653b0a0a64656661756c744c6f63616c65287b0a2020646563696d616c3a20222e222c0a202074686f7573616e64733a20222c222c0a202067726f7570696e673a205b335d2c0a202063757272656e63793a205b2224222c2022225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e666f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e666f726d6174507265666978203d206c6f63616c652e666f726d61745072656669783b0a202072657475726e206c6f63616c653b0a7d0a0a66756e6374696f6e20707265636973696f6e4669786564287374657029207b0a202072657475726e204d6174682e6d617828302c202d6578706f6e656e742431284d6174682e61627328737465702929293b0a7d0a0a66756e6374696f6e20707265636973696f6e50726566697828737465702c2076616c756529207b0a202072657475726e204d6174682e6d617828302c204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e7424312876616c756529202f2033292929202a2033202d206578706f6e656e742431284d6174682e61627328737465702929293b0a7d0a0a66756e6374696f6e20707265636973696f6e526f756e6428737465702c206d617829207b0a202073746570203d204d6174682e6162732873746570292c206d6178203d204d6174682e616273286d617829202d20737465703b0a202072657475726e204d6174682e6d617828302c206578706f6e656e742431286d617829202d206578706f6e656e74243128737465702929202b20313b0a7d0a0a2f2f204164647320666c6f6174696e6720706f696e74206e756d62657273207769746820747769636520746865206e6f726d616c20707265636973696f6e2e0a2f2f205265666572656e63653a204a2e20522e20536865776368756b2c20416461707469766520507265636973696f6e20466c6f6174696e672d506f696e742041726974686d6574696320616e640a2f2f204661737420526f627573742047656f6d657472696320507265646963617465732c204469736372657465202620436f6d7075746174696f6e616c2047656f6d657472792031382833290a2f2f20333035e28093333633202831393937292e0a2f2f20436f646520616461707465642066726f6d2047656f677261706869634c696220627920436861726c657320462e20462e204b61726e65792c0a2f2f20687474703a2f2f67656f677261706869636c69622e736f75726365666f7267652e6e65742f0a0a66756e6374696f6e2061646465722829207b0a202072657475726e206e65772041646465723b0a7d0a0a66756e6374696f6e2041646465722829207b0a2020746869732e726573657428293b0a7d0a0a41646465722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2041646465722c0a202072657365743a2066756e6374696f6e2829207b0a20202020746869732e73203d202f2f20726f756e6465642076616c75650a20202020746869732e74203d20303b202f2f206578616374206572726f720a20207d2c0a20206164643a2066756e6374696f6e287929207b0a2020202061646424312874656d702c20792c20746869732e74293b0a20202020616464243128746869732c2074656d702e732c20746869732e73293b0a2020202069662028746869732e732920746869732e74202b3d2074656d702e743b0a20202020656c736520746869732e73203d2074656d702e743b0a20207d2c0a202076616c75654f663a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e733b0a20207d0a7d3b0a0a7661722074656d70203d206e65772041646465723b0a0a66756e6374696f6e2061646424312861646465722c20612c206229207b0a20207661722078203d2061646465722e73203d2061202b20622c0a2020202020206276203d2078202d20612c0a2020202020206176203d2078202d2062763b0a202061646465722e74203d202861202d20617629202b202862202d206276293b0a7d0a0a76617220657073696c6f6e2432203d2031652d363b0a76617220657073696c6f6e322431203d2031652d31323b0a7661722070692433203d204d6174682e50493b0a7661722068616c6650692432203d2070692433202f20323b0a76617220717561727465725069203d2070692433202f20343b0a766172207461752433203d2070692433202a20323b0a0a76617220646567726565732431203d20313830202f20706924333b0a7661722072616469616e73203d2070692433202f203138303b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e203d204d6174682e6174616e3b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f732431203d204d6174682e636f733b0a766172206365696c203d204d6174682e6365696c3b0a76617220657870203d204d6174682e6578703b0a766172206c6f67203d204d6174682e6c6f673b0a76617220706f77203d204d6174682e706f773b0a7661722073696e2431203d204d6174682e73696e3b0a766172207369676e203d204d6174682e7369676e207c7c2066756e6374696f6e287829207b2072657475726e2078203e2030203f2031203a2078203c2030203f202d31203a20303b207d3b0a7661722073717274203d204d6174682e737172743b0a7661722074616e203d204d6174682e74616e3b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f2070692433203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e2031203f2068616c6650692432203a2078203c202d31203f202d68616c6650692432203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20686176657273696e287829207b0a202072657475726e202878203d2073696e24312878202f20322929202a20783b0a7d0a0a66756e6374696f6e206e6f6f7024322829207b7d0a0a66756e6374696f6e2073747265616d47656f6d657472792867656f6d657472792c2073747265616d29207b0a20206966202867656f6d657472792026262073747265616d47656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e747970652929207b0a2020202073747265616d47656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c2073747265616d293b0a20207d0a7d0a0a7661722073747265616d4f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d47656f6d65747279286f626a6563742e67656f6d657472792c2073747265616d293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792866656174757265735b695d2e67656f6d657472792c2073747265616d293b0a20207d0a7d3b0a0a7661722073747265616d47656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d2e73706865726528293b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020206f626a656374203d206f626a6563742e636f6f7264696e617465733b0a2020202073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e29206f626a656374203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d4c696e65286f626a6563742e636f6f7264696e617465732c2073747265616d2c2030293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2030293b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d506f6c79676f6e286f626a6563742e636f6f7264696e617465732c2073747265616d293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d506f6c79676f6e28636f6f7264696e617465735b695d2c2073747265616d293b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792867656f6d6574726965735b695d2c2073747265616d293b0a20207d0a7d3b0a0a66756e6374696f6e2073747265616d4c696e6528636f6f7264696e617465732c2073747265616d2c20636c6f73656429207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e677468202d20636c6f7365642c20636f6f7264696e6174653b0a202073747265616d2e6c696e65537461727428293b0a20207768696c6520282b2b69203c206e2920636f6f7264696e617465203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e7428636f6f7264696e6174655b305d2c20636f6f7264696e6174655b315d2c20636f6f7264696e6174655b325d293b0a202073747265616d2e6c696e65456e6428293b0a7d0a0a66756e6374696f6e2073747265616d506f6c79676f6e28636f6f7264696e617465732c2073747265616d29207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202073747265616d2e706f6c79676f6e537461727428293b0a20207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2031293b0a202073747265616d2e706f6c79676f6e456e6428293b0a7d0a0a66756e6374696f6e2067656f53747265616d286f626a6563742c2073747265616d29207b0a2020696620286f626a6563742026262073747265616d4f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e747970652929207b0a2020202073747265616d4f626a656374547970655b6f626a6563742e747970655d286f626a6563742c2073747265616d293b0a20207d20656c7365207b0a2020202073747265616d47656f6d65747279286f626a6563742c2073747265616d293b0a20207d0a7d0a0a766172206172656152696e6753756d203d20616464657228293b0a0a766172206172656153756d203d20616464657228292c0a202020206c616d62646130302c0a2020202070686930302c0a202020206c616d626461302c0a20202020636f73506869302c0a2020202073696e506869303b0a0a766172206172656153747265616d203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656152696e6753756d2e726573657428293b0a202020206172656153747265616d2e6c696e655374617274203d206172656152696e6753746172743b0a202020206172656153747265616d2e6c696e65456e64203d206172656152696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020766172206172656152696e67203d202b6172656152696e6753756d3b0a202020206172656153756d2e616464286172656152696e67203c2030203f207461752433202b206172656152696e67203a206172656152696e67293b0a20202020746869732e6c696e655374617274203d20746869732e6c696e65456e64203d20746869732e706f696e74203d206e6f6f7024323b0a20207d2c0a20207370686572653a2066756e6374696f6e2829207b0a202020206172656153756d2e616464287461752433293b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e6753746172742829207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e7446697273743b0a7d0a0a66756e6374696f6e206172656152696e67456e642829207b0a202061726561506f696e74286c616d62646130302c207068693030293b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374286c616d6264612c2070686929207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e743b0a20206c616d6264613030203d206c616d6264612c207068693030203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f73243128706869203d20706869202f2032202b20717561727465725069292c2073696e50686930203d2073696e243128706869293b0a7d0a0a66756e6374696f6e2061726561506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a2020706869203d20706869202f2032202b207175617274657250693b202f2f2068616c662074686520616e67756c61722064697374616e63652066726f6d20736f75746820706f6c650a0a20202f2f2053706865726963616c20657863657373204520666f7220612073706865726963616c20747269616e676c6520776974682076657274696365733a20736f75746820706f6c652c0a20202f2f2070726576696f757320706f696e742c2063757272656e7420706f696e742e202055736573206120666f726d756c6120646572697665642066726f6d204361676e6f6c69e28099730a20202f2f207468656f72656d2e202053656520546f6468756e7465722c2053706865726963616c20547269672e202831383731292c205365632e203130332c2045712e202832292e0a202076617220644c616d626461203d206c616d626461202d206c616d626461302c0a20202020202073644c616d626461203d20644c616d626461203e3d2030203f2031203a202d312c0a20202020202061644c616d626461203d2073644c616d626461202a20644c616d6264612c0a202020202020636f73506869203d20636f73243128706869292c0a20202020202073696e506869203d2073696e243128706869292c0a2020202020206b203d2073696e50686930202a2073696e5068692c0a20202020202075203d20636f7350686930202a20636f73506869202b206b202a20636f7324312861644c616d626461292c0a20202020202076203d206b202a2073644c616d626461202a2073696e24312861644c616d626461293b0a20206172656152696e6753756d2e616464286174616e3228762c207529293b0a0a20202f2f20416476616e6365207468652070726576696f757320706f696e74732e0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f735068692c2073696e50686930203d2073696e5068693b0a7d0a0a66756e6374696f6e20617265612431286f626a65637429207b0a20206172656153756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206172656153747265616d293b0a202072657475726e206172656153756d202a20323b0a7d0a0a66756e6374696f6e2073706865726963616c2863617274657369616e29207b0a202072657475726e205b6174616e322863617274657369616e5b315d2c2063617274657369616e5b305d292c206173696e2863617274657369616e5b325d295d3b0a7d0a0a66756e6374696f6e2063617274657369616e2873706865726963616c29207b0a2020766172206c616d626461203d2073706865726963616c5b305d2c20706869203d2073706865726963616c5b315d2c20636f73506869203d20636f73243128706869293b0a202072657475726e205b636f73506869202a20636f732431286c616d626461292c20636f73506869202a2073696e2431286c616d626461292c2073696e243128706869295d3b0a7d0a0a66756e6374696f6e2063617274657369616e446f7428612c206229207b0a202072657475726e20615b305d202a20625b305d202b20615b315d202a20625b315d202b20615b325d202a20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e43726f737328612c206229207b0a202072657475726e205b615b315d202a20625b325d202d20615b325d202a20625b315d2c20615b325d202a20625b305d202d20615b305d202a20625b325d2c20615b305d202a20625b315d202d20615b315d202a20625b305d5d3b0a7d0a0a2f2f20544f444f2072657475726e20610a66756e6374696f6e2063617274657369616e416464496e506c61636528612c206229207b0a2020615b305d202b3d20625b305d2c20615b315d202b3d20625b315d2c20615b325d202b3d20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e5363616c6528766563746f722c206b29207b0a202072657475726e205b766563746f725b305d202a206b2c20766563746f725b315d202a206b2c20766563746f725b325d202a206b5d3b0a7d0a0a2f2f20544f444f2072657475726e20640a66756e6374696f6e2063617274657369616e4e6f726d616c697a65496e506c616365286429207b0a2020766172206c203d207371727428645b305d202a20645b305d202b20645b315d202a20645b315d202b20645b325d202a20645b325d293b0a2020645b305d202f3d206c2c20645b315d202f3d206c2c20645b325d202f3d206c3b0a7d0a0a766172206c616d6264613024312c20706869302c206c616d626461312c20706869312c202f2f20626f756e64730a202020206c616d626461322c202f2f2070726576696f7573206c616d6264612d636f6f7264696e6174650a202020206c616d626461303024312c20706869303024312c202f2f20666972737420706f696e740a2020202070302c202f2f2070726576696f757320334420706f696e740a2020202064656c746153756d203d20616464657228292c0a2020202072616e6765732c0a2020202072616e67653b0a0a76617220626f756e647353747265616d203d207b0a2020706f696e743a20626f756e6473506f696e742c0a20206c696e6553746172743a20626f756e64734c696e6553746172742c0a20206c696e65456e643a20626f756e64734c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e647352696e67506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e647352696e6753746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e647352696e67456e643b0a2020202064656c746153756d2e726573657428293b0a202020206172656153747265616d2e706f6c79676f6e537461727428293b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d2e706f6c79676f6e456e6428293b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e64734c696e6553746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e64734c696e65456e643b0a20202020696620286172656152696e6753756d203c203029206c616d626461302431203d202d286c616d62646131203d20313830292c2070686930203d202d2870686931203d203930293b0a20202020656c7365206966202864656c746153756d203e20657073696c6f6e2432292070686931203d2039303b0a20202020656c7365206966202864656c746153756d203c202d657073696c6f6e2432292070686930203d202d39303b0a2020202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74286c616d6264612c2070686929207b0a202072616e6765732e707573682872616e6765203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a7d0a0a66756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a20207661722070203d2063617274657369616e285b6c616d626461202a2072616469616e732c20706869202a2072616469616e735d293b0a202069662028703029207b0a20202020766172206e6f726d616c203d2063617274657369616e43726f73732870302c2070292c0a202020202020202065717561746f7269616c203d205b6e6f726d616c5b315d2c202d6e6f726d616c5b305d2c20305d2c0a2020202020202020696e666c656374696f6e203d2063617274657369616e43726f73732865717561746f7269616c2c206e6f726d616c293b0a2020202063617274657369616e4e6f726d616c697a65496e506c61636528696e666c656374696f6e293b0a20202020696e666c656374696f6e203d2073706865726963616c28696e666c656374696f6e293b0a202020207661722064656c7461203d206c616d626461202d206c616d626461322c0a20202020202020207369676e242431203d2064656c7461203e2030203f2031203a202d312c0a20202020202020206c616d62646169203d20696e666c656374696f6e5b305d202a20646567726565732431202a207369676e2424312c0a2020202020202020706869692c0a2020202020202020616e74696d6572696469616e203d206162732864656c746129203e203138303b0a2020202069662028616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d20696e666c656374696f6e5b315d202a206465677265657324313b0a2020202020206966202870686969203e2070686931292070686931203d20706869693b0a202020207d20656c736520696620286c616d62646169203d20286c616d62646169202b2033363029202520333630202d203138302c20616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d202d696e666c656374696f6e5b315d202a206465677265657324313b0a2020202020206966202870686969203c2070686930292070686930203d20706869693b0a202020207d20656c7365207b0a20202020202069662028706869203c2070686930292070686930203d207068693b0a20202020202069662028706869203e2070686931292070686931203d207068693b0a202020207d0a2020202069662028616e74696d6572696469616e29207b0a202020202020696620286c616d626461203c206c616d6264613229207b0a202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c616d62646131203e3d206c616d62646130243129207b0a2020202020202020696620286c616d626461203c206c616d62646130243129206c616d626461302431203d206c616d6264613b0a2020202020202020696620286c616d626461203e206c616d6264613129206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a2020202020202020696620286c616d626461203e206c616d6264613229207b0a2020202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a20202020202020207d20656c7365207b0a2020202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a20202020202020207d0a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202072616e6765732e707573682872616e6765203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a20207d0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a20207030203d20702c206c616d62646132203d206c616d6264613b0a7d0a0a66756e6374696f6e20626f756e64734c696e6553746172742829207b0a2020626f756e647353747265616d2e706f696e74203d206c696e65506f696e743b0a7d0a0a66756e6374696f6e20626f756e64734c696e65456e642829207b0a202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a2020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20207030203d206e756c6c3b0a7d0a0a66756e6374696f6e20626f756e647352696e67506f696e74286c616d6264612c2070686929207b0a202069662028703029207b0a202020207661722064656c7461203d206c616d626461202d206c616d626461323b0a2020202064656c746153756d2e616464286162732864656c746129203e20313830203f2064656c7461202b202864656c7461203e2030203f20333630203a202d33363029203a2064656c7461293b0a20207d20656c7365207b0a202020206c616d62646130302431203d206c616d6264612c2070686930302431203d207068693b0a20207d0a20206172656153747265616d2e706f696e74286c616d6264612c20706869293b0a20206c696e65506f696e74286c616d6264612c20706869293b0a7d0a0a66756e6374696f6e20626f756e647352696e6753746172742829207b0a20206172656153747265616d2e6c696e65537461727428293b0a7d0a0a66756e6374696f6e20626f756e647352696e67456e642829207b0a2020626f756e647352696e67506f696e74286c616d626461303024312c2070686930302431293b0a20206172656153747265616d2e6c696e65456e6428293b0a2020696620286162732864656c746153756d29203e20657073696c6f6e243229206c616d626461302431203d202d286c616d62646131203d20313830293b0a202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a20207030203d206e756c6c3b0a7d0a0a2f2f2046696e647320746865206c6566742d72696768742064697374616e6365206265747765656e2074776f206c6f6e676974756465732e0a2f2f205468697320697320616c6d6f7374207468652073616d6520617320286c616d62646131202d206c616d62646130202b20333630c2b029202520333630c2b02c2065786365707420746861742077652077616e740a2f2f207468652064697374616e6365206265747765656e20c2b1313830c2b020746f20626520333630c2b02e0a66756e6374696f6e20616e676c65286c616d626461302c206c616d6264613129207b0a202072657475726e20286c616d62646131202d3d206c616d6264613029203c2030203f206c616d62646131202b20333630203a206c616d626461313b0a7d0a0a66756e6374696f6e2072616e6765436f6d7061726528612c206229207b0a202072657475726e20615b305d202d20625b305d3b0a7d0a0a66756e6374696f6e2072616e6765436f6e7461696e732872616e67652c207829207b0a202072657475726e2072616e67655b305d203c3d2072616e67655b315d203f2072616e67655b305d203c3d20782026262078203c3d2072616e67655b315d203a2078203c2072616e67655b305d207c7c2072616e67655b315d203c20783b0a7d0a0a66756e6374696f6e20626f756e6473286665617475726529207b0a202076617220692c206e2c20612c20622c206d65726765642c2064656c74614d61782c2064656c74613b0a0a202070686931203d206c616d62646131203d202d286c616d626461302431203d2070686930203d20496e66696e697479293b0a202072616e676573203d205b5d3b0a202067656f53747265616d28666561747572652c20626f756e647353747265616d293b0a0a20202f2f2046697273742c20736f72742072616e676573206279207468656972206d696e696d756d206c6f6e676974756465732e0a2020696620286e203d2072616e6765732e6c656e67746829207b0a2020202072616e6765732e736f72742872616e6765436f6d70617265293b0a0a202020202f2f205468656e2c206d6572676520616e792072616e6765732074686174206f7665726c61702e0a20202020666f72202869203d20312c2061203d2072616e6765735b305d2c206d6572676564203d205b615d3b2069203c206e3b202b2b6929207b0a20202020202062203d2072616e6765735b695d3b0a2020202020206966202872616e6765436f6e7461696e7328612c20625b305d29207c7c2072616e6765436f6e7461696e7328612c20625b315d2929207b0a202020202020202069662028616e676c6528615b305d2c20625b315d29203e20616e676c6528615b305d2c20615b315d292920615b315d203d20625b315d3b0a202020202020202069662028616e676c6528625b305d2c20615b315d29203e20616e676c6528615b305d2c20615b315d292920615b305d203d20625b305d3b0a2020202020207d20656c7365207b0a20202020202020206d65726765642e707573682861203d2062293b0a2020202020207d0a202020207d0a0a202020202f2f2046696e616c6c792c2066696e6420746865206c61726765737420676170206265747765656e20746865206d65726765642072616e6765732e0a202020202f2f205468652066696e616c20626f756e64696e6720626f782077696c6c2062652074686520696e7665727365206f662074686973206761702e0a20202020666f72202864656c74614d6178203d202d496e66696e6974792c206e203d206d65726765642e6c656e677468202d20312c2069203d20302c2061203d206d65726765645b6e5d3b2069203c3d206e3b2061203d20622c202b2b6929207b0a20202020202062203d206d65726765645b695d3b0a202020202020696620282864656c7461203d20616e676c6528615b315d2c20625b305d2929203e2064656c74614d6178292064656c74614d6178203d2064656c74612c206c616d626461302431203d20625b305d2c206c616d62646131203d20615b315d3b0a202020207d0a20207d0a0a202072616e676573203d2072616e6765203d206e756c6c3b0a0a202072657475726e206c616d626461302431203d3d3d20496e66696e697479207c7c2070686930203d3d3d20496e66696e6974790a2020202020203f205b5b4e614e2c204e614e5d2c205b4e614e2c204e614e5d5d0a2020202020203a205b5b6c616d6264613024312c20706869305d2c205b6c616d626461312c20706869315d5d3b0a7d0a0a7661722057302c2057312c0a2020202058302c2059302c205a302c0a2020202058312c2059312c205a312c0a2020202058322c2059322c205a322c0a202020206c616d626461303024322c20706869303024322c202f2f20666972737420706f696e740a2020202078302c2079302c207a303b202f2f2070726576696f757320706f696e740a0a7661722063656e74726f696453747265616d203d207b0a20207370686572653a206e6f6f7024322c0a2020706f696e743a2063656e74726f6964506f696e742c0a20206c696e6553746172743a2063656e74726f69644c696e6553746172742c0a20206c696e65456e643a2063656e74726f69644c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f696452696e6753746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f696452696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f69644c696e6553746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f69644c696e65456e643b0a20207d0a7d3b0a0a2f2f2041726974686d65746963206d65616e206f662043617274657369616e20766563746f72732e0a66756e6374696f6e2063656e74726f6964506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869293b0a202063656e74726f6964506f696e7443617274657369616e28636f73506869202a20636f732431286c616d626461292c20636f73506869202a2073696e2431286c616d626461292c2073696e24312870686929293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7443617274657369616e28782c20792c207a29207b0a20202b2b57303b0a20205830202b3d202878202d20583029202f2057303b0a20205930202b3d202879202d20593029202f2057303b0a20205a30202b3d20287a202d205a3029202f2057303b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e6553746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869293b0a20207830203d20636f73506869202a20636f732431286c616d626461293b0a20207930203d20636f73506869202a2073696e2431286c616d626461293b0a20207a30203d2073696e243128706869293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e743b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869292c0a20202020202078203d20636f73506869202a20636f732431286c616d626461292c0a20202020202079203d20636f73506869202a2073696e2431286c616d626461292c0a2020202020207a203d2073696e243128706869292c0a20202020202077203d206174616e322873717274282877203d207930202a207a202d207a30202a207929202a2077202b202877203d207a30202a2078202d207830202a207a29202a2077202b202877203d207830202a2079202d207930202a207829202a2077292c207830202a2078202b207930202a2079202b207a30202a207a293b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e642829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a2f2f20536565204a2e20452e2042726f636b2c2054686520496e65727469612054656e736f7220666f7220612053706865726963616c20547269616e676c652c0a2f2f204a2e204170706c696564204d656368616e6963732034322c20323339202831393735292e0a66756e6374696f6e2063656e74726f696452696e6753746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e642829207b0a202063656e74726f696452696e67506f696e74286c616d626461303024322c2070686930302432293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e744669727374286c616d6264612c2070686929207b0a20206c616d62646130302432203d206c616d6264612c2070686930302432203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e743b0a202076617220636f73506869203d20636f73243128706869293b0a20207830203d20636f73506869202a20636f732431286c616d626461293b0a20207930203d20636f73506869202a2073696e2431286c616d626461293b0a20207a30203d2073696e243128706869293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869292c0a20202020202078203d20636f73506869202a20636f732431286c616d626461292c0a20202020202079203d20636f73506869202a2073696e2431286c616d626461292c0a2020202020207a203d2073696e243128706869292c0a2020202020206378203d207930202a207a202d207a30202a20792c0a2020202020206379203d207a30202a2078202d207830202a207a2c0a202020202020637a203d207830202a2079202d207930202a20782c0a2020202020206d203d2073717274286378202a206378202b206379202a206379202b20637a202a20637a292c0a20202020202077203d206173696e286d292c202f2f206c696e6520776569676874203d20616e676c650a20202020202076203d206d202626202d77202f206d3b202f2f206172656120776569676874206d756c7469706c6965720a20205832202b3d2076202a2063783b0a20205932202b3d2076202a2063793b0a20205a32202b3d2076202a20637a3b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f6964286f626a65637429207b0a20205730203d205731203d0a20205830203d205930203d205a30203d0a20205831203d205931203d205a31203d0a20205832203d205932203d205a32203d20303b0a202067656f53747265616d286f626a6563742c2063656e74726f696453747265616d293b0a0a20207661722078203d2058322c0a20202020202079203d2059322c0a2020202020207a203d205a322c0a2020202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a0a20202f2f2049662074686520617265612d7765696768746564206363656e74726f696420697320756e646566696e65642c2066616c6c206261636b20746f206c656e6774682d7765696768746564206363656e74726f69642e0a2020696620286d203c20657073696c6f6e32243129207b0a2020202078203d2058312c2079203d2059312c207a203d205a313b0a202020202f2f20496620746865206665617475726520686173207a65726f206c656e6774682c2066616c6c206261636b20746f2061726974686d65746963206d65616e206f6620706f696e7420766563746f72732e0a20202020696620285731203c20657073696c6f6e2432292078203d2058302c2079203d2059302c207a203d205a303b0a202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a202020202f2f204966207468652066656174757265207374696c6c2068617320616e20756e646566696e6564206363656e74726f69642c207468656e2072657475726e2e0a20202020696620286d203c20657073696c6f6e322431292072657475726e205b4e614e2c204e614e5d3b0a20207d0a0a202072657475726e205b6174616e3228792c207829202a206465677265657324312c206173696e287a202f2073717274286d2929202a206465677265657324315d3b0a7d0a0a66756e6374696f6e20636f6e7374616e742438287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20636f6d706f736528612c206229207b0a0a202066756e6374696f6e20636f6d706f736528782c207929207b0a2020202072657475726e2078203d206128782c2079292c206228785b305d2c20785b315d293b0a20207d0a0a202069662028612e696e7665727420262620622e696e766572742920636f6d706f73652e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d20622e696e7665727428782c2079292c207820262620612e696e7665727428785b305d2c20785b315d293b0a20207d3b0a0a202072657475726e20636f6d706f73653b0a7d0a0a66756e6374696f6e20726f746174696f6e4964656e74697479286c616d6264612c2070686929207b0a202072657475726e205b6c616d626461203e2070692433203f206c616d626461202d207461752433203a206c616d626461203c202d70692433203f206c616d626461202b207461752433203a206c616d6264612c207068695d3b0a7d0a0a726f746174696f6e4964656e746974792e696e76657274203d20726f746174696f6e4964656e746974793b0a0a66756e6374696f6e20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d6129207b0a202072657475726e202864656c74614c616d62646120253d20746175243329203f202864656c7461506869207c7c2064656c746147616d6d61203f20636f6d706f736528726f746174696f6e4c616d6264612864656c74614c616d626461292c20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129290a202020203a20726f746174696f6e4c616d6264612864656c74614c616d62646129290a202020203a202864656c7461506869207c7c2064656c746147616d6d61203f20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d61290a202020203a20726f746174696f6e4964656e74697479293b0a7d0a0a66756e6374696f6e20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202072657475726e2066756e6374696f6e286c616d6264612c2070686929207b0a2020202072657475726e206c616d626461202b3d2064656c74614c616d6264612c205b6c616d626461203e2070692433203f206c616d626461202d207461752433203a206c616d626461203c202d70692433203f206c616d626461202b207461752433203a206c616d6264612c207068695d3b0a20207d3b0a7d0a0a66756e6374696f6e20726f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202076617220726f746174696f6e203d20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d626461293b0a2020726f746174696f6e2e696e76657274203d20666f7277617264526f746174696f6e4c616d626461282d64656c74614c616d626461293b0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129207b0a202076617220636f7344656c7461506869203d20636f7324312864656c7461506869292c0a20202020202073696e44656c7461506869203d2073696e24312864656c7461506869292c0a202020202020636f7344656c746147616d6d61203d20636f7324312864656c746147616d6d61292c0a20202020202073696e44656c746147616d6d61203d2073696e24312864656c746147616d6d61293b0a0a202066756e6374696f6e20726f746174696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f73243128706869292c0a202020202020202078203d20636f732431286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e2431286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e243128706869292c0a20202020202020206b203d207a202a20636f7344656c7461506869202b2078202a2073696e44656c74615068693b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202d206b202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202d207a202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c746147616d6d61202b2079202a2073696e44656c746147616d6d61290a202020205d3b0a20207d0a0a2020726f746174696f6e2e696e76657274203d2066756e6374696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f73243128706869292c0a202020202020202078203d20636f732431286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e2431286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e243128706869292c0a20202020202020206b203d207a202a20636f7344656c746147616d6d61202d2079202a2073696e44656c746147616d6d613b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202b207a202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202b206b202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c7461506869202d2078202a2073696e44656c7461506869290a202020205d3b0a20207d3b0a0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e28726f7461746529207b0a2020726f74617465203d20726f7461746552616469616e7328726f746174655b305d202a2072616469616e732c20726f746174655b315d202a2072616469616e732c20726f746174652e6c656e677468203e2032203f20726f746174655b325d202a2072616469616e73203a2030293b0a0a202066756e6374696f6e20666f727761726428636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f7461746528636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d206465677265657324312c20636f6f7264696e617465735b315d202a3d206465677265657324312c20636f6f7264696e617465733b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f746174652e696e7665727428636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d206465677265657324312c20636f6f7264696e617465735b315d202a3d206465677265657324312c20636f6f7264696e617465733b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a2f2f2047656e657261746573206120636972636c652063656e7465726564206174205b30c2b02c2030c2b05d2c2077697468206120676976656e2072616469757320616e6420707265636973696f6e2e0a66756e6374696f6e20636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2074302c20743129207b0a2020696620282164656c7461292072657475726e3b0a202076617220636f73526164697573203d20636f73243128726164697573292c0a20202020202073696e526164697573203d2073696e243128726164697573292c0a20202020202073746570203d20646972656374696f6e202a2064656c74613b0a2020696620287430203d3d206e756c6c29207b0a202020207430203d20726164697573202b20646972656374696f6e202a2074617524333b0a202020207431203d20726164697573202d2073746570202f20323b0a20207d20656c7365207b0a202020207430203d20636972636c6552616469757328636f735261646975732c207430293b0a202020207431203d20636972636c6552616469757328636f735261646975732c207431293b0a2020202069662028646972656374696f6e203e2030203f207430203c207431203a207430203e20743129207430202b3d20646972656374696f6e202a2074617524333b0a20207d0a2020666f72202876617220706f696e742c2074203d2074303b20646972656374696f6e203e2030203f2074203e207431203a2074203c2074313b2074202d3d207374657029207b0a20202020706f696e74203d2073706865726963616c285b636f735261646975732c202d73696e526164697573202a20636f7324312874292c202d73696e526164697573202a2073696e24312874295d293b0a2020202073747265616d2e706f696e7428706f696e745b305d2c20706f696e745b315d293b0a20207d0a7d0a0a2f2f2052657475726e7320746865207369676e656420616e676c65206f6620612063617274657369616e20706f696e742072656c617469766520746f205b636f735261646975732c20302c20305d2e0a66756e6374696f6e20636972636c6552616469757328636f735261646975732c20706f696e7429207b0a2020706f696e74203d2063617274657369616e28706f696e74292c20706f696e745b305d202d3d20636f735261646975733b0a202063617274657369616e4e6f726d616c697a65496e506c61636528706f696e74293b0a202076617220726164697573203d2061636f73282d706f696e745b315d293b0a202072657475726e2028282d706f696e745b325d203c2030203f202d726164697573203a2072616469757329202b207461752433202d20657073696c6f6e24322920252074617524333b0a7d0a0a66756e6374696f6e20636972636c652829207b0a20207661722063656e746572203d20636f6e7374616e742438285b302c20305d292c0a202020202020726164697573203d20636f6e7374616e742438283930292c0a202020202020707265636973696f6e203d20636f6e7374616e7424382836292c0a20202020202072696e672c0a202020202020726f746174652c0a20202020202073747265616d203d207b706f696e743a20706f696e747d3b0a0a202066756e6374696f6e20706f696e7428782c207929207b0a2020202072696e672e707573682878203d20726f7461746528782c207929293b0a20202020785b305d202a3d206465677265657324312c20785b315d202a3d206465677265657324313b0a20207d0a0a202066756e6374696f6e20636972636c652829207b0a202020207661722063203d2063656e7465722e6170706c7928746869732c20617267756d656e7473292c0a202020202020202072203d207261646975732e6170706c7928746869732c20617267756d656e747329202a2072616469616e732c0a202020202020202070203d20707265636973696f6e2e6170706c7928746869732c20617267756d656e747329202a2072616469616e733b0a2020202072696e67203d205b5d3b0a20202020726f74617465203d20726f7461746552616469616e73282d635b305d202a2072616469616e732c202d635b315d202a2072616469616e732c2030292e696e766572743b0a20202020636972636c6553747265616d2873747265616d2c20722c20702c2031293b0a2020202063203d207b747970653a2022506f6c79676f6e222c20636f6f7264696e617465733a205b72696e675d7d3b0a2020202072696e67203d20726f74617465203d206e756c6c3b0a2020202072657475726e20633b0a20207d0a0a2020636972636c652e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438285b2b5f5b305d2c202b5f5b315d5d292c20636972636c6529203a2063656e7465723b0a20207d3b0a0a2020636972636c652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438282b5f292c20636972636c6529203a207261646975733b0a20207d3b0a0a2020636972636c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636973696f6e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438282b5f292c20636972636c6529203a20707265636973696f6e3b0a20207d3b0a0a202072657475726e20636972636c653b0a7d0a0a66756e6374696f6e20636c69704275666665722829207b0a2020766172206c696e6573203d205b5d2c0a2020202020206c696e653b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020206c696e652e70757368285b782c20795d293b0a202020207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020206c696e65732e70757368286c696e65203d205b5d293b0a202020207d2c0a202020206c696e65456e643a206e6f6f7024322c0a2020202072656a6f696e3a2066756e6374696f6e2829207b0a202020202020696620286c696e65732e6c656e677468203e203129206c696e65732e70757368286c696e65732e706f7028292e636f6e636174286c696e65732e7368696674282929293b0a202020207d2c0a20202020726573756c743a2066756e6374696f6e2829207b0a20202020202076617220726573756c74203d206c696e65733b0a2020202020206c696e6573203d205b5d3b0a2020202020206c696e65203d206e756c6c3b0a20202020202072657475726e20726573756c743b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20706f696e74457175616c28612c206229207b0a202072657475726e2061627328615b305d202d20625b305d29203c20657073696c6f6e24322026262061627328615b315d202d20625b315d29203c20657073696c6f6e24323b0a7d0a0a66756e6374696f6e20496e74657273656374696f6e28706f696e742c20706f696e74732c206f746865722c20656e74727929207b0a2020746869732e78203d20706f696e743b0a2020746869732e7a203d20706f696e74733b0a2020746869732e6f203d206f746865723b202f2f20616e6f7468657220696e74657273656374696f6e0a2020746869732e65203d20656e7472793b202f2f20697320616e20656e7472793f0a2020746869732e76203d2066616c73653b202f2f20766973697465640a2020746869732e6e203d20746869732e70203d206e756c6c3b202f2f206e65787420262070726576696f75730a7d0a0a2f2f20412067656e6572616c697a656420706f6c79676f6e20636c697070696e6720616c676f726974686d3a20676976656e206120706f6c79676f6e207468617420686173206265656e206375740a2f2f20696e746f206974732076697369626c65206c696e65207365676d656e74732c20616e642072656a6f696e7320746865207365676d656e747320627920696e746572706f6c6174696e670a2f2f20616c6f6e672074686520636c697020656467652e0a66756e6374696f6e20636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d29207b0a2020766172207375626a656374203d205b5d2c0a202020202020636c6970203d205b5d2c0a202020202020692c0a2020202020206e3b0a0a20207365676d656e74732e666f72456163682866756e6374696f6e287365676d656e7429207b0a2020202069662028286e203d207365676d656e742e6c656e677468202d203129203c3d2030292072657475726e3b0a20202020766172206e2c207030203d207365676d656e745b305d2c207031203d207365676d656e745b6e5d2c20783b0a0a202020202f2f2049662074686520666972737420616e64206c61737420706f696e7473206f662061207365676d656e742061726520636f696e636964656e742c207468656e20747265617420617320610a202020202f2f20636c6f7365642072696e672e20544f444f20696620616c6c2072696e67732061726520636c6f7365642c207468656e207468652077696e64696e67206f72646572206f66207468650a202020202f2f206578746572696f722072696e672073686f756c6420626520636865636b65642e0a2020202069662028706f696e74457175616c2870302c2070312929207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b69292073747265616d2e706f696e7428287030203d207365676d656e745b695d295b305d2c2070305b315d293b0a20202020202073747265616d2e6c696e65456e6428293b0a20202020202072657475726e3b0a202020207d0a0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870302c207365676d656e742c206e756c6c2c207472756529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870302c206e756c6c2c20782c2066616c736529293b0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870312c207365676d656e742c206e756c6c2c2066616c736529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870312c206e756c6c2c20782c207472756529293b0a20207d293b0a0a202069662028217375626a6563742e6c656e677468292072657475726e3b0a0a2020636c69702e736f727428636f6d70617265496e74657273656374696f6e293b0a20206c696e6b2431287375626a656374293b0a20206c696e6b243128636c6970293b0a0a2020666f72202869203d20302c206e203d20636c69702e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020636c69705b695d2e65203d207374617274496e73696465203d20217374617274496e736964653b0a20207d0a0a2020766172207374617274203d207375626a6563745b305d2c0a202020202020706f696e74732c0a202020202020706f696e743b0a0a20207768696c6520283129207b0a202020202f2f2046696e6420666972737420756e7669736974656420696e74657273656374696f6e2e0a202020207661722063757272656e74203d2073746172742c0a202020202020202069735375626a656374203d20747275653b0a202020207768696c65202863757272656e742e762920696620282863757272656e74203d2063757272656e742e6e29203d3d3d207374617274292072657475726e3b0a20202020706f696e7473203d2063757272656e742e7a3b0a2020202073747265616d2e6c696e65537461727428293b0a20202020646f207b0a20202020202063757272656e742e76203d2063757272656e742e6f2e76203d20747275653b0a2020202020206966202863757272656e742e6529207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020666f72202869203d20302c206e203d20706f696e74732e6c656e6774683b2069203c206e3b202b2b69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e6e2e782c20312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e6e3b0a2020202020207d20656c7365207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020706f696e7473203d2063757272656e742e702e7a3b0a20202020202020202020666f72202869203d20706f696e74732e6c656e677468202d20313b2069203e3d20303b202d2d69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e702e782c202d312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e703b0a2020202020207d0a20202020202063757272656e74203d2063757272656e742e6f3b0a202020202020706f696e7473203d2063757272656e742e7a3b0a20202020202069735375626a656374203d202169735375626a6563743b0a202020207d207768696c6520282163757272656e742e76293b0a2020202073747265616d2e6c696e65456e6428293b0a20207d0a7d0a0a66756e6374696f6e206c696e6b243128617272617929207b0a20206966202821286e203d2061727261792e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a20202020202061203d2061727261795b305d2c0a202020202020623b0a20207768696c6520282b2b69203c206e29207b0a20202020612e6e203d2062203d2061727261795b695d3b0a20202020622e70203d20613b0a2020202061203d20623b0a20207d0a2020612e6e203d2062203d2061727261795b305d3b0a2020622e70203d20613b0a7d0a0a7661722073756d2431203d20616464657228293b0a0a66756e6374696f6e20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c20706f696e7429207b0a2020766172206c616d626461203d20706f696e745b305d2c0a202020202020706869203d20706f696e745b315d2c0a20202020202073696e506869203d2073696e243128706869292c0a2020202020206e6f726d616c203d205b73696e2431286c616d626461292c202d636f732431286c616d626461292c20305d2c0a202020202020616e676c65203d20302c0a20202020202077696e64696e67203d20303b0a0a202073756d24312e726573657428293b0a0a20206966202873696e506869203d3d3d20312920706869203d2068616c6650692432202b20657073696c6f6e24323b0a2020656c7365206966202873696e506869203d3d3d202d312920706869203d202d68616c6650692432202d20657073696c6f6e24323b0a0a2020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a202020206966202821286d203d202872696e67203d20706f6c79676f6e5b695d292e6c656e677468292920636f6e74696e75653b0a202020207661722072696e672c0a20202020202020206d2c0a2020202020202020706f696e7430203d2072696e675b6d202d20315d2c0a20202020202020206c616d62646130203d20706f696e74305b305d2c0a202020202020202070686930203d20706f696e74305b315d202f2032202b207175617274657250692c0a202020202020202073696e50686930203d2073696e24312870686930292c0a2020202020202020636f7350686930203d20636f7324312870686930293b0a0a20202020666f722028766172206a203d20303b206a203c206d3b202b2b6a2c206c616d62646130203d206c616d626461312c2073696e50686930203d2073696e506869312c20636f7350686930203d20636f73506869312c20706f696e7430203d20706f696e743129207b0a20202020202076617220706f696e7431203d2072696e675b6a5d2c0a202020202020202020206c616d62646131203d20706f696e74315b305d2c0a2020202020202020202070686931203d20706f696e74315b315d202f2032202b207175617274657250692c0a2020202020202020202073696e50686931203d2073696e24312870686931292c0a20202020202020202020636f7350686931203d20636f7324312870686931292c0a2020202020202020202064656c7461203d206c616d62646131202d206c616d626461302c0a202020202020202020207369676e242431203d2064656c7461203e3d2030203f2031203a202d312c0a2020202020202020202061627344656c7461203d207369676e242431202a2064656c74612c0a20202020202020202020616e74696d6572696469616e203d2061627344656c7461203e20706924332c0a202020202020202020206b203d2073696e50686930202a2073696e506869313b0a0a20202020202073756d24312e616464286174616e32286b202a207369676e242431202a2073696e24312861627344656c7461292c20636f7350686930202a20636f7350686931202b206b202a20636f7324312861627344656c74612929293b0a202020202020616e676c65202b3d20616e74696d6572696469616e203f2064656c7461202b207369676e242431202a207461752433203a2064656c74613b0a0a2020202020202f2f2041726520746865206c6f6e67697475646573206569746865722073696465206f662074686520706f696e74e2809973206d6572696469616e20286c616d626461292c0a2020202020202f2f20616e642061726520746865206c617469747564657320736d616c6c6572207468616e2074686520706172616c6c656c2028706869293f0a20202020202069662028616e74696d6572696469616e205e206c616d62646130203e3d206c616d626461205e206c616d62646131203e3d206c616d62646129207b0a202020202020202076617220617263203d2063617274657369616e43726f73732863617274657369616e28706f696e7430292c2063617274657369616e28706f696e743129293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528617263293b0a202020202020202076617220696e74657273656374696f6e203d2063617274657369616e43726f7373286e6f726d616c2c20617263293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528696e74657273656374696f6e293b0a202020202020202076617220706869417263203d2028616e74696d6572696469616e205e2064656c7461203e3d2030203f202d31203a203129202a206173696e28696e74657273656374696f6e5b325d293b0a202020202020202069662028706869203e20706869417263207c7c20706869203d3d3d2070686941726320262620286172635b305d207c7c206172635b315d2929207b0a2020202020202020202077696e64696e67202b3d20616e74696d6572696469616e205e2064656c7461203e3d2030203f2031203a202d313b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a20202f2f2046697273742c2064657465726d696e6520776865746865722074686520536f75746820706f6c6520697320696e73696465206f72206f7574736964653a0a20202f2f0a20202f2f20497420697320696e736964652069663a0a20202f2f202a2074686520706f6c79676f6e2077696e64732061726f756e6420697420696e206120636c6f636b7769736520646972656374696f6e2e0a20202f2f202a2074686520706f6c79676f6e20646f6573206e6f74202863756d756c61746976656c79292077696e642061726f756e642069742c20627574206861732061206e656761746976650a20202f2f20202028636f756e7465722d636c6f636b776973652920617265612e0a20202f2f0a20202f2f205365636f6e642c20636f756e742074686520287369676e656429206e756d626572206f662074696d65732061207365676d656e742063726f737365732061206c616d6264610a20202f2f2066726f6d2074686520706f696e7420746f2074686520536f75746820706f6c652e20204966206974206973207a65726f2c207468656e2074686520706f696e74206973207468650a20202f2f2073616d6520736964652061732074686520536f75746820706f6c652e0a0a202072657475726e2028616e676c65203c202d657073696c6f6e2432207c7c20616e676c65203c20657073696c6f6e24322026262073756d2431203c202d657073696c6f6e243229205e202877696e64696e6720262031293b0a7d0a0a66756e6374696f6e20636c697028706f696e7456697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20737461727429207b0a202072657475726e2066756e6374696f6e2873696e6b29207b0a20202020766172206c696e65203d20636c69704c696e652873696e6b292c0a202020202020202072696e67427566666572203d20636c697042756666657228292c0a202020202020202072696e6753696e6b203d20636c69704c696e652872696e67427566666572292c0a2020202020202020706f6c79676f6e53746172746564203d2066616c73652c0a2020202020202020706f6c79676f6e2c0a20202020202020207365676d656e74732c0a202020202020202072696e673b0a0a2020202076617220636c6970203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e7452696e673b0a2020202020202020636c69702e6c696e655374617274203d2072696e6753746172743b0a2020202020202020636c69702e6c696e65456e64203d2072696e67456e643b0a20202020202020207365676d656e7473203d205b5d3b0a2020202020202020706f6c79676f6e203d205b5d3b0a2020202020207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e743b0a2020202020202020636c69702e6c696e655374617274203d206c696e6553746172743b0a2020202020202020636c69702e6c696e65456e64203d206c696e65456e643b0a20202020202020207365676d656e7473203d206d65726765287365676d656e7473293b0a2020202020202020766172207374617274496e73696465203d20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c207374617274293b0a2020202020202020696620287365676d656e74732e6c656e67746829207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073696e6b293b0a20202020202020207d20656c736520696620287374617274496e7369646529207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202069662028706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e456e6428292c20706f6c79676f6e53746172746564203d2066616c73653b0a20202020202020207365676d656e7473203d20706f6c79676f6e203d206e756c6c3b0a2020202020207d2c0a2020202020207370686572653a2066756e6374696f6e2829207b0a202020202020202073696e6b2e706f6c79676f6e537461727428293b0a202020202020202073696e6b2e6c696e65537461727428293b0a2020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a202020202020202073696e6b2e6c696e65456e6428293b0a202020202020202073696e6b2e706f6c79676f6e456e6428293b0a2020202020207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e74286c616d6264612c2070686929207b0a20202020202069662028706f696e7456697369626c65286c616d6264612c2070686929292073696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e20706f696e744c696e65286c616d6264612c2070686929207b0a2020202020206c696e652e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c69702e706f696e74203d20706f696e744c696e653b0a2020202020206c696e652e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020636c69702e706f696e74203d20706f696e743b0a2020202020206c696e652e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e20706f696e7452696e67286c616d6264612c2070686929207b0a20202020202072696e672e70757368285b6c616d6264612c207068695d293b0a20202020202072696e6753696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a20202020202072696e6753696e6b2e6c696e65537461727428293b0a20202020202072696e67203d205b5d3b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020706f696e7452696e672872696e675b305d5b305d2c2072696e675b305d5b315d293b0a20202020202072696e6753696e6b2e6c696e65456e6428293b0a0a20202020202076617220636c65616e203d2072696e6753696e6b2e636c65616e28292c0a2020202020202020202072696e675365676d656e7473203d2072696e674275666665722e726573756c7428292c0a20202020202020202020692c206e203d2072696e675365676d656e74732e6c656e6774682c206d2c0a202020202020202020207365676d656e742c0a20202020202020202020706f696e743b0a0a20202020202072696e672e706f7028293b0a202020202020706f6c79676f6e2e707573682872696e67293b0a20202020202072696e67203d206e756c6c3b0a0a20202020202069662028216e292072657475726e3b0a0a2020202020202f2f204e6f20696e74657273656374696f6e732e0a20202020202069662028636c65616e2026203129207b0a20202020202020207365676d656e74203d2072696e675365676d656e74735b305d3b0a202020202020202069662028286d203d207365676d656e742e6c656e677468202d203129203e203029207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020666f72202869203d20303b2069203c206d3b202b2b69292073696e6b2e706f696e742828706f696e74203d207365676d656e745b695d295b305d2c20706f696e745b315d293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a0a2020202020202f2f2052656a6f696e20636f6e6e6563746564207365676d656e74732e0a2020202020202f2f20544f444f2072657573652072696e674275666665722e72656a6f696e28293f0a202020202020696620286e203e203120262620636c65616e20262032292072696e675365676d656e74732e707573682872696e675365676d656e74732e706f7028292e636f6e6361742872696e675365676d656e74732e7368696674282929293b0a0a2020202020207365676d656e74732e707573682872696e675365676d656e74732e66696c7465722876616c69645365676d656e7429293b0a202020207d0a0a2020202072657475726e20636c69703b0a20207d3b0a7d0a0a66756e6374696f6e2076616c69645365676d656e74287365676d656e7429207b0a202072657475726e207365676d656e742e6c656e677468203e20313b0a7d0a0a2f2f20496e74657273656374696f6e732061726520736f7274656420616c6f6e672074686520636c697020656467652e20466f7220626f746820616e74696d6572696469616e2063757474696e670a2f2f20616e6420636972636c6520636c697070696e672c207468652073616d6520636f6d70617269736f6e20697320757365642e0a66756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a202072657475726e20282861203d20612e78295b305d203c2030203f20615b315d202d2068616c6650692432202d20657073696c6f6e2432203a2068616c6650692432202d20615b315d290a202020202020202d20282862203d20622e78295b305d203c2030203f20625b315d202d2068616c6650692432202d20657073696c6f6e2432203a2068616c6650692432202d20625b315d293b0a7d0a0a76617220636c6970416e74696d6572696469616e203d20636c6970280a202066756e6374696f6e2829207b2072657475726e20747275653b207d2c0a2020636c6970416e74696d6572696469616e4c696e652c0a2020636c6970416e74696d6572696469616e496e746572706f6c6174652c0a20205b2d706924332c202d68616c66506924325d0a293b0a0a2f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c7565733a2030202d20746865726520776572650a2f2f20696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f20696e74657273656374696f6e733b2032202d20746865726520776572650a2f2f20696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74732073686f756c642062652072656a6f696e65642e0a66756e6374696f6e20636c6970416e74696d6572696469616e4c696e652873747265616d29207b0a2020766172206c616d62646130203d204e614e2c0a20202020202070686930203d204e614e2c0a2020202020207369676e30203d204e614e2c0a202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a0a202072657475726e207b0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020636c65616e203d20313b0a202020207d2c0a20202020706f696e743a2066756e6374696f6e286c616d626461312c207068693129207b0a202020202020766172207369676e31203d206c616d62646131203e2030203f2070692433203a202d706924332c0a2020202020202020202064656c7461203d20616273286c616d62646131202d206c616d62646130293b0a202020202020696620286162732864656c7461202d207069243329203c20657073696c6f6e243229207b202f2f206c696e652063726f73736573206120706f6c650a202020202020202073747265616d2e706f696e74286c616d626461302c2070686930203d202870686930202b207068693129202f2032203e2030203f2068616c6650692432203a202d68616c6650692432293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a202020202020202073747265616d2e706f696e74286c616d626461312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d20656c736520696620287369676e3020213d3d207369676e312026262064656c7461203e3d207069243329207b202f2f206c696e652063726f7373657320616e74696d6572696469616e0a202020202020202069662028616273286c616d62646130202d207369676e3029203c20657073696c6f6e243229206c616d62646130202d3d207369676e30202a20657073696c6f6e24323b202f2f2068616e646c6520646567656e657261636965730a202020202020202069662028616273286c616d62646131202d207369676e3129203c20657073696c6f6e243229206c616d62646131202d3d207369676e31202a20657073696c6f6e24323b0a202020202020202070686930203d20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c2070686931293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d0a20202020202073747265616d2e706f696e74286c616d62646130203d206c616d626461312c2070686930203d2070686931293b0a2020202020207369676e30203d207369676e313b0a202020207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65456e6428293b0a2020202020206c616d62646130203d2070686930203d204e614e3b0a202020207d2c0a20202020636c65616e3a2066756e6374696f6e2829207b0a20202020202072657475726e2032202d20636c65616e3b202f2f20696620696e74657273656374696f6e732c2072656a6f696e20666972737420616e64206c617374207365676d656e74730a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c207068693129207b0a202076617220636f73506869302c0a202020202020636f73506869312c0a20202020202073696e4c616d626461304c616d62646131203d2073696e2431286c616d62646130202d206c616d62646131293b0a202072657475726e206162732873696e4c616d626461304c616d6264613129203e20657073696c6f6e24320a2020202020203f206174616e282873696e2431287068693029202a2028636f7350686931203d20636f73243128706869312929202a2073696e2431286c616d62646131290a202020202020202020202d2073696e2431287068693129202a2028636f7350686930203d20636f73243128706869302929202a2073696e2431286c616d6264613029290a202020202020202020202f2028636f7350686930202a20636f7350686931202a2073696e4c616d626461304c616d6264613129290a2020202020203a202870686930202b207068693129202f20323b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a2020766172207068693b0a20206966202866726f6d203d3d206e756c6c29207b0a20202020706869203d20646972656374696f6e202a2068616c66506924323b0a2020202073747265616d2e706f696e74282d706924332c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e7428706924332c20706869293b0a2020202073747265616d2e706f696e7428706924332c2030293b0a2020202073747265616d2e706f696e7428706924332c202d706869293b0a2020202073747265616d2e706f696e7428302c202d706869293b0a2020202073747265616d2e706f696e74282d706924332c202d706869293b0a2020202073747265616d2e706f696e74282d706924332c2030293b0a2020202073747265616d2e706f696e74282d706924332c20706869293b0a20207d20656c736520696620286162732866726f6d5b305d202d20746f5b305d29203e20657073696c6f6e243229207b0a20202020766172206c616d626461203d2066726f6d5b305d203c20746f5b305d203f2070692433203a202d706924333b0a20202020706869203d20646972656374696f6e202a206c616d626461202f20323b0a2020202073747265616d2e706f696e74282d6c616d6264612c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e74286c616d6264612c20706869293b0a20207d20656c7365207b0a2020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a20207d0a7d0a0a66756e6374696f6e20636c6970436972636c652872616469757329207b0a2020766172206372203d20636f73243128726164697573292c0a20202020202064656c7461203d2036202a2072616469616e732c0a202020202020736d616c6c526164697573203d206372203e20302c0a2020202020206e6f7448656d69737068657265203d2061627328637229203e20657073696c6f6e24323b202f2f20544f444f206f7074696d69736520666f72207468697320636f6d6d6f6e20636173650a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a20202020636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2066726f6d2c20746f293b0a20207d0a0a202066756e6374696f6e2076697369626c65286c616d6264612c2070686929207b0a2020202072657475726e20636f732431286c616d62646129202a20636f7324312870686929203e2063723b0a20207d0a0a20202f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c756573207573656420666f7220706f6c79676f6e0a20202f2f20636c697070696e673a2030202d207468657265207765726520696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f0a20202f2f20696e74657273656374696f6e732032202d207468657265207765726520696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74730a20202f2f2073686f756c642062652072656a6f696e65642e0a202066756e6374696f6e20636c69704c696e652873747265616d29207b0a2020202076617220706f696e74302c202f2f2070726576696f757320706f696e740a202020202020202063302c202f2f20636f646520666f722070726576696f757320706f696e740a202020202020202076302c202f2f207669736962696c697479206f662070726576696f757320706f696e740a20202020202020207630302c202f2f207669736962696c697479206f6620666972737420706f696e740a2020202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a2020202072657475726e207b0a2020202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020202020763030203d207630203d2066616c73653b0a2020202020202020636c65616e203d20313b0a2020202020207d2c0a202020202020706f696e743a2066756e6374696f6e286c616d6264612c2070686929207b0a202020202020202076617220706f696e7431203d205b6c616d6264612c207068695d2c0a202020202020202020202020706f696e74322c0a20202020202020202020202076203d2076697369626c65286c616d6264612c20706869292c0a20202020202020202020202063203d20736d616c6c5261646975730a20202020202020202020202020203f2076203f2030203a20636f6465286c616d6264612c20706869290a20202020202020202020202020203a2076203f20636f6465286c616d626461202b20286c616d626461203c2030203f2070692433203a202d70692433292c2070686929203a20303b0a20202020202020206966202821706f696e74302026262028763030203d207630203d207629292073747265616d2e6c696e65537461727428293b0a20202020202020202f2f2048616e646c6520646567656e657261636965732e0a20202020202020202f2f20544f444f2069676e6f7265206966206e6f7420636c697070696e6720706f6c79676f6e732e0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a202020202020202020206966202821706f696e7432207c7c20706f696e74457175616c28706f696e74302c20706f696e743229207c7c20706f696e74457175616c28706f696e74312c20706f696e74322929207b0a202020202020202020202020706f696e74315b305d202b3d20657073696c6f6e24323b0a202020202020202020202020706f696e74315b315d202b3d20657073696c6f6e24323b0a20202020202020202020202076203d2076697369626c6528706f696e74315b305d2c20706f696e74315b315d293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020636c65616e203d20303b0a20202020202020202020696620287629207b0a2020202020202020202020202f2f206f75747369646520676f696e6720696e0a20202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74312c20706f696e7430293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a202020202020202020207d20656c7365207b0a2020202020202020202020202f2f20696e7369646520676f696e67206f75740a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a20202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020207d0a20202020202020202020706f696e7430203d20706f696e74323b0a20202020202020207d20656c736520696620286e6f7448656d6973706865726520262620706f696e743020262620736d616c6c526164697573205e207629207b0a2020202020202020202076617220743b0a202020202020202020202f2f2049662074686520636f64657320666f722074776f20706f696e74732061726520646966666572656e742c206f722061726520626f7468207a65726f2c0a202020202020202020202f2f20616e642074686572652074686973207365676d656e7420696e746572736563747320776974682074686520736d616c6c20636972636c652e0a2020202020202020202069662028212863202620633029202626202874203d20696e7465727365637428706f696e74312c20706f696e74302c2074727565292929207b0a202020202020202020202020636c65616e203d20303b0a20202020202020202020202069662028736d616c6c52616469757329207b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a20202020202020206966202876202626202821706f696e7430207c7c2021706f696e74457175616c28706f696e74302c20706f696e7431292929207b0a2020202020202020202073747265616d2e706f696e7428706f696e74315b305d2c20706f696e74315b315d293b0a20202020202020207d0a2020202020202020706f696e7430203d20706f696e74312c207630203d20762c206330203d20633b0a2020202020207d2c0a2020202020206c696e65456e643a2066756e6374696f6e2829207b0a2020202020202020696620287630292073747265616d2e6c696e65456e6428293b0a2020202020202020706f696e7430203d206e756c6c3b0a2020202020207d2c0a2020202020202f2f2052656a6f696e20666972737420616e64206c617374207365676d656e7473206966207468657265207765726520696e74657273656374696f6e7320616e64207468652066697273740a2020202020202f2f20616e64206c61737420706f696e747320776572652076697369626c652e0a202020202020636c65616e3a2066756e6374696f6e2829207b0a202020202020202072657475726e20636c65616e207c20282876303020262620763029203c3c2031293b0a2020202020207d0a202020207d3b0a20207d0a0a20202f2f20496e74657273656374732074686520677265617420636972636c65206265747765656e206120616e64206220776974682074686520636c697020636972636c652e0a202066756e6374696f6e20696e7465727365637428612c20622c2074776f29207b0a20202020766172207061203d2063617274657369616e2861292c0a20202020202020207062203d2063617274657369616e2862293b0a0a202020202f2f20576520686176652074776f20706c616e65732c206e312e70203d20643120616e64206e322e70203d2064322e0a202020202f2f2046696e6420696e74657273656374696f6e206c696e652070287429203d206331206e31202b206332206e32202b207420286e3120e2a8af206e32292e0a20202020766172206e31203d205b312c20302c20305d2c202f2f206e6f726d616c0a20202020202020206e32203d2063617274657369616e43726f73732870612c207062292c0a20202020202020206e326e32203d2063617274657369616e446f74286e322c206e32292c0a20202020202020206e316e32203d206e325b305d2c202f2f2063617274657369616e446f74286e312c206e32292c0a202020202020202064657465726d696e616e74203d206e326e32202d206e316e32202a206e316e323b0a0a202020202f2f2054776f20706f6c617220706f696e74732e0a20202020696620282164657465726d696e616e74292072657475726e202174776f20262620613b0a0a20202020766172206331203d20206372202a206e326e32202f2064657465726d696e616e742c0a20202020202020206332203d202d6372202a206e316e32202f2064657465726d696e616e742c0a20202020202020206e31786e32203d2063617274657369616e43726f7373286e312c206e32292c0a202020202020202041203d2063617274657369616e5363616c65286e312c206331292c0a202020202020202042203d2063617274657369616e5363616c65286e322c206332293b0a2020202063617274657369616e416464496e506c61636528412c2042293b0a0a202020202f2f20536f6c7665207c702874297c5e32203d20312e0a202020207661722075203d206e31786e322c0a202020202020202077203d2063617274657369616e446f7428412c2075292c0a20202020202020207575203d2063617274657369616e446f7428752c2075292c0a20202020202020207432203d2077202a2077202d207575202a202863617274657369616e446f7428412c204129202d2031293b0a0a20202020696620287432203c2030292072657475726e3b0a0a202020207661722074203d2073717274287432292c0a202020202020202071203d2063617274657369616e5363616c6528752c20282d77202d207429202f207575293b0a2020202063617274657369616e416464496e506c61636528712c2041293b0a2020202071203d2073706865726963616c2871293b0a0a20202020696620282174776f292072657475726e20713b0a0a202020202f2f2054776f20696e74657273656374696f6e20706f696e74732e0a20202020766172206c616d62646130203d20615b305d2c0a20202020202020206c616d62646131203d20625b305d2c0a202020202020202070686930203d20615b315d2c0a202020202020202070686931203d20625b315d2c0a20202020202020207a3b0a0a20202020696620286c616d62646131203c206c616d6264613029207a203d206c616d626461302c206c616d62646130203d206c616d626461312c206c616d62646131203d207a3b0a0a202020207661722064656c7461203d206c616d62646131202d206c616d626461302c0a2020202020202020706f6c6172203d206162732864656c7461202d207069243329203c20657073696c6f6e24322c0a20202020202020206d6572696469616e203d20706f6c6172207c7c2064656c7461203c20657073696c6f6e24323b0a0a202020206966202821706f6c61722026262070686931203c207068693029207a203d20706869302c2070686930203d20706869312c2070686931203d207a3b0a0a202020202f2f20436865636b20746861742074686520666972737420706f696e74206973206265747765656e206120616e6420622e0a20202020696620286d6572696469616e0a20202020202020203f20706f6c61720a202020202020202020203f2070686930202b2070686931203e2030205e20715b315d203c202861627328715b305d202d206c616d6264613029203c20657073696c6f6e2432203f2070686930203a2070686931290a202020202020202020203a2070686930203c3d20715b315d20262620715b315d203c3d20706869310a20202020202020203a2064656c7461203e2070692433205e20286c616d62646130203c3d20715b305d20262620715b305d203c3d206c616d626461312929207b0a202020202020766172207131203d2063617274657369616e5363616c6528752c20282d77202b207429202f207575293b0a20202020202063617274657369616e416464496e506c6163652871312c2041293b0a20202020202072657475726e205b712c2073706865726963616c287131295d3b0a202020207d0a20207d0a0a20202f2f2047656e657261746573206120342d62697420766563746f7220726570726573656e74696e6720746865206c6f636174696f6e206f66206120706f696e742072656c617469766520746f0a20202f2f2074686520736d616c6c20636972636c65277320626f756e64696e6720626f782e0a202066756e6374696f6e20636f6465286c616d6264612c2070686929207b0a202020207661722072203d20736d616c6c526164697573203f20726164697573203a2070692433202d207261646975732c0a2020202020202020636f6465203d20303b0a20202020696620286c616d626461203c202d722920636f6465207c3d20313b202f2f206c6566740a20202020656c736520696620286c616d626461203e20722920636f6465207c3d20323b202f2f2072696768740a2020202069662028706869203c202d722920636f6465207c3d20343b202f2f2062656c6f770a20202020656c73652069662028706869203e20722920636f6465207c3d20383b202f2f2061626f76650a2020202072657475726e20636f64653b0a20207d0a0a202072657475726e20636c69702876697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20736d616c6c526164697573203f205b302c202d7261646975735d203a205b2d706924332c20726164697573202d20706924335d293b0a7d0a0a66756e6374696f6e20636c69704c696e6528612c20622c2078302c2079302c2078312c20793129207b0a2020766172206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a2020696620287430203e20302920615b305d203d206178202b207430202a2064782c20615b315d203d206179202b207430202a2064793b0a2020696620287431203c20312920625b305d203d206178202b207431202a2064782c20625b315d203d206179202b207431202a2064793b0a202072657475726e20747275653b0a7d0a0a76617220636c69704d6178203d203165392c20636c69704d696e203d202d636c69704d61783b0a0a2f2f20544f444f205573652064332d706f6c79676f6ee280997320706f6c79676f6e436f6e7461696e73206865726520666f72207468652072696e6720636865636b3f0a2f2f20544f444f20456c696d696e617465206475706c696361746520627566666572696e6720696e20636c697042756666657220616e6420706f6c79676f6e2e707573683f0a0a66756e6374696f6e20636c697052656374616e676c652878302c2079302c2078312c20793129207b0a0a202066756e6374696f6e2076697369626c6528782c207929207b0a2020202072657475726e207830203c3d20782026262078203c3d207831202626207930203c3d20792026262079203c3d2079313b0a20207d0a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a202020207661722061203d20302c206131203d20303b0a202020206966202866726f6d203d3d206e756c6c0a20202020202020207c7c202861203d20636f726e65722866726f6d2c20646972656374696f6e292920213d3d20286131203d20636f726e657228746f2c20646972656374696f6e29290a20202020202020207c7c20636f6d70617265506f696e742866726f6d2c20746f29203c2030205e20646972656374696f6e203e203029207b0a202020202020646f2073747265616d2e706f696e742861203d3d3d2030207c7c2061203d3d3d2033203f207830203a2078312c2061203e2031203f207931203a207930293b0a2020202020207768696c6520282861203d202861202b20646972656374696f6e202b203429202520342920213d3d206131293b0a202020207d20656c7365207b0a20202020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a202020207d0a20207d0a0a202066756e6374696f6e20636f726e657228702c20646972656374696f6e29207b0a2020202072657475726e2061627328705b305d202d20783029203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2030203a20330a20202020202020203a2061627328705b305d202d20783129203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2032203a20310a20202020202020203a2061627328705b315d202d20793029203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2031203a20300a20202020202020203a20646972656374696f6e203e2030203f2033203a20323b202f2f2061627328705b315d202d20793129203c20657073696c6f6e0a20207d0a0a202066756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265506f696e7428612e782c20622e78293b0a20207d0a0a202066756e6374696f6e20636f6d70617265506f696e7428612c206229207b0a20202020766172206361203d20636f726e657228612c2031292c0a20202020202020206362203d20636f726e657228622c2031293b0a2020202072657475726e20636120213d3d206362203f206361202d2063620a20202020202020203a206361203d3d3d2030203f20625b315d202d20615b315d0a20202020202020203a206361203d3d3d2031203f20615b305d202d20625b305d0a20202020202020203a206361203d3d3d2032203f20615b315d202d20625b315d0a20202020202020203a20625b305d202d20615b305d3b0a20207d0a0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722061637469766553747265616d203d2073747265616d2c0a202020202020202062756666657253747265616d203d20636c697042756666657228292c0a20202020202020207365676d656e74732c0a2020202020202020706f6c79676f6e2c0a202020202020202072696e672c0a2020202020202020785f5f2c20795f5f2c20765f5f2c202f2f20666972737420706f696e740a2020202020202020785f2c20795f2c20765f2c202f2f2070726576696f757320706f696e740a202020202020202066697273742c0a2020202020202020636c65616e3b0a0a2020202076617220636c697053747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a20706f6c79676f6e53746172742c0a202020202020706f6c79676f6e456e643a20706f6c79676f6e456e640a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a2020202020206966202876697369626c6528782c207929292061637469766553747265616d2e706f696e7428782c2079293b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e496e736964652829207b0a2020202020207661722077696e64696e67203d20303b0a0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020202020666f7220287661722072696e67203d20706f6c79676f6e5b695d2c206a203d20312c206d203d2072696e672e6c656e6774682c20706f696e74203d2072696e675b305d2c2061302c2061312c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b206a203c206d3b202b2b6a29207b0a202020202020202020206130203d2062302c206131203d2062312c20706f696e74203d2072696e675b6a5d2c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b0a20202020202020202020696620286131203c3d20793129207b20696620286231203e20793120262620286230202d20613029202a20287931202d20613129203e20286231202d20613129202a20287830202d2061302929202b2b77696e64696e673b207d0a20202020202020202020656c7365207b20696620286231203c3d20793120262620286230202d20613029202a20287931202d20613129203c20286231202d20613129202a20287830202d2061302929202d2d77696e64696e673b207d0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e2077696e64696e673b0a202020207d0a0a202020202f2f204275666665722067656f6d657472792077697468696e206120706f6c79676f6e20616e64207468656e20636c697020697420656e206d617373652e0a2020202066756e6374696f6e20706f6c79676f6e53746172742829207b0a20202020202061637469766553747265616d203d2062756666657253747265616d2c207365676d656e7473203d205b5d2c20706f6c79676f6e203d205b5d2c20636c65616e203d20747275653b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e456e642829207b0a202020202020766172207374617274496e73696465203d20706f6c79676f6e496e7369646528292c0a20202020202020202020636c65616e496e73696465203d20636c65616e202626207374617274496e736964652c0a2020202020202020202076697369626c65203d20287365676d656e7473203d206d65726765287365676d656e747329292e6c656e6774683b0a20202020202069662028636c65616e496e73696465207c7c2076697369626c6529207b0a202020202020202073747265616d2e706f6c79676f6e537461727428293b0a202020202020202069662028636c65616e496e7369646529207b0a2020202020202020202073747265616d2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073747265616d293b0a2020202020202020202073747265616d2e6c696e65456e6428293b0a20202020202020207d0a20202020202020206966202876697369626c6529207b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d293b0a20202020202020207d0a202020202020202073747265616d2e706f6c79676f6e456e6428293b0a2020202020207d0a20202020202061637469766553747265616d203d2073747265616d2c207365676d656e7473203d20706f6c79676f6e203d2072696e67203d206e756c6c3b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c697053747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202069662028706f6c79676f6e2920706f6c79676f6e2e707573682872696e67203d205b5d293b0a2020202020206669727374203d20747275653b0a202020202020765f203d2066616c73653b0a202020202020785f203d20795f203d204e614e3b0a202020207d0a0a202020202f2f20544f444f20726174686572207468616e207370656369616c2d6361736520706f6c79676f6e732c2073696d706c792068616e646c65207468656d2073657061726174656c792e0a202020202f2f20496465616c6c792c20636f696e636964656e7420696e74657273656374696f6e20706f696e74732073686f756c64206265206a6974746572656420746f2061766f69640a202020202f2f20636c697070696e67206973737565732e0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020696620287365676d656e747329207b0a20202020202020206c696e65506f696e7428785f5f2c20795f5f293b0a202020202020202069662028765f5f20262620765f292062756666657253747265616d2e72656a6f696e28293b0a20202020202020207365676d656e74732e707573682862756666657253747265616d2e726573756c742829293b0a2020202020207d0a202020202020636c697053747265616d2e706f696e74203d20706f696e743b0a20202020202069662028765f292061637469766553747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e7428782c207929207b0a2020202020207661722076203d2076697369626c6528782c2079293b0a20202020202069662028706f6c79676f6e292072696e672e70757368285b782c20795d293b0a20202020202069662028666972737429207b0a2020202020202020785f5f203d20782c20795f5f203d20792c20765f5f203d20763b0a20202020202020206669727374203d2066616c73653b0a2020202020202020696620287629207b0a2020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a2020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020696620287620262620765f292061637469766553747265616d2e706f696e7428782c2079293b0a2020202020202020656c7365207b0a202020202020202020207661722061203d205b785f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20785f29292c20795f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20795f29295d2c0a202020202020202020202020202062203d205b78203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207829292c2079203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207929295d3b0a2020202020202020202069662028636c69704c696e6528612c20622c2078302c2079302c2078312c2079312929207b0a2020202020202020202020206966202821765f29207b0a202020202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a202020202020202020202020202061637469766553747265616d2e706f696e7428615b305d2c20615b315d293b0a2020202020202020202020207d0a20202020202020202020202061637469766553747265616d2e706f696e7428625b305d2c20625b315d293b0a202020202020202020202020696620282176292061637469766553747265616d2e6c696e65456e6428293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d20656c736520696620287629207b0a20202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a20202020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020202020785f203d20782c20795f203d20792c20765f203d20763b0a202020207d0a0a2020202072657475726e20636c697053747265616d3b0a20207d3b0a7d0a0a66756e6374696f6e20657874656e7424312829207b0a2020766172207830203d20302c0a2020202020207930203d20302c0a2020202020207831203d203936302c0a2020202020207931203d203530302c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a202020202020636c69703b0a0a202072657475726e20636c6970203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d20636c697052656374616e676c652878302c2079302c2078312c2079312928636163686553747265616d203d2073747265616d293b0a202020207d2c0a20202020657874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d2c206361636865203d20636163686553747265616d203d206e756c6c2c20636c697029203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d0a20207d3b0a7d0a0a766172206c656e67746853756d203d20616464657228292c0a202020206c616d6264613024322c0a2020202073696e5068693024312c0a20202020636f735068693024313b0a0a766172206c656e67746853747265616d203d207b0a20207370686572653a206e6f6f7024322c0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206c656e6774684c696e6553746172742c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a206e6f6f7024322c0a2020706f6c79676f6e456e643a206e6f6f7024320a7d3b0a0a66756e6374696f6e206c656e6774684c696e6553746172742829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e7446697273743b0a20206c656e67746853747265616d2e6c696e65456e64203d206c656e6774684c696e65456e643b0a7d0a0a66756e6374696f6e206c656e6774684c696e65456e642829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e67746853747265616d2e6c696e65456e64203d206e6f6f7024323b0a7d0a0a66756e6374696f6e206c656e677468506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e243128706869292c20636f73506869302431203d20636f73243128706869293b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e743b0a7d0a0a66756e6374696f6e206c656e677468506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20207661722073696e506869203d2073696e243128706869292c0a202020202020636f73506869203d20636f73243128706869292c0a20202020202064656c7461203d20616273286c616d626461202d206c616d626461302432292c0a202020202020636f7344656c7461203d20636f7324312864656c7461292c0a20202020202073696e44656c7461203d2073696e24312864656c7461292c0a20202020202078203d20636f73506869202a2073696e44656c74612c0a20202020202079203d20636f73506869302431202a2073696e506869202d2073696e506869302431202a20636f73506869202a20636f7344656c74612c0a2020202020207a203d2073696e506869302431202a2073696e506869202b20636f73506869302431202a20636f73506869202a20636f7344656c74613b0a20206c656e67746853756d2e616464286174616e3228737172742878202a2078202b2079202a2079292c207a29293b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e5068692c20636f73506869302431203d20636f735068693b0a7d0a0a66756e6374696f6e206c656e6774682431286f626a65637429207b0a20206c656e67746853756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206c656e67746853747265616d293b0a202072657475726e202b6c656e67746853756d3b0a7d0a0a76617220636f6f7264696e61746573203d205b6e756c6c2c206e756c6c5d2c0a202020206f626a6563742431203d207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b0a0a66756e6374696f6e2064697374616e636528612c206229207b0a2020636f6f7264696e617465735b305d203d20613b0a2020636f6f7264696e617465735b315d203d20623b0a202072657475726e206c656e6774682431286f626a6563742431293b0a7d0a0a76617220636f6e7461696e734f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e7347656f6d65747279286f626a6563742e67656f6d657472792c20706f696e74293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792866656174757265735b695d2e67656f6d657472792c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a76617220636f6e7461696e7347656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e2829207b0a2020202072657475726e20747275653b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f696e74286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f696e7428636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e734c696e65286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e734c696e6528636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f6c79676f6e286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f6c79676f6e28636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792867656f6d6574726965735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20636f6e7461696e7347656f6d657472792867656f6d657472792c20706f696e7429207b0a202072657475726e2067656f6d6574727920262620636f6e7461696e7347656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e74797065290a2020202020203f20636f6e7461696e7347656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c20706f696e74290a2020202020203a2066616c73653b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f696e7428636f6f7264696e617465732c20706f696e7429207b0a202072657475726e2064697374616e636528636f6f7264696e617465732c20706f696e7429203d3d3d20303b0a7d0a0a66756e6374696f6e20636f6e7461696e734c696e6528636f6f7264696e617465732c20706f696e7429207b0a2020766172206162203d2064697374616e636528636f6f7264696e617465735b305d2c20636f6f7264696e617465735b315d292c0a202020202020616f203d2064697374616e636528636f6f7264696e617465735b305d2c20706f696e74292c0a2020202020206f62203d2064697374616e636528706f696e742c20636f6f7264696e617465735b315d293b0a202072657475726e20616f202b206f62203c3d206162202b20657073696c6f6e24323b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f6c79676f6e28636f6f7264696e617465732c20706f696e7429207b0a202072657475726e202121706f6c79676f6e436f6e7461696e7328636f6f7264696e617465732e6d61702872696e6752616469616e73292c20706f696e7452616469616e7328706f696e7429293b0a7d0a0a66756e6374696f6e2072696e6752616469616e732872696e6729207b0a202072657475726e2072696e67203d2072696e672e6d617028706f696e7452616469616e73292c2072696e672e706f7028292c2072696e673b0a7d0a0a66756e6374696f6e20706f696e7452616469616e7328706f696e7429207b0a202072657475726e205b706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e735d3b0a7d0a0a66756e6374696f6e20636f6e7461696e732431286f626a6563742c20706f696e7429207b0a202072657475726e20286f626a65637420262620636f6e7461696e734f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e74797065290a2020202020203f20636f6e7461696e734f626a656374547970655b6f626a6563742e747970655d0a2020202020203a20636f6e7461696e7347656f6d6574727929286f626a6563742c20706f696e74293b0a7d0a0a66756e6374696f6e20677261746963756c65582879302c2079312c20647929207b0a20207661722079203d2073657175656e63652879302c207931202d20657073696c6f6e24322c206479292e636f6e636174287931293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e20792e6d61702866756e6374696f6e287929207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c65592878302c2078312c20647829207b0a20207661722078203d2073657175656e63652878302c207831202d20657073696c6f6e24322c206478292e636f6e636174287831293b0a202072657475726e2066756e6374696f6e287929207b2072657475726e20782e6d61702866756e6374696f6e287829207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c652829207b0a20207661722078312c2078302c2058312c2058302c0a20202020202079312c2079302c2059312c2059302c0a2020202020206478203d2031302c206479203d2064782c204458203d2039302c204459203d203336302c0a202020202020782c20792c20582c20592c0a202020202020707265636973696f6e203d20322e353b0a0a202066756e6374696f6e20677261746963756c652829207b0a2020202072657475726e207b747970653a20224d756c74694c696e65537472696e67222c20636f6f7264696e617465733a206c696e657328297d3b0a20207d0a0a202066756e6374696f6e206c696e65732829207b0a2020202072657475726e2073657175656e6365286365696c285830202f20445829202a2044582c2058312c204458292e6d61702858290a20202020202020202e636f6e6361742873657175656e6365286365696c285930202f20445929202a2044592c2059312c204459292e6d6170285929290a20202020202020202e636f6e6361742873657175656e6365286365696c287830202f20647829202a2064782c2078312c206478292e66696c7465722866756e6374696f6e287829207b2072657475726e206162732878202520445829203e20657073696c6f6e24323b207d292e6d6170287829290a20202020202020202e636f6e6361742873657175656e6365286365696c287930202f20647929202a2064792c2079312c206479292e66696c7465722866756e6374696f6e287929207b2072657475726e206162732879202520445929203e20657073696c6f6e24323b207d292e6d6170287929293b0a20207d0a0a2020677261746963756c652e6c696e6573203d2066756e6374696f6e2829207b0a2020202072657475726e206c696e657328292e6d61702866756e6374696f6e28636f6f7264696e6174657329207b2072657475726e207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b207d293b0a20207d3b0a0a2020677261746963756c652e6f75746c696e65203d2066756e6374696f6e2829207b0a2020202072657475726e207b0a202020202020747970653a2022506f6c79676f6e222c0a202020202020636f6f7264696e617465733a205b0a202020202020202058285830292e636f6e636174280a202020202020202059285931292e736c6963652831292c0a202020202020202058285831292e7265766572736528292e736c6963652831292c0a202020202020202059285930292e7265766572736528292e736c696365283129290a2020202020205d0a202020207d3b0a20207d3b0a0a2020677261746963756c652e657874656e74203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e657874656e744d696e6f7228293b0a2020202072657475726e20677261746963756c652e657874656e744d616a6f72285f292e657874656e744d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e657874656e744d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b58302c2059305d2c205b58312c2059315d5d3b0a202020205830203d202b5f5b305d5b305d2c205831203d202b5f5b315d5b305d3b0a202020205930203d202b5f5b305d5b315d2c205931203d202b5f5b315d5b315d3b0a20202020696620285830203e20583129205f203d2058302c205830203d2058312c205831203d205f3b0a20202020696620285930203e20593129205f203d2059302c205930203d2059312c205931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e657874656e744d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207830203d202b5f5b305d5b305d2c207831203d202b5f5b315d5b305d3b0a202020207930203d202b5f5b305d5b315d2c207931203d202b5f5b315d5b315d3b0a20202020696620287830203e20783129205f203d2078302c207830203d2078312c207831203d205f3b0a20202020696620287930203e20793129205f203d2079302c207930203d2079312c207931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e73746570203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e737465704d696e6f7228293b0a2020202072657475726e20677261746963756c652e737465704d616a6f72285f292e737465704d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e737465704d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b44582c2044595d3b0a202020204458203d202b5f5b305d2c204459203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e737465704d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a202020206478203d202b5f5b305d2c206479203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20707265636973696f6e3b0a20202020707265636973696f6e203d202b5f3b0a2020202078203d20677261746963756c65582879302c2079312c203930293b0a2020202079203d20677261746963756c65592878302c2078312c20707265636973696f6e293b0a2020202058203d20677261746963756c65582859302c2059312c203930293b0a2020202059203d20677261746963756c65592858302c2058312c20707265636973696f6e293b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a202072657475726e20677261746963756c650a2020202020202e657874656e744d616a6f72285b5b2d3138302c202d3930202b20657073696c6f6e24325d2c205b3138302c203930202d20657073696c6f6e24325d5d290a2020202020202e657874656e744d696e6f72285b5b2d3138302c202d3830202d20657073696c6f6e24325d2c205b3138302c203830202b20657073696c6f6e24325d5d293b0a7d0a0a66756e6374696f6e20677261746963756c6531302829207b0a202072657475726e20677261746963756c65282928293b0a7d0a0a66756e6374696f6e20696e746572706f6c617465243128612c206229207b0a2020766172207830203d20615b305d202a2072616469616e732c0a2020202020207930203d20615b315d202a2072616469616e732c0a2020202020207831203d20625b305d202a2072616469616e732c0a2020202020207931203d20625b315d202a2072616469616e732c0a202020202020637930203d20636f732431287930292c0a202020202020737930203d2073696e2431287930292c0a202020202020637931203d20636f732431287931292c0a202020202020737931203d2073696e2431287931292c0a2020202020206b7830203d20637930202a20636f732431287830292c0a2020202020206b7930203d20637930202a2073696e2431287830292c0a2020202020206b7831203d20637931202a20636f732431287831292c0a2020202020206b7931203d20637931202a2073696e2431287831292c0a20202020202064203d2032202a206173696e287371727428686176657273696e287931202d20793029202b20637930202a20637931202a20686176657273696e287831202d2078302929292c0a2020202020206b203d2073696e24312864293b0a0a202076617220696e746572706f6c617465203d2064203f2066756e6374696f6e287429207b0a202020207661722042203d2073696e24312874202a3d206429202f206b2c0a202020202020202041203d2073696e24312864202d207429202f206b2c0a202020202020202078203d2041202a206b7830202b2042202a206b78312c0a202020202020202079203d2041202a206b7930202b2042202a206b79312c0a20202020202020207a203d2041202a20737930202b2042202a207379313b0a2020202072657475726e205b0a2020202020206174616e3228792c207829202a206465677265657324312c0a2020202020206174616e32287a2c20737172742878202a2078202b2079202a20792929202a206465677265657324310a202020205d3b0a20207d203a2066756e6374696f6e2829207b0a2020202072657475726e205b7830202a206465677265657324312c207930202a206465677265657324315d3b0a20207d3b0a0a2020696e746572706f6c6174652e64697374616e6365203d20643b0a0a202072657475726e20696e746572706f6c6174653b0a7d0a0a66756e6374696f6e206964656e746974792434287829207b0a202072657475726e20783b0a7d0a0a766172206172656153756d2431203d20616464657228292c0a202020206172656152696e6753756d2431203d20616464657228292c0a202020207830302c0a202020207930302c0a20202020783024312c0a20202020793024313b0a0a766172206172656153747265616d2431203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656152696e67537461727424313b0a202020206172656153747265616d24312e6c696e65456e64203d206172656152696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656153747265616d24312e6c696e65456e64203d206172656153747265616d24312e706f696e74203d206e6f6f7024323b0a202020206172656153756d24312e61646428616273286172656152696e6753756d243129293b0a202020206172656152696e6753756d24312e726573657428293b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722061726561203d206172656153756d2431202f20323b0a202020206172656153756d24312e726573657428293b0a2020202072657475726e20617265613b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e67537461727424312829207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e74466972737424313b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374243128782c207929207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e7424313b0a2020783030203d2078302431203d20782c20793030203d2079302431203d20793b0a7d0a0a66756e6374696f6e2061726561506f696e74243128782c207929207b0a20206172656152696e6753756d24312e6164642879302431202a2078202d2078302431202a2079293b0a202078302431203d20782c2079302431203d20793b0a7d0a0a66756e6374696f6e206172656152696e67456e6424312829207b0a202061726561506f696e742431287830302c20793030293b0a7d0a0a7661722078302432203d20496e66696e6974792c0a2020202079302432203d20783024322c0a202020207831203d202d783024322c0a202020207931203d2078313b0a0a76617220626f756e647353747265616d2431203d207b0a2020706f696e743a20626f756e6473506f696e7424312c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a206e6f6f7024322c0a2020706f6c79676f6e456e643a206e6f6f7024322c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202076617220626f756e6473203d205b5b783024322c20793024325d2c205b78312c2079315d5d3b0a202020207831203d207931203d202d2879302432203d2078302432203d20496e66696e697479293b0a2020202072657475726e20626f756e64733b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74243128782c207929207b0a20206966202878203c2078302432292078302432203d20783b0a20206966202878203e20783129207831203d20783b0a20206966202879203c2079302432292079302432203d20793b0a20206966202879203e20793129207931203d20793b0a7d0a0a2f2f20544f444f20456e666f72636520706f736974697665206172656120666f72206578746572696f722c206e65676174697665206172656120666f7220696e746572696f723f0a0a7661722058302431203d20302c0a2020202059302431203d20302c0a202020205a302431203d20302c0a2020202058312431203d20302c0a2020202059312431203d20302c0a202020205a312431203d20302c0a2020202058322431203d20302c0a2020202059322431203d20302c0a202020205a322431203d20302c0a2020202078303024312c0a2020202079303024312c0a20202020783024332c0a20202020793024333b0a0a7661722063656e74726f696453747265616d2431203d207b0a2020706f696e743a2063656e74726f6964506f696e7424312c0a20206c696e6553746172743a2063656e74726f69644c696e65537461727424312c0a20206c696e65456e643a2063656e74726f69644c696e65456e6424312c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f696452696e67537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f696452696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f69644c696e65537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f69644c696e65456e6424313b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722063656e74726f6964203d205a322431203f205b58322431202f205a3224312c2059322431202f205a3224315d0a20202020202020203a205a312431203f205b58312431202f205a3124312c2059312431202f205a3124315d0a20202020202020203a205a302431203f205b58302431202f205a3024312c2059302431202f205a3024315d0a20202020202020203a205b4e614e2c204e614e5d3b0a2020202058302431203d2059302431203d205a302431203d0a2020202058312431203d2059312431203d205a312431203d0a2020202058322431203d2059322431203d205a322431203d20303b0a2020202072657475726e2063656e74726f69643b0a20207d0a7d3b0a0a66756e6374696f6e2063656e74726f6964506f696e74243128782c207929207b0a202058302431202b3d20783b0a202059302431202b3d20793b0a20202b2b5a3024313b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7446697273744c696e653b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7446697273744c696e6528782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e744c696e653b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e744c696e6528782c207929207b0a2020766172206478203d2078202d20783024332c206479203d2079202d20793024332c207a203d2073717274286478202a206478202b206479202a206479293b0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e6424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e74466972737452696e673b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e6424312829207b0a202063656e74726f6964506f696e7452696e672878303024312c207930302431293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e74466972737452696e6728782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7452696e673b0a202063656e74726f6964506f696e742431287830302431203d2078302433203d20782c207930302431203d2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7452696e6728782c207929207b0a2020766172206478203d2078202d20783024332c0a2020202020206479203d2079202d20793024332c0a2020202020207a203d2073717274286478202a206478202b206479202a206479293b0a0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a0a20207a203d2079302433202a2078202d2078302433202a20793b0a202058322431202b3d207a202a202878302433202b2078293b0a202059322431202b3d207a202a202879302433202b2079293b0a20205a322431202b3d207a202a20333b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2050617468436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a50617468436f6e746578742e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202072657475726e20746869732e5f726164697573203d205f2c20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2878202b20746869732e5f7261646975732c2079293b0a2020202020202020746869732e5f636f6e746578742e61726328782c20792c20746869732e5f7261646975732c20302c207461752433293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a206e6f6f7024320a7d3b0a0a766172206c656e67746853756d2431203d20616464657228292c0a202020206c656e67746852696e672c0a2020202078303024322c0a2020202079303024322c0a20202020783024342c0a20202020793024343b0a0a766172206c656e67746853747265616d2431203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a202020206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e74466972737424313b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020696620286c656e67746852696e6729206c656e677468506f696e7424312878303024322c207930302432293b0a202020206c656e67746853747265616d24312e706f696e74203d206e6f6f7024323b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d20747275653b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d206e756c6c3b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a20202020766172206c656e677468203d202b6c656e67746853756d24313b0a202020206c656e67746853756d24312e726573657428293b0a2020202072657475726e206c656e6774683b0a20207d0a7d3b0a0a66756e6374696f6e206c656e677468506f696e744669727374243128782c207929207b0a20206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e7424313b0a20207830302432203d2078302434203d20782c207930302432203d2079302434203d20793b0a7d0a0a66756e6374696f6e206c656e677468506f696e74243128782c207929207b0a202078302434202d3d20782c2079302434202d3d20793b0a20206c656e67746853756d24312e61646428737172742878302434202a2078302434202b2079302434202a207930243429293b0a202078302434203d20782c2079302434203d20793b0a7d0a0a66756e6374696f6e2050617468537472696e672829207b0a2020746869732e5f737472696e67203d205b5d3b0a7d0a0a50617468537472696e672e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a20205f636972636c653a20636972636c65243128342e35292c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202069662028285f203d202b5f2920213d3d20746869732e5f7261646975732920746869732e5f726164697573203d205f2c20746869732e5f636972636c65203d206e756c6c3b0a2020202072657475726e20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f737472696e672e7075736828225a22293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f737472696e672e7075736828224c222c20782c20222c222c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f636972636c65203d3d206e756c6c2920746869732e5f636972636c65203d20636972636c65243128746869732e5f726164697573293b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c20792c20746869732e5f636972636c65293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f737472696e672e6c656e67746829207b0a20202020202076617220726573756c74203d20746869732e5f737472696e672e6a6f696e282222293b0a202020202020746869732e5f737472696e67203d205b5d3b0a20202020202072657475726e20726573756c743b0a202020207d20656c7365207b0a20202020202072657475726e206e756c6c3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e20636972636c6524312872616469757329207b0a202072657475726e20226d302c22202b207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b202d32202a207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b2032202a207261646975730a2020202020202b20227a223b0a7d0a0a66756e6374696f6e20696e64657824312870726f6a656374696f6e2c20636f6e7465787429207b0a202076617220706f696e74526164697573203d20342e352c0a20202020202070726f6a656374696f6e53747265616d2c0a202020202020636f6e7465787453747265616d3b0a0a202066756e6374696f6e2070617468286f626a65637429207b0a20202020696620286f626a65637429207b0a20202020202069662028747970656f6620706f696e74526164697573203d3d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e74526164697573282b706f696e745261646975732e6170706c7928746869732c20617267756d656e747329293b0a20202020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28636f6e7465787453747265616d29293b0a202020207d0a2020202072657475726e20636f6e7465787453747265616d2e726573756c7428293b0a20207d0a0a2020706174682e61726561203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286172656153747265616d243129293b0a2020202072657475726e206172656153747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e6d656173757265203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286c656e67746853747265616d243129293b0a2020202072657475726e206c656e67746853747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e626f756e6473203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28626f756e647353747265616d243129293b0a2020202072657475726e20626f756e647353747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e63656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d2863656e74726f696453747265616d243129293b0a2020202072657475726e2063656e74726f696453747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e70726f6a656374696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374696f6e53747265616d203d205f203d3d206e756c6c203f202870726f6a656374696f6e203d206e756c6c2c206964656e74697479243429203a202870726f6a656374696f6e203d205f292e73747265616d2c207061746829203a2070726f6a656374696f6e3b0a20207d3b0a0a2020706174682e636f6e74657874203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20636f6e746578743b0a20202020636f6e7465787453747265616d203d205f203d3d206e756c6c203f2028636f6e74657874203d206e756c6c2c206e65772050617468537472696e6729203a206e65772050617468436f6e7465787428636f6e74657874203d205f293b0a2020202069662028747970656f6620706f696e7452616469757320213d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e7452616469757328706f696e74526164697573293b0a2020202072657475726e20706174683b0a20207d3b0a0a2020706174682e706f696e74526164697573203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20706f696e745261646975733b0a20202020706f696e74526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2028636f6e7465787453747265616d2e706f696e74526164697573282b5f292c202b5f293b0a2020202072657475726e20706174683b0a20207d3b0a0a202072657475726e20706174682e70726f6a656374696f6e2870726f6a656374696f6e292e636f6e7465787428636f6e74657874293b0a7d0a0a66756e6374696f6e207472616e73666f726d286d6574686f647329207b0a202072657475726e207b0a2020202073747265616d3a207472616e73666f726d6572286d6574686f6473290a20207d3b0a7d0a0a66756e6374696f6e207472616e73666f726d6572286d6574686f647329207b0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722073203d206e6577205472616e73666f726d53747265616d3b0a20202020666f722028766172206b657920696e206d6574686f64732920735b6b65795d203d206d6574686f64735b6b65795d3b0a20202020732e73747265616d203d2073747265616d3b0a2020202072657475726e20733b0a20207d3b0a7d0a0a66756e6374696f6e205472616e73666f726d53747265616d2829207b7d0a0a5472616e73666f726d53747265616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d53747265616d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b20746869732e73747265616d2e706f696e7428782c2079293b207d2c0a20207370686572653a2066756e6374696f6e2829207b20746869732e73747265616d2e73706865726528293b207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65537461727428293b207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65456e6428293b207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e537461727428293b207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e456e6428293b207d0a7d3b0a0a66756e6374696f6e206669742870726f6a656374696f6e2c20666974426f756e64732c206f626a65637429207b0a202076617220636c6970203d2070726f6a656374696f6e2e636c6970457874656e742026262070726f6a656374696f6e2e636c6970457874656e7428293b0a202070726f6a656374696f6e2e7363616c6528313530292e7472616e736c617465285b302c20305d293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e74286e756c6c293b0a202067656f53747265616d286f626a6563742c2070726f6a656374696f6e2e73747265616d28626f756e647353747265616d243129293b0a2020666974426f756e647328626f756e647353747265616d24312e726573756c742829293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e7428636c6970293b0a202072657475726e2070726f6a656374696f6e3b0a7d0a0a66756e6374696f6e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d20657874656e745b315d5b305d202d20657874656e745b305d5b305d2c0a202020202020202068203d20657874656e745b315d5b315d202d20657874656e745b305d5b315d2c0a20202020202020206b203d204d6174682e6d696e2877202f2028625b315d5b305d202d20625b305d5b305d292c2068202f2028625b315d5b315d202d20625b305d5b315d29292c0a202020202020202078203d202b657874656e745b305d5b305d202b202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202b657874656e745b305d5b315d202b202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a65637429207b0a202072657475726e20666974457874656e742870726f6a656374696f6e2c205b5b302c20305d2c2073697a655d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d202b77696474682c0a20202020202020206b203d2077202f2028625b315d5b305d202d20625b305d5b305d292c0a202020202020202078203d202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202d6b202a20625b305d5b315d3b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722068203d202b6865696768742c0a20202020202020206b203d2068202f2028625b315d5b315d202d20625b305d5b315d292c0a202020202020202078203d202d6b202a20625b305d5b305d2c0a202020202020202079203d202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a766172206d61784465707468203d2031362c202f2f206d6178696d756d206465707468206f66207375626469766973696f6e0a20202020636f734d696e44697374616e6365203d20636f732431283330202a2072616469616e73293b202f2f20636f73286d696e696d756d20616e67756c61722064697374616e6365290a0a66756e6374696f6e20726573616d706c652870726f6a6563742c2064656c74613229207b0a202072657475726e202b64656c746132203f20726573616d706c6524312870726f6a6563742c2064656c74613229203a20726573616d706c654e6f6e652870726f6a656374293b0a7d0a0a66756e6374696f6e20726573616d706c654e6f6e652870726f6a65637429207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a202020202020746869732e73747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20726573616d706c6524312870726f6a6563742c2064656c74613229207b0a0a202066756e6374696f6e20726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d29207b0a20202020766172206478203d207831202d2078302c0a20202020202020206479203d207931202d2079302c0a20202020202020206432203d206478202a206478202b206479202a2064793b0a20202020696620286432203e2034202a2064656c7461322026262064657074682d2d29207b0a2020202020207661722061203d206130202b2061312c0a2020202020202020202062203d206230202b2062312c0a2020202020202020202063203d206330202b2063312c0a202020202020202020206d203d20737172742861202a2061202b2062202a2062202b2063202a2063292c0a2020202020202020202070686932203d206173696e2863202f3d206d292c0a202020202020202020206c616d62646132203d2061627328616273286329202d203129203c20657073696c6f6e2432207c7c20616273286c616d62646130202d206c616d6264613129203c20657073696c6f6e2432203f20286c616d62646130202b206c616d6264613129202f2032203a206174616e3228622c2061292c0a2020202020202020202070203d2070726f6a656374286c616d626461322c2070686932292c0a202020202020202020207832203d20705b305d2c0a202020202020202020207932203d20705b315d2c0a20202020202020202020647832203d207832202d2078302c0a20202020202020202020647932203d207932202d2079302c0a20202020202020202020647a203d206479202a20647832202d206478202a206479323b0a20202020202069662028647a202a20647a202f206432203e2064656c746132202f2f2070657270656e646963756c61722070726f6a65637465642064697374616e63650a202020202020202020207c7c2061627328286478202a20647832202b206479202a2064793229202f206432202d20302e3529203e20302e33202f2f206d6964706f696e7420636c6f736520746f20616e20656e640a202020202020202020207c7c206130202a206131202b206230202a206231202b206330202a206331203c20636f734d696e44697374616e636529207b202f2f20616e67756c61722064697374616e63650a2020202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078322c2079322c206c616d626461322c2061202f3d206d2c2062202f3d206d2c20632c2064657074682c2073747265616d293b0a202020202020202073747265616d2e706f696e742878322c207932293b0a2020202020202020726573616d706c654c696e65546f2878322c2079322c206c616d626461322c20612c20622c20632c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d293b0a2020202020207d0a202020207d0a20207d0a202072657475726e2066756e6374696f6e2873747265616d29207b0a20202020766172206c616d62646130302c207830302c207930302c206130302c206230302c206330302c202f2f20666972737420706f696e740a20202020202020206c616d626461302c2078302c2079302c2061302c2062302c2063303b202f2f2070726576696f757320706f696e740a0a2020202076617220726573616d706c6553747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e537461727428293b20726573616d706c6553747265616d2e6c696e655374617274203d2072696e6753746172743b207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e456e6428293b20726573616d706c6553747265616d2e6c696e655374617274203d206c696e6553746172743b207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a20202020202073747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a2020202020207830203d204e614e3b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202073747265616d2e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a2020202020207661722063203d2063617274657369616e285b6c616d6264612c207068695d292c2070203d2070726f6a656374286c616d6264612c20706869293b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830203d20705b305d2c207930203d20705b315d2c206c616d62646130203d206c616d6264612c206130203d20635b305d2c206230203d20635b315d2c206330203d20635b325d2c206d617844657074682c2073747265616d293b0a20202020202073747265616d2e706f696e742878302c207930293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020726573616d706c6553747265616d2e706f696e74203d20706f696e743b0a20202020202073747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a2020202020206c696e65537461727428293b0a202020202020726573616d706c6553747265616d2e706f696e74203d2072696e67506f696e743b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d2072696e67456e643b0a202020207d0a0a2020202066756e6374696f6e2072696e67506f696e74286c616d6264612c2070686929207b0a2020202020206c696e65506f696e74286c616d6264613030203d206c616d6264612c20706869292c20783030203d2078302c20793030203d2079302c20613030203d2061302c20623030203d2062302c20633030203d2063303b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830302c207930302c206c616d62646130302c206130302c206230302c206330302c206d617844657074682c2073747265616d293b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d206c696e65456e643b0a2020202020206c696e65456e6428293b0a202020207d0a0a2020202072657475726e20726573616d706c6553747265616d3b0a20207d3b0a7d0a0a766172207472616e73666f726d52616469616e73203d207472616e73666f726d6572287b0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e73747265616d2e706f696e742878202a2072616469616e732c2079202a2072616469616e73293b0a20207d0a7d293b0a0a66756e6374696f6e207472616e73666f726d526f7461746528726f7461746529207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020207661722072203d20726f7461746528782c2079293b0a20202020202072657475726e20746869732e73747265616d2e706f696e7428725b305d2c20725b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207363616c655472616e736c617465286b2c2064782c20647929207b0a202066756e6374696f6e207472616e73666f726d24243128782c207929207b0a2020202072657475726e205b6478202b206b202a20782c206479202d206b202a20795d3b0a20207d0a20207472616e73666f726d2424312e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b2878202d20647829202f206b2c20286479202d207929202f206b5d3b0a20207d3b0a202072657475726e207472616e73666f726d2424313b0a7d0a0a66756e6374696f6e207363616c655472616e736c617465526f74617465286b2c2064782c2064792c20616c70686129207b0a202076617220636f73416c706861203d20636f73243128616c706861292c0a20202020202073696e416c706861203d2073696e243128616c706861292c0a20202020202061203d20636f73416c706861202a206b2c0a20202020202062203d2073696e416c706861202a206b2c0a2020202020206169203d20636f73416c706861202f206b2c0a2020202020206269203d2073696e416c706861202f206b2c0a2020202020206369203d202873696e416c706861202a206479202d20636f73416c706861202a20647829202f206b2c0a2020202020206669203d202873696e416c706861202a206478202b20636f73416c706861202a20647929202f206b3b0a202066756e6374696f6e207472616e73666f726d24243128782c207929207b0a2020202072657475726e205b61202a2078202d2062202a2079202b2064782c206479202d2062202a2078202d2061202a20795d3b0a20207d0a20207472616e73666f726d2424312e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b6169202a2078202d206269202a2079202b2063692c206669202d206269202a2078202d206169202a20795d3b0a20207d3b0a202072657475726e207472616e73666f726d2424313b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e2870726f6a65637429207b0a202072657475726e2070726f6a656374696f6e4d757461746f722866756e6374696f6e2829207b2072657475726e2070726f6a6563743b207d2928293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e4d757461746f722870726f6a656374417429207b0a20207661722070726f6a6563742c0a2020202020206b203d203135302c202f2f207363616c650a20202020202078203d203438302c2079203d203235302c202f2f207472616e736c6174650a2020202020206c616d626461203d20302c20706869203d20302c202f2f2063656e7465720a20202020202064656c74614c616d626461203d20302c2064656c7461506869203d20302c2064656c746147616d6d61203d20302c20726f746174652c202f2f207072652d726f746174650a202020202020616c706861203d20302c202f2f20706f73742d726f746174650a2020202020207468657461203d206e756c6c2c20707265636c6970203d20636c6970416e74696d6572696469616e2c202f2f207072652d636c697020616e676c650a2020202020207830203d206e756c6c2c2079302c2078312c2079312c20706f7374636c6970203d206964656e7469747924342c202f2f20706f73742d636c697020657874656e740a20202020202064656c746132203d20302e352c202f2f20707265636973696f6e0a20202020202070726f6a656374526573616d706c652c0a20202020202070726f6a6563745472616e73666f726d2c0a20202020202070726f6a656374526f746174655472616e73666f726d2c0a20202020202063616368652c0a202020202020636163686553747265616d3b0a0a202066756e6374696f6e2070726f6a656374696f6e28706f696e7429207b0a2020202072657475726e2070726f6a656374526f746174655472616e73666f726d28706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e73293b0a20207d0a0a202066756e6374696f6e20696e7665727428706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f746174655472616e73666f726d2e696e7665727428706f696e745b305d2c20706f696e745b315d293b0a2020202072657475726e20706f696e74202626205b706f696e745b305d202a206465677265657324312c20706f696e745b315d202a206465677265657324315d3b0a20207d0a0a202070726f6a656374696f6e2e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d52616469616e73287472616e73666f726d526f7461746528726f746174652928707265636c69702870726f6a656374526573616d706c6528706f7374636c697028636163686553747265616d203d2073747265616d29292929293b0a20207d3b0a0a202070726f6a656374696f6e2e707265636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d205f2c207468657461203d20756e646566696e65642c207265736574282929203a20707265636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e706f7374636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d202b5f203f20636c6970436972636c65287468657461203d205f202a2072616469616e7329203a20287468657461203d206e756c6c2c20636c6970416e74696d6572696469616e292c207265736574282929203a207468657461202a206465677265657324313b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e74697479243429203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202070726f6a656374696f6e2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b203d202b5f2c20726563656e746572282929203a206b3b0a20207d3b0a0a202070726f6a656374696f6e2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f5b305d2c2079203d202b5f5b315d2c20726563656e746572282929203a205b782c20795d3b0a20207d3b0a0a202070726f6a656374696f6e2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c616d626461203d205f5b305d202520333630202a2072616469616e732c20706869203d205f5b315d202520333630202a2072616469616e732c20726563656e746572282929203a205b6c616d626461202a206465677265657324312c20706869202a206465677265657324315d3b0a20207d3b0a0a202070726f6a656374696f6e2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864656c74614c616d626461203d205f5b305d202520333630202a2072616469616e732c2064656c7461506869203d205f5b315d202520333630202a2072616469616e732c2064656c746147616d6d61203d205f2e6c656e677468203e2032203f205f5b325d202520333630202a2072616469616e73203a20302c20726563656e746572282929203a205b64656c74614c616d626461202a206465677265657324312c2064656c7461506869202a206465677265657324312c2064656c746147616d6d61202a206465677265657324315d3b0a20207d3b0a0a202070726f6a656374696f6e2e616e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d205f202520333630202a2072616469616e732c20726563656e746572282929203a20616c706861202a206465677265657324313b0a20207d3b0a0a202070726f6a656374696f6e2e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132203d205f202a205f292c207265736574282929203a20737172742864656c746132293b0a20207d3b0a0a202070726f6a656374696f6e2e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e20726563656e7465722829207b0a202020207661722063656e746572203d207363616c655472616e736c617465526f74617465286b2c20302c20302c20616c706861292e6170706c79286e756c6c2c2070726f6a656374286c616d6264612c2070686929292c0a20202020202020207472616e73666f726d242431203d2028616c706861203f207363616c655472616e736c617465526f74617465203a207363616c655472616e736c61746529286b2c2078202d2063656e7465725b305d2c2079202d2063656e7465725b315d2c20616c706861293b0a20202020726f74617465203d20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d61293b0a2020202070726f6a6563745472616e73666f726d203d20636f6d706f73652870726f6a6563742c207472616e73666f726d242431293b0a2020202070726f6a656374526f746174655472616e73666f726d203d20636f6d706f736528726f746174652c2070726f6a6563745472616e73666f726d293b0a2020202070726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132293b0a2020202072657475726e20726573657428293b0a20207d0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2066756e6374696f6e2829207b0a2020202070726f6a656374203d2070726f6a65637441742e6170706c7928746869732c20617267756d656e7473293b0a2020202070726f6a656374696f6e2e696e76657274203d2070726f6a6563742e696e7665727420262620696e766572743b0a2020202072657475726e20726563656e74657228293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e696350726f6a656374696f6e2870726f6a656374417429207b0a20207661722070686930203d20302c0a20202020202070686931203d2070692433202f20332c0a2020202020206d203d2070726f6a656374696f6e4d757461746f722870726f6a6563744174292c0a20202020202070203d206d28706869302c2070686931293b0a0a2020702e706172616c6c656c73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206d2870686930203d205f5b305d202a2072616469616e732c2070686931203d205f5b315d202a2072616469616e7329203a205b70686930202a206465677265657324312c2070686931202a206465677265657324315d3b0a20207d3b0a0a202072657475726e20703b0a7d0a0a66756e6374696f6e2063796c696e64726963616c457175616c41726561526177287068693029207b0a202076617220636f7350686930203d20636f7324312870686930293b0a0a202066756e6374696f6e20666f7277617264286c616d6264612c2070686929207b0a2020202072657475726e205b6c616d626461202a20636f73506869302c2073696e24312870686929202f20636f73506869305d3b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b78202f20636f73506869302c206173696e2879202a20636f7350686930295d3b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265615261772879302c20793129207b0a202076617220737930203d2073696e2431287930292c206e203d2028737930202b2073696e24312879312929202f20323b0a0a20202f2f204172652074686520706172616c6c656c732073796d6d6574726963616c2061726f756e64207468652045717561746f723f0a202069662028616273286e29203c20657073696c6f6e2432292072657475726e2063796c696e64726963616c457175616c41726561526177287930293b0a0a20207661722063203d2031202b20737930202a202832202a206e202d20737930292c207230203d2073717274286329202f206e3b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020207661722072203d20737172742863202d2032202a206e202a2073696e243128792929202f206e3b0a2020202072657475726e205b72202a2073696e24312878202a3d206e292c207230202d2072202a20636f7324312878295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202076617220723079203d207230202d20793b0a2020202072657475726e205b6174616e3228782c20616273287230792929202f206e202a207369676e28723079292c206173696e282863202d202878202a2078202b20723079202a2072307929202a206e202a206e29202f202832202a206e29295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265612829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963457175616c41726561526177290a2020202020202e7363616c65283135352e343234290a2020202020202e63656e746572285b302c2033332e363434325d293b0a7d0a0a66756e6374696f6e20616c626572732829207b0a202072657475726e20636f6e6963457175616c4172656128290a2020202020202e706172616c6c656c73285b32392e352c2034352e355d290a2020202020202e7363616c652831303730290a2020202020202e7472616e736c617465285b3438302c203235305d290a2020202020202e726f74617465285b39362c20305d290a2020202020202e63656e746572285b2d302e362c2033382e375d293b0a7d0a0a2f2f205468652070726f6a656374696f6e73206d7573742068617665206d757475616c6c79206578636c757369766520636c697020726567696f6e73206f6e20746865207370686572652c0a2f2f20617320746869732077696c6c2061766f696420656d697474696e6720696e7465726c656176696e67206c696e657320616e6420706f6c79676f6e732e0a66756e6374696f6e206d756c7469706c65782873747265616d7329207b0a2020766172206e203d2073747265616d732e6c656e6774683b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f696e7428782c2079293b207d2c0a202020207370686572653a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e73706865726528293b207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65537461727428293b207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65456e6428293b207d2c0a20202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e537461727428293b207d2c0a20202020706f6c79676f6e456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e456e6428293b207d0a20207d3b0a7d0a0a2f2f204120636f6d706f736974652070726f6a656374696f6e20666f722074686520556e69746564205374617465732c20636f6e666967757265642062792064656661756c7420666f720a2f2f20393630c3973530302e205468652070726f6a656374696f6e20616c736f20776f726b732071756974652077656c6c20617420393630c39736303020696620796f75206368616e6765207468650a2f2f207363616c6520746f203132383520616e642061646a75737420746865207472616e736c617465206163636f7264696e676c792e2054686520736574206f66207374616e646172640a2f2f20706172616c6c656c7320666f72206561636820726567696f6e20636f6d65732066726f6d20555347532c207768696368206973207075626c697368656420686572653a0a2f2f20687474703a2f2f656773632e757367732e676f762f6973622f707562732f4d617050726f6a656374696f6e732f70726f6a656374696f6e732e68746d6c23616c626572730a66756e6374696f6e20616c626572735573612829207b0a20207661722063616368652c0a202020202020636163686553747265616d2c0a2020202020206c6f7765723438203d20616c6265727328292c206c6f7765723438506f696e742c0a202020202020616c61736b61203d20636f6e6963457175616c4172656128292e726f74617465285b3135342c20305d292e63656e746572285b2d322c2035382e355d292e706172616c6c656c73285b35352c2036355d292c20616c61736b61506f696e742c202f2f20455053473a333333380a202020202020686177616969203d20636f6e6963457175616c4172656128292e726f74617465285b3135372c20305d292e63656e746572285b2d332c2031392e395d292e706172616c6c656c73285b382c2031385d292c20686177616969506f696e742c202f2f20455352493a3130323030370a202020202020706f696e742c20706f696e7453747265616d203d207b706f696e743a2066756e6374696f6e28782c207929207b20706f696e74203d205b782c20795d3b207d7d3b0a0a202066756e6374696f6e20616c6265727355736128636f6f7264696e6174657329207b0a202020207661722078203d20636f6f7264696e617465735b305d2c2079203d20636f6f7264696e617465735b315d3b0a2020202072657475726e20706f696e74203d206e756c6c2c20286c6f7765723438506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028616c61736b61506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028686177616969506f696e742e706f696e7428782c2079292c20706f696e74293b0a20207d0a0a2020616c626572735573612e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020766172206b203d206c6f77657234382e7363616c6528292c0a202020202020202074203d206c6f77657234382e7472616e736c61746528292c0a202020202020202078203d2028636f6f7264696e617465735b305d202d20745b305d29202f206b2c0a202020202020202079203d2028636f6f7264696e617465735b315d202d20745b315d29202f206b3b0a2020202072657475726e202879203e3d20302e3132302026262079203c20302e3233342026262078203e3d202d302e3432352026262078203c202d302e323134203f20616c61736b610a20202020202020203a2079203e3d20302e3136362026262079203c20302e3233342026262078203e3d202d302e3231342026262078203c202d302e313135203f206861776169690a20202020202020203a206c6f7765723438292e696e7665727428636f6f7264696e61746573293b0a20207d3b0a0a2020616c626572735573612e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d206d756c7469706c6578285b6c6f77657234382e73747265616d28636163686553747265616d203d2073747265616d292c20616c61736b612e73747265616d2873747265616d292c206861776169692e73747265616d2873747265616d295d293b0a20207d3b0a0a2020616c626572735573612e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e707265636973696f6e28293b0a202020206c6f77657234382e707265636973696f6e285f292c20616c61736b612e707265636973696f6e285f292c206861776169692e707265636973696f6e285f293b0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e7363616c65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7363616c6528293b0a202020206c6f77657234382e7363616c65285f292c20616c61736b612e7363616c65285f202a20302e3335292c206861776169692e7363616c65285f293b0a2020202072657475726e20616c626572735573612e7472616e736c617465286c6f77657234382e7472616e736c6174652829293b0a20207d3b0a0a2020616c626572735573612e7472616e736c617465203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7472616e736c61746528293b0a20202020766172206b203d206c6f77657234382e7363616c6528292c2078203d202b5f5b305d2c2079203d202b5f5b315d3b0a0a202020206c6f7765723438506f696e74203d206c6f77657234380a20202020202020202e7472616e736c617465285f290a20202020202020202e636c6970457874656e74285b5b78202d20302e343535202a206b2c2079202d20302e323338202a206b5d2c205b78202b20302e343535202a206b2c2079202b20302e323338202a206b5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020616c61736b61506f696e74203d20616c61736b610a20202020202020202e7472616e736c617465285b78202d20302e333037202a206b2c2079202b20302e323031202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e343235202a206b202b20657073696c6f6e24322c2079202b20302e313230202a206b202b20657073696c6f6e24325d2c205b78202d20302e323134202a206b202d20657073696c6f6e24322c2079202b20302e323334202a206b202d20657073696c6f6e24325d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020686177616969506f696e74203d206861776169690a20202020202020202e7472616e736c617465285b78202d20302e323035202a206b2c2079202b20302e323132202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e323134202a206b202b20657073696c6f6e24322c2079202b20302e313636202a206b202b20657073696c6f6e24325d2c205b78202d20302e313135202a206b202d20657073696c6f6e24322c2079202b20302e323334202a206b202d20657073696c6f6e24325d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e7428616c626572735573612c20657874656e742c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a6528616c626572735573612c2073697a652c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e20666974576964746828616c626572735573612c2077696474682c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e2066697448656967687428616c626572735573612c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e20616c626572735573613b0a20207d0a0a202072657475726e20616c626572735573612e7363616c652831303730293b0a7d0a0a66756e6374696f6e20617a696d757468616c526177287363616c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172206378203d20636f7324312878292c0a20202020202020206379203d20636f7324312879292c0a20202020202020206b203d207363616c65286378202a206379293b0a2020202072657475726e205b0a2020202020206b202a206379202a2073696e24312878292c0a2020202020206b202a2073696e24312879290a202020205d3b0a20207d0a7d0a0a66756e6374696f6e20617a696d757468616c496e7665727428616e676c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172207a203d20737172742878202a2078202b2079202a2079292c0a202020202020202063203d20616e676c65287a292c0a20202020202020207363203d2073696e24312863292c0a20202020202020206363203d20636f7324312863293b0a2020202072657475726e205b0a2020202020206174616e322878202a2073632c207a202a206363292c0a2020202020206173696e287a2026262079202a207363202f207a290a202020205d3b0a20207d0a7d0a0a76617220617a696d757468616c457175616c41726561526177203d20617a696d757468616c5261772866756e6374696f6e286378637929207b0a202072657475726e20737172742832202f202831202b206378637929293b0a7d293b0a0a617a696d757468616c457175616c417265615261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206173696e287a202f2032293b0a7d293b0a0a66756e6374696f6e20617a696d757468616c457175616c417265612829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c457175616c41726561526177290a2020202020202e7363616c65283132342e3735290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d0a0a76617220617a696d757468616c4571756964697374616e74526177203d20617a696d757468616c5261772866756e6374696f6e286329207b0a202072657475726e202863203d2061636f73286329292026262063202f2073696e24312863293b0a7d293b0a0a617a696d757468616c4571756964697374616e745261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e207a3b0a7d293b0a0a66756e6374696f6e20617a696d757468616c4571756964697374616e742829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c4571756964697374616e74526177290a2020202020202e7363616c652837392e34313838290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d0a0a66756e6374696f6e206d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c206c6f672874616e282868616c6650692432202b2070686929202f203229295d3b0a7d0a0a6d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b782c2032202a206174616e2865787028792929202d2068616c66506924325d3b0a7d3b0a0a66756e6374696f6e206d65726361746f722829207b0a202072657475726e206d65726361746f7250726f6a656374696f6e286d65726361746f72526177290a2020202020202e7363616c6528393631202f207461752433293b0a7d0a0a66756e6374696f6e206d65726361746f7250726f6a656374696f6e2870726f6a65637429207b0a2020766172206d203d2070726f6a656374696f6e2870726f6a656374292c0a20202020202063656e746572203d206d2e63656e7465722c0a2020202020207363616c65203d206d2e7363616c652c0a2020202020207472616e736c617465203d206d2e7472616e736c6174652c0a202020202020636c6970457874656e74203d206d2e636c6970457874656e742c0a2020202020207830203d206e756c6c2c2079302c2078312c2079313b202f2f20636c697020657874656e740a0a20206d2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65285f292c207265636c6970282929203a207363616c6528293b0a20207d3b0a0a20206d2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465285f292c207265636c6970282929203a207472616e736c61746528293b0a20207d3b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572285f292c207265636c6970282929203a2063656e74657228293b0a20207d3b0a0a20206d2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f207830203d207930203d207831203d207931203d206e756c6c203a20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265636c6970282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202066756e6374696f6e207265636c69702829207b0a20202020766172206b203d2070692433202a207363616c6528292c0a202020202020202074203d206d28726f746174696f6e286d2e726f746174652829292e696e76657274285b302c20305d29293b0a2020202072657475726e20636c6970457874656e74287830203d3d206e756c6c0a20202020202020203f205b5b745b305d202d206b2c20745b315d202d206b5d2c205b745b305d202b206b2c20745b315d202b206b5d5d203a2070726f6a656374203d3d3d206d65726361746f725261770a20202020202020203f205b5b4d6174682e6d617828745b305d202d206b2c207830292c2079305d2c205b4d6174682e6d696e28745b305d202b206b2c207831292c2079315d5d0a20202020202020203a205b5b78302c204d6174682e6d617828745b315d202d206b2c207930295d2c205b78312c204d6174682e6d696e28745b315d202b206b2c207931295d5d293b0a20207d0a0a202072657475726e207265636c697028293b0a7d0a0a66756e6374696f6e2074616e79287929207b0a202072657475726e2074616e282868616c6650692432202b207929202f2032293b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c5261772879302c20793129207b0a202076617220637930203d20636f732431287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e243128793029203a206c6f6728637930202f20636f7324312879312929202f206c6f672874616e7928793129202f2074616e7928793029292c0a20202020202066203d20637930202a20706f772874616e79287930292c206e29202f206e3b0a0a202069662028216e292072657475726e206d65726361746f725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020206966202866203e203029207b206966202879203c202d68616c6650692432202b20657073696c6f6e2432292079203d202d68616c6650692432202b20657073696c6f6e24323b207d0a20202020656c7365207b206966202879203e2068616c6650692432202d20657073696c6f6e2432292079203d2068616c6650692432202d20657073696c6f6e24323b207d0a202020207661722072203d2066202f20706f772874616e792879292c206e293b0a2020202072657475726e205b72202a2073696e2431286e202a2078292c2066202d2072202a20636f732431286e202a2078295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206679203d2066202d20792c2072203d207369676e286e29202a20737172742878202a2078202b206679202a206679293b0a2020202072657475726e205b6174616e3228782c206162732866792929202f206e202a207369676e286679292c2032202a206174616e28706f772866202f20722c2031202f206e2929202d2068616c66506924325d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963436f6e666f726d616c526177290a2020202020202e7363616c65283130392e35290a2020202020202e706172616c6c656c73285b33302c2033305d293b0a7d0a0a66756e6374696f6e206571756972656374616e67756c6172526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c207068695d3b0a7d0a0a6571756972656374616e67756c61725261772e696e76657274203d206571756972656374616e67756c61725261773b0a0a66756e6374696f6e206571756972656374616e67756c61722829207b0a202072657475726e2070726f6a656374696f6e286571756972656374616e67756c6172526177290a2020202020202e7363616c65283135322e3633293b0a7d0a0a66756e6374696f6e20636f6e69634571756964697374616e745261772879302c20793129207b0a202076617220637930203d20636f732431287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e243128793029203a2028637930202d20636f7324312879312929202f20287931202d207930292c0a20202020202067203d20637930202f206e202b2079303b0a0a202069662028616273286e29203c20657073696c6f6e2432292072657475726e206571756972656374616e67756c61725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a20202020766172206779203d2067202d20792c206e78203d206e202a20783b0a2020202072657475726e205b6779202a2073696e2431286e78292c2067202d206779202a20636f732431286e78295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206779203d2067202d20793b0a2020202072657475726e205b6174616e3228782c206162732867792929202f206e202a207369676e286779292c2067202d207369676e286e29202a20737172742878202a2078202b206779202a206779295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e69634571756964697374616e742829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e69634571756964697374616e74526177290a2020202020202e7363616c65283133312e313534290a2020202020202e63656e746572285b302c2031332e393338395d293b0a7d0a0a66756e6374696f6e20676e6f6d6f6e696352617728782c207929207b0a2020766172206379203d20636f7324312879292c206b203d20636f732431287829202a2063793b0a202072657475726e205b6379202a2073696e2431287829202f206b2c2073696e2431287929202f206b5d3b0a7d0a0a676e6f6d6f6e69635261772e696e76657274203d20617a696d757468616c496e76657274286174616e293b0a0a66756e6374696f6e20676e6f6d6f6e69632829207b0a202072657475726e2070726f6a656374696f6e28676e6f6d6f6e6963526177290a2020202020202e7363616c65283134342e303439290a2020202020202e636c6970416e676c65283630293b0a7d0a0a66756e6374696f6e207363616c655472616e736c6174652431286b782c206b792c2074782c20747929207b0a202072657475726e206b78203d3d3d2031202626206b79203d3d3d2031202626207478203d3d3d2030202626207479203d3d3d2030203f206964656e746974792434203a207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a202020202020746869732e73747265616d2e706f696e742878202a206b78202b2074782c2079202a206b79202b207479293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e206964656e7469747924352829207b0a2020766172206b203d20312c207478203d20302c207479203d20302c207378203d20312c207379203d20312c207472616e73666f726d242431203d206964656e7469747924342c202f2f207363616c652c207472616e736c61746520616e64207265666c6563740a2020202020207830203d206e756c6c2c2079302c2078312c2079312c202f2f20636c697020657874656e740a202020202020706f7374636c6970203d206964656e7469747924342c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a20202020202070726f6a656374696f6e3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2070726f6a656374696f6e203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d24243128706f7374636c697028636163686553747265616d203d2073747265616d29293b0a202020207d2c0a20202020706f7374636c69703a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a202020207d2c0a20202020636c6970457874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e74697479243429203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d2c0a202020207363616c653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465243128286b203d202b5f29202a2073782c206b202a2073792c2074782c207479292c207265736574282929203a206b3b0a202020207d2c0a202020207472616e736c6174653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a2073782c206b202a2073792c207478203d202b5f5b305d2c207479203d202b5f5b315d292c207265736574282929203a205b74782c2074795d3b0a202020207d2c0a202020207265666c656374583a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a20287378203d205f203f202d31203a2031292c206b202a2073792c2074782c207479292c207265736574282929203a207378203c20303b0a202020207d2c0a202020207265666c656374593a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a2073782c206b202a20287379203d205f203f202d31203a2031292c2074782c207479292c207265736574282929203a207379203c20303b0a202020207d2c0a20202020666974457874656e743a2066756e6374696f6e28657874656e742c206f626a65637429207b0a20202020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a202020207d2c0a2020202066697453697a653a2066756e6374696f6e2873697a652c206f626a65637429207b0a20202020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a202020207d2c0a2020202066697457696474683a2066756e6374696f6e2877696474682c206f626a65637429207b0a20202020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a202020207d2c0a202020206669744865696768743a2066756e6374696f6e286865696768742c206f626a65637429207b0a20202020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e206e61747572616c456172746831526177286c616d6264612c2070686929207b0a20207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a202072657475726e205b0a202020206c616d626461202a2028302e38373037202d20302e313331393739202a2070686932202b2070686934202a20282d302e303133373931202b2070686934202a2028302e303033393731202a2070686932202d20302e303031353239202a20706869342929292c0a20202020706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a20706869342929290a20205d3b0a7d0a0a6e61747572616c4561727468315261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202076617220706869203d20792c2069203d2032352c2064656c74613b0a2020646f207b0a202020207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a20202020706869202d3d2064656c7461203d2028706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a2070686934292929202d207929202f0a202020202020202028312e303037323236202b2070686932202a2028302e303135303835202a2033202b2070686934202a20282d302e303434343735202a2037202b20302e303238383734202a2039202a2070686932202d20302e303035393136202a203131202a20706869342929293b0a20207d207768696c6520286162732864656c746129203e20657073696c6f6e2432202626202d2d69203e2030293b0a202072657475726e205b0a2020202078202f2028302e38373037202b202870686932203d20706869202a2070686929202a20282d302e313331393739202b2070686932202a20282d302e303133373931202b2070686932202a2070686932202a2070686932202a2028302e303033393731202d20302e303031353239202a2070686932292929292c0a202020207068690a20205d3b0a7d3b0a0a66756e6374696f6e206e61747572616c4561727468312829207b0a202072657475726e2070726f6a656374696f6e286e61747572616c456172746831526177290a2020202020202e7363616c65283137352e323935293b0a7d0a0a66756e6374696f6e206f7274686f6772617068696352617728782c207929207b0a202072657475726e205b636f732431287929202a2073696e24312878292c2073696e24312879295d3b0a7d0a0a6f7274686f677261706869635261772e696e76657274203d20617a696d757468616c496e76657274286173696e293b0a0a66756e6374696f6e206f7274686f677261706869632829207b0a202072657475726e2070726f6a656374696f6e286f7274686f67726170686963526177290a2020202020202e7363616c65283234392e35290a2020202020202e636c6970416e676c65283930202b20657073696c6f6e2432293b0a7d0a0a66756e6374696f6e2073746572656f6772617068696352617728782c207929207b0a2020766172206379203d20636f7324312879292c206b203d2031202b20636f732431287829202a2063793b0a202072657475726e205b6379202a2073696e2431287829202f206b2c2073696e2431287929202f206b5d3b0a7d0a0a73746572656f677261706869635261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206174616e287a293b0a7d293b0a0a66756e6374696f6e2073746572656f677261706869632829207b0a202072657475726e2070726f6a656374696f6e2873746572656f67726170686963526177290a2020202020202e7363616c6528323530290a2020202020202e636c6970416e676c6528313432293b0a7d0a0a66756e6374696f6e207472616e7376657273654d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c6f672874616e282868616c6650692432202b2070686929202f203229292c202d6c616d6264615d3b0a7d0a0a7472616e7376657273654d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2d792c2032202a206174616e2865787028782929202d2068616c66506924325d3b0a7d3b0a0a66756e6374696f6e207472616e7376657273654d65726361746f722829207b0a2020766172206d203d206d65726361746f7250726f6a656374696f6e287472616e7376657273654d65726361746f72526177292c0a20202020202063656e746572203d206d2e63656e7465722c0a202020202020726f74617465203d206d2e726f746174653b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2063656e746572285b2d5f5b315d2c205f5b305d5d29203a20285f203d2063656e74657228292c205b5f5b315d2c202d5f5b305d5d293b0a20207d3b0a0a20206d2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20726f74617465285b5f5b305d2c205f5b315d2c205f2e6c656e677468203e2032203f205f5b325d202b203930203a2039305d29203a20285f203d20726f7461746528292c205b5f5b305d2c205f5b315d2c205f5b325d202d2039305d293b0a20207d3b0a0a202072657475726e20726f74617465285b302c20302c2039305d290a2020202020202e7363616c65283135392e313535293b0a7d0a0a66756e6374696f6e2064656661756c7453657061726174696f6e28612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a66756e6374696f6e206d65616e58286368696c6472656e29207b0a202072657475726e206368696c6472656e2e726564756365286d65616e585265647563652c203029202f206368696c6472656e2e6c656e6774683b0a7d0a0a66756e6374696f6e206d65616e5852656475636528782c206329207b0a202072657475726e2078202b20632e783b0a7d0a0a66756e6374696f6e206d617859286368696c6472656e29207b0a202072657475726e2031202b206368696c6472656e2e726564756365286d6178595265647563652c2030293b0a7d0a0a66756e6374696f6e206d61785952656475636528792c206329207b0a202072657475726e204d6174682e6d617828792c20632e79293b0a7d0a0a66756e6374696f6e206c6561664c656674286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b305d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c6561665269676874286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e20636c75737465722829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d2066616c73653b0a0a202066756e6374696f6e20636c757374657228726f6f7429207b0a202020207661722070726576696f75734e6f64652c0a202020202020202078203d20303b0a0a202020202f2f2046697273742077616c6b2c20636f6d707574696e672074686520696e697469616c2078202620792076616c7565732e0a20202020726f6f742e6561636841667465722866756e6374696f6e286e6f646529207b0a202020202020766172206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e29207b0a20202020202020206e6f64652e78203d206d65616e58286368696c6472656e293b0a20202020202020206e6f64652e79203d206d617859286368696c6472656e293b0a2020202020207d20656c7365207b0a20202020202020206e6f64652e78203d2070726576696f75734e6f6465203f2078202b3d2073657061726174696f6e286e6f64652c2070726576696f75734e6f646529203a20303b0a20202020202020206e6f64652e79203d20303b0a202020202020202070726576696f75734e6f6465203d206e6f64653b0a2020202020207d0a202020207d293b0a0a20202020766172206c656674203d206c6561664c65667428726f6f74292c0a20202020202020207269676874203d206c656166526967687428726f6f74292c0a20202020202020207830203d206c6566742e78202d2073657061726174696f6e286c6566742c20726967687429202f20322c0a20202020202020207831203d2072696768742e78202b2073657061726174696f6e2872696768742c206c65667429202f20323b0a0a202020202f2f205365636f6e642077616c6b2c206e6f726d616c697a696e6720782026207920746f2074686520646573697265642073697a652e0a2020202072657475726e20726f6f742e656163684166746572286e6f646553697a65203f2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20726f6f742e7829202a2064783b0a2020202020206e6f64652e79203d2028726f6f742e79202d206e6f64652e7929202a2064793b0a202020207d203a2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20783029202f20287831202d20783029202a2064783b0a2020202020206e6f64652e79203d202831202d2028726f6f742e79203f206e6f64652e79202f20726f6f742e79203a20312929202a2064793b0a202020207d293b0a20207d0a0a2020636c75737465722e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c20636c757374657229203a2073657061726174696f6e3b0a20207d3b0a0a2020636c75737465722e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020636c75737465722e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20636c75737465723b0a7d0a0a66756e6374696f6e20636f756e74286e6f646529207b0a20207661722073756d203d20302c0a2020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a20202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a2020696620282169292073756d203d20313b0a2020656c7365207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a20206e6f64652e76616c7565203d2073756d3b0a7d0a0a66756e6374696f6e206e6f64655f636f756e742829207b0a202072657475726e20746869732e65616368416674657228636f756e74293b0a7d0a0a66756e6374696f6e206e6f64655f656163682863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c2063757272656e742c206e657874203d205b6e6f64655d2c206368696c6472656e2c20692c206e3b0a2020646f207b0a2020202063757272656e74203d206e6578742e7265766572736528292c206e657874203d205b5d3b0a202020207768696c6520286e6f6465203d2063757272656e742e706f70282929207b0a20202020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202020206e6578742e70757368286368696c6472656e5b695d293b0a2020202020207d0a202020207d0a20207d207768696c6520286e6578742e6c656e677468293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f656163684265666f72652863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206368696c6472656e2c20693b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a2020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d206368696c6472656e2e6c656e677468202d20313b2069203e3d20303b202d2d6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f6561636841667465722863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206e657874203d205b5d2c206368696c6472656e2c20692c206e3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206e6578742e70757368286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a20207768696c6520286e6f6465203d206e6578742e706f70282929207b0a2020202063616c6c6261636b286e6f6465293b0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f73756d2876616c756529207b0a202072657475726e20746869732e6561636841667465722866756e6374696f6e286e6f646529207b0a202020207661722073756d203d202b76616c7565286e6f64652e6461746129207c7c20302c0a20202020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a202020202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a202020207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a202020206e6f64652e76616c7565203d2073756d3b0a20207d293b0a7d0a0a66756e6374696f6e206e6f64655f736f727428636f6d7061726529207b0a202072657475726e20746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e2e736f727428636f6d70617265293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e206e6f64655f7061746828656e6429207b0a2020766172207374617274203d20746869732c0a202020202020616e636573746f72203d206c65617374436f6d6d6f6e416e636573746f722873746172742c20656e64292c0a2020202020206e6f646573203d205b73746172745d3b0a20207768696c652028737461727420213d3d20616e636573746f7229207b0a202020207374617274203d2073746172742e706172656e743b0a202020206e6f6465732e70757368287374617274293b0a20207d0a2020766172206b203d206e6f6465732e6c656e6774683b0a20207768696c652028656e6420213d3d20616e636573746f7229207b0a202020206e6f6465732e73706c696365286b2c20302c20656e64293b0a20202020656e64203d20656e642e706172656e743b0a20207d0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206c65617374436f6d6d6f6e416e636573746f7228612c206229207b0a20206966202861203d3d3d2062292072657475726e20613b0a202076617220614e6f646573203d20612e616e636573746f727328292c0a202020202020624e6f646573203d20622e616e636573746f727328292c0a20202020202063203d206e756c6c3b0a202061203d20614e6f6465732e706f7028293b0a202062203d20624e6f6465732e706f7028293b0a20207768696c65202861203d3d3d206229207b0a2020202063203d20613b0a2020202061203d20614e6f6465732e706f7028293b0a2020202062203d20624e6f6465732e706f7028293b0a20207d0a202072657475726e20633b0a7d0a0a66756e6374696f6e206e6f64655f616e636573746f72732829207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d3b0a20207768696c6520286e6f6465203d206e6f64652e706172656e7429207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206e6f64655f64657363656e64616e74732829207b0a2020766172206e6f646573203d205b5d3b0a2020746869732e656163682866756e6374696f6e286e6f646529207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d293b0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206e6f64655f6c65617665732829207b0a2020766172206c6561766573203d205b5d3b0a2020746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206c65617665732e70757368286e6f6465293b0a202020207d0a20207d293b0a202072657475726e206c65617665733b0a7d0a0a66756e6374696f6e206e6f64655f6c696e6b732829207b0a202076617220726f6f74203d20746869732c206c696e6b73203d205b5d3b0a2020726f6f742e656163682866756e6374696f6e286e6f646529207b0a20202020696620286e6f646520213d3d20726f6f7429207b202f2f20446f6ee280997420696e636c7564652074686520726f6f74e280997320706172656e742c20696620616e792e0a2020202020206c696e6b732e70757368287b736f757263653a206e6f64652e706172656e742c207461726765743a206e6f64657d293b0a202020207d0a20207d293b0a202072657475726e206c696e6b733b0a7d0a0a66756e6374696f6e2068696572617263687928646174612c206368696c6472656e29207b0a202076617220726f6f74203d206e6577204e6f64652864617461292c0a20202020202076616c756564203d202b646174612e76616c75652026262028726f6f742e76616c7565203d20646174612e76616c7565292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b726f6f745d2c0a2020202020206368696c642c0a2020202020206368696c64732c0a202020202020692c0a2020202020206e3b0a0a2020696620286368696c6472656e203d3d206e756c6c29206368696c6472656e203d2064656661756c744368696c6472656e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206966202876616c75656429206e6f64652e76616c7565203d202b6e6f64652e646174612e76616c75653b0a2020202069662028286368696c6473203d206368696c6472656e286e6f64652e64617461292920262620286e203d206368696c64732e6c656e6774682929207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e6577204e6f6465286368696c64735b695d29293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a20202020202020206368696c642e6465707468203d206e6f64652e6465707468202b20313b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726f6f742e656163684265666f726528636f6d70757465486569676874293b0a7d0a0a66756e6374696f6e206e6f64655f636f70792829207b0a202072657475726e206869657261726368792874686973292e656163684265666f726528636f707944617461293b0a7d0a0a66756e6374696f6e2064656661756c744368696c6472656e286429207b0a202072657475726e20642e6368696c6472656e3b0a7d0a0a66756e6374696f6e20636f707944617461286e6f646529207b0a20206e6f64652e64617461203d206e6f64652e646174612e646174613b0a7d0a0a66756e6374696f6e20636f6d70757465486569676874286e6f646529207b0a202076617220686569676874203d20303b0a2020646f206e6f64652e686569676874203d206865696768743b0a20207768696c652028286e6f6465203d206e6f64652e706172656e742920262620286e6f64652e686569676874203c202b2b68656967687429293b0a7d0a0a66756e6374696f6e204e6f6465286461746129207b0a2020746869732e64617461203d20646174613b0a2020746869732e6465707468203d0a2020746869732e686569676874203d20303b0a2020746869732e706172656e74203d206e756c6c3b0a7d0a0a4e6f64652e70726f746f74797065203d206869657261726368792e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204e6f64652c0a2020636f756e743a206e6f64655f636f756e742c0a2020656163683a206e6f64655f656163682c0a20206561636841667465723a206e6f64655f6561636841667465722c0a2020656163684265666f72653a206e6f64655f656163684265666f72652c0a202073756d3a206e6f64655f73756d2c0a2020736f72743a206e6f64655f736f72742c0a2020706174683a206e6f64655f706174682c0a2020616e636573746f72733a206e6f64655f616e636573746f72732c0a202064657363656e64616e74733a206e6f64655f64657363656e64616e74732c0a20206c65617665733a206e6f64655f6c65617665732c0a20206c696e6b733a206e6f64655f6c696e6b732c0a2020636f70793a206e6f64655f636f70790a7d3b0a0a76617220736c6963652434203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e2073687566666c65243128617272617929207b0a2020766172206d203d2061727261792e6c656e6774682c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d5d3b0a2020202061727261795b6d5d203d2061727261795b695d3b0a2020202061727261795b695d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a66756e6374696f6e20656e636c6f736528636972636c657329207b0a20207661722069203d20302c206e203d2028636972636c6573203d2073687566666c65243128736c69636524342e63616c6c28636972636c65732929292e6c656e6774682c2042203d205b5d2c20702c20653b0a0a20207768696c65202869203c206e29207b0a2020202070203d20636972636c65735b695d3b0a20202020696620286520262620656e636c6f7365735765616b28652c20702929202b2b693b0a20202020656c73652065203d20656e636c6f736542617369732842203d20657874656e64426173697328422c207029292c2069203d20303b0a20207d0a0a202072657475726e20653b0a7d0a0a66756e6374696f6e20657874656e64426173697328422c207029207b0a202076617220692c206a3b0a0a202069662028656e636c6f7365735765616b416c6c28702c204229292072657475726e205b705d3b0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c65617374206f6e6520656c656d656e742e0a2020666f72202869203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a2020202069662028656e636c6f7365734e6f7428702c20425b695d290a2020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733228425b695d2c2070292c20422929207b0a20202020202072657475726e205b425b695d2c20705d3b0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c656173742074776f20656c656d656e74732e0a2020666f72202869203d20303b2069203c20422e6c656e677468202d20313b202b2b6929207b0a20202020666f7220286a203d2069202b20313b206a203c20422e6c656e6774683b202b2b6a29207b0a20202020202069662028656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c20425b6a5d292c2070290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c2070292c20425b6a5d290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b6a5d2c2070292c20425b695d290a20202020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733328425b695d2c20425b6a5d2c2070292c20422929207b0a202020202020202072657475726e205b425b695d2c20425b6a5d2c20705d3b0a2020202020207d0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e20736f6d657468696e6720697320766572792077726f6e672e0a20207468726f77206e6577204572726f723b0a7d0a0a66756e6374696f6e20656e636c6f7365734e6f7428612c206229207b0a2020766172206472203d20612e72202d20622e722c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203c2030207c7c206472202a206472203c206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b28612c206229207b0a2020766172206472203d20612e72202d20622e72202b2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b416c6c28612c204229207b0a2020666f7220287661722069203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a202020206966202821656e636c6f7365735765616b28612c20425b695d2929207b0a20202020202072657475726e2066616c73653b0a202020207d0a20207d0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20656e636c6f73654261736973284229207b0a20207377697463682028422e6c656e67746829207b0a202020206361736520313a2072657475726e20656e636c6f736542617369733128425b305d293b0a202020206361736520323a2072657475726e20656e636c6f736542617369733228425b305d2c20425b315d293b0a202020206361736520333a2072657475726e20656e636c6f736542617369733328425b305d2c20425b315d2c20425b325d293b0a20207d0a7d0a0a66756e6374696f6e20656e636c6f7365426173697331286129207b0a202072657475726e207b0a20202020783a20612e782c0a20202020793a20612e792c0a20202020723a20612e720a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733228612c206229207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a202020202020783231203d207832202d2078312c20793231203d207932202d2079312c20723231203d207232202d2072312c0a2020202020206c203d204d6174682e7371727428783231202a20783231202b20793231202a20793231293b0a202072657475726e207b0a20202020783a20287831202b207832202b20783231202f206c202a2072323129202f20322c0a20202020793a20287931202b207932202b20793231202f206c202a2072323129202f20322c0a20202020723a20286c202b207231202b20723229202f20320a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733328612c20622c206329207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a2020202020207833203d20632e782c207933203d20632e792c207233203d20632e722c0a2020202020206132203d207831202d2078322c0a2020202020206133203d207831202d2078332c0a2020202020206232203d207931202d2079322c0a2020202020206233203d207931202d2079332c0a2020202020206332203d207232202d2072312c0a2020202020206333203d207233202d2072312c0a2020202020206431203d207831202a207831202b207931202a207931202d207231202a2072312c0a2020202020206432203d206431202d207832202a207832202d207932202a207932202b207232202a2072322c0a2020202020206433203d206431202d207833202a207833202d207933202a207933202b207233202a2072332c0a2020202020206162203d206133202a206232202d206132202a2062332c0a2020202020207861203d20286232202a206433202d206233202a20643229202f20286162202a203229202d2078312c0a2020202020207862203d20286233202a206332202d206232202a20633329202f2061622c0a2020202020207961203d20286133202a206432202d206132202a20643329202f20286162202a203229202d2079312c0a2020202020207962203d20286132202a206333202d206133202a20633229202f2061622c0a20202020202041203d207862202a207862202b207962202a207962202d20312c0a20202020202042203d2032202a20287231202b207861202a207862202b207961202a207962292c0a20202020202043203d207861202a207861202b207961202a207961202d207231202a2072312c0a20202020202072203d202d2841203f202842202b204d6174682e737172742842202a2042202d2034202a2041202a20432929202f202832202a204129203a2043202f2042293b0a202072657475726e207b0a20202020783a207831202b207861202b207862202a20722c0a20202020793a207931202b207961202b207962202a20722c0a20202020723a20720a20207d3b0a7d0a0a66756e6374696f6e20706c61636528622c20612c206329207b0a2020766172206478203d20622e78202d20612e782c20782c2061322c0a2020202020206479203d20622e79202d20612e792c20792c2062322c0a2020202020206432203d206478202a206478202b206479202a2064793b0a202069662028643229207b0a202020206132203d20612e72202b20632e722c206132202a3d2061323b0a202020206232203d20622e72202b20632e722c206232202a3d2062323b0a20202020696620286132203e20623229207b0a20202020202078203d20286432202b206232202d20613229202f202832202a206432293b0a20202020202079203d204d6174682e73717274284d6174682e6d617828302c206232202f206432202d2078202a207829293b0a202020202020632e78203d20622e78202d2078202a206478202d2079202a2064793b0a202020202020632e79203d20622e79202d2078202a206479202b2079202a2064783b0a202020207d20656c7365207b0a20202020202078203d20286432202b206132202d20623229202f202832202a206432293b0a20202020202079203d204d6174682e73717274284d6174682e6d617828302c206132202f206432202d2078202a207829293b0a202020202020632e78203d20612e78202b2078202a206478202d2079202a2064793b0a202020202020632e79203d20612e79202b2078202a206479202b2079202a2064783b0a202020207d0a20207d20656c7365207b0a20202020632e78203d20612e78202b20632e723b0a20202020632e79203d20612e793b0a20207d0a7d0a0a66756e6374696f6e20696e746572736563747328612c206229207b0a2020766172206472203d20612e72202b20622e72202d2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e2073636f7265286e6f646529207b0a20207661722061203d206e6f64652e5f2c0a20202020202062203d206e6f64652e6e6578742e5f2c0a2020202020206162203d20612e72202b20622e722c0a2020202020206478203d2028612e78202a20622e72202b20622e78202a20612e7229202f2061622c0a2020202020206479203d2028612e79202a20622e72202b20622e79202a20612e7229202f2061623b0a202072657475726e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e204e6f6465243128636972636c6529207b0a2020746869732e5f203d20636972636c653b0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e70726576696f7573203d206e756c6c3b0a7d0a0a66756e6374696f6e207061636b456e636c6f736528636972636c657329207b0a20206966202821286e203d20636972636c65732e6c656e67746829292072657475726e20303b0a0a202076617220612c20622c20632c206e2c2061612c2063612c20692c206a2c206b2c20736a2c20736b3b0a0a20202f2f20506c6163652074686520666972737420636972636c652e0a202061203d20636972636c65735b305d2c20612e78203d20302c20612e79203d20303b0a20206966202821286e203e203129292072657475726e20612e723b0a0a20202f2f20506c61636520746865207365636f6e6420636972636c652e0a202062203d20636972636c65735b315d2c20612e78203d202d622e722c20622e78203d20612e722c20622e79203d20303b0a20206966202821286e203e203229292072657475726e20612e72202b20622e723b0a0a20202f2f20506c6163652074686520746869726420636972636c652e0a2020706c61636528622c20612c2063203d20636972636c65735b325d293b0a0a20202f2f20496e697469616c697a65207468652066726f6e742d636861696e207573696e672074686520666972737420746872656520636972636c657320612c206220616e6420632e0a202061203d206e6577204e6f646524312861292c2062203d206e6577204e6f646524312862292c2063203d206e6577204e6f646524312863293b0a2020612e6e657874203d20632e70726576696f7573203d20623b0a2020622e6e657874203d20612e70726576696f7573203d20633b0a2020632e6e657874203d20622e70726576696f7573203d20613b0a0a20202f2f20417474656d707420746f20706c61636520656163682072656d61696e696e6720636972636c65e280a60a20207061636b3a20666f72202869203d20333b2069203c206e3b202b2b6929207b0a20202020706c61636528612e5f2c20622e5f2c2063203d20636972636c65735b695d292c2063203d206e6577204e6f646524312863293b0a0a202020202f2f2046696e642074686520636c6f7365737420696e74657273656374696e6720636972636c65206f6e207468652066726f6e742d636861696e2c20696620616e792e0a202020202f2f20e2809c436c6f73656e657373e2809d2069732064657465726d696e6564206279206c696e6561722064697374616e636520616c6f6e67207468652066726f6e742d636861696e2e0a202020202f2f20e2809c4168656164e2809d206f7220e2809c626568696e64e2809d206973206c696b65776973652064657465726d696e6564206279206c696e6561722064697374616e63652e0a202020206a203d20622e6e6578742c206b203d20612e70726576696f75732c20736a203d20622e5f2e722c20736b203d20612e5f2e723b0a20202020646f207b0a20202020202069662028736a203c3d20736b29207b0a202020202020202069662028696e7465727365637473286a2e5f2c20632e5f2929207b0a2020202020202020202062203d206a2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736a202b3d206a2e5f2e722c206a203d206a2e6e6578743b0a2020202020207d20656c7365207b0a202020202020202069662028696e7465727365637473286b2e5f2c20632e5f2929207b0a2020202020202020202061203d206b2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736b202b3d206b2e5f2e722c206b203d206b2e70726576696f75733b0a2020202020207d0a202020207d207768696c6520286a20213d3d206b2e6e657874293b0a0a202020202f2f20537563636573732120496e7365727420746865206e657720636972636c652063206265747765656e206120616e6420622e0a20202020632e70726576696f7573203d20612c20632e6e657874203d20622c20612e6e657874203d20622e70726576696f7573203d2062203d20633b0a0a202020202f2f20436f6d7075746520746865206e657720636c6f7365737420636972636c65207061697220746f207468652063656e74726f69642e0a202020206161203d2073636f72652861293b0a202020207768696c6520282863203d20632e6e6578742920213d3d206229207b0a20202020202069662028286361203d2073636f726528632929203c20616129207b0a202020202020202061203d20632c206161203d2063613b0a2020202020207d0a202020207d0a2020202062203d20612e6e6578743b0a20207d0a0a20202f2f20436f6d707574652074686520656e636c6f73696e6720636972636c65206f66207468652066726f6e7420636861696e2e0a202061203d205b622e5f5d2c2063203d20623b207768696c6520282863203d20632e6e6578742920213d3d20622920612e7075736828632e5f293b2063203d20656e636c6f73652861293b0a0a20202f2f205472616e736c6174652074686520636972636c657320746f207075742074686520656e636c6f73696e6720636972636c652061726f756e6420746865206f726967696e2e0a2020666f72202869203d20303b2069203c206e3b202b2b69292061203d20636972636c65735b695d2c20612e78202d3d20632e782c20612e79202d3d20632e793b0a0a202072657475726e20632e723b0a7d0a0a66756e6374696f6e207369626c696e677328636972636c657329207b0a20207061636b456e636c6f736528636972636c6573293b0a202072657475726e20636972636c65733b0a7d0a0a66756e6374696f6e206f7074696f6e616c286629207b0a202072657475726e2066203d3d206e756c6c203f206e756c6c203a2072657175697265642866293b0a7d0a0a66756e6374696f6e207265717569726564286629207b0a202069662028747970656f66206620213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20663b0a7d0a0a66756e6374696f6e20636f6e7374616e745a65726f2829207b0a202072657475726e20303b0a7d0a0a66756e6374696f6e20636f6e7374616e742439287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e2064656661756c745261646975732431286429207b0a202072657475726e204d6174682e7371727428642e76616c7565293b0a7d0a0a66756e6374696f6e20696e64657824322829207b0a202076617220726164697573203d206e756c6c2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e207061636b28726f6f7429207b0a20202020726f6f742e78203d206478202f20322c20726f6f742e79203d206479202f20323b0a202020206966202872616469757329207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662872616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20302e3529290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64283129293b0a202020207d20656c7365207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662864656661756c74526164697573243129290a202020202020202020202e656163684166746572287061636b4368696c6472656e28636f6e7374616e745a65726f2c203129290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20726f6f742e72202f204d6174682e6d696e2864782c2064792929290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64284d6174682e6d696e2864782c20647929202f202832202a20726f6f742e722929293b0a202020207d0a2020202072657475726e20726f6f743b0a20207d0a0a20207061636b2e726164697573203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d206f7074696f6e616c2878292c207061636b29203a207261646975733b0a20207d3b0a0a20207061636b2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c207061636b29203a205b64782c2064795d3b0a20207d3b0a0a20207061636b2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c207061636b29203a2070616464696e673b0a20207d3b0a0a202072657475726e207061636b3b0a7d0a0a66756e6374696f6e207261646975734c6561662872616469757329207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e72203d204d6174682e6d617828302c202b726164697573286e6f646529207c7c2030293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061636b4368696c6472656e2870616464696e672c206b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a20202020696620286368696c6472656e203d206e6f64652e6368696c6472656e29207b0a202020202020766172206368696c6472656e2c0a20202020202020202020692c0a202020202020202020206e203d206368696c6472656e2e6c656e6774682c0a2020202020202020202072203d2070616464696e67286e6f646529202a206b207c7c20302c0a20202020202020202020653b0a0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202b3d20723b0a20202020202065203d207061636b456e636c6f7365286368696c6472656e293b0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202d3d20723b0a2020202020206e6f64652e72203d2065202b20723b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207472616e736c6174654368696c64286b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202076617220706172656e74203d206e6f64652e706172656e743b0a202020206e6f64652e72202a3d206b3b0a2020202069662028706172656e7429207b0a2020202020206e6f64652e78203d20706172656e742e78202b206b202a206e6f64652e783b0a2020202020206e6f64652e79203d20706172656e742e79202b206b202a206e6f64652e793b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20726f756e644e6f6465286e6f646529207b0a20206e6f64652e7830203d204d6174682e726f756e64286e6f64652e7830293b0a20206e6f64652e7930203d204d6174682e726f756e64286e6f64652e7930293b0a20206e6f64652e7831203d204d6174682e726f756e64286e6f64652e7831293b0a20206e6f64652e7931203d204d6174682e726f756e64286e6f64652e7931293b0a7d0a0a66756e6374696f6e20747265656d61704469636528706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287831202d20783029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7930203d2079302c206e6f64652e7931203d2079313b0a202020206e6f64652e7830203d2078302c206e6f64652e7831203d207830202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d0a0a66756e6374696f6e20706172746974696f6e2829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20302c0a202020202020726f756e64203d2066616c73653b0a0a202066756e6374696f6e20706172746974696f6e28726f6f7429207b0a20202020766172206e203d20726f6f742e686569676874202b20313b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d2070616464696e673b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d206479202f206e3b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f64652864792c206e29293b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f64652864792c206e29207b0a2020202072657475726e2066756e6374696f6e286e6f646529207b0a202020202020696620286e6f64652e6368696c6472656e29207b0a2020202020202020747265656d617044696365286e6f64652c206e6f64652e78302c206479202a20286e6f64652e6465707468202b203129202f206e2c206e6f64652e78312c206479202a20286e6f64652e6465707468202b203229202f206e293b0a2020202020207d0a202020202020766172207830203d206e6f64652e78302c0a202020202020202020207930203d206e6f64652e79302c0a202020202020202020207831203d206e6f64652e7831202d2070616464696e672c0a202020202020202020207931203d206e6f64652e7931202d2070616464696e673b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a2020202020206e6f64652e7830203d2078303b0a2020202020206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078313b0a2020202020206e6f64652e7931203d2079313b0a202020207d3b0a20207d0a0a2020706172746974696f6e2e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20706172746974696f6e29203a20726f756e643b0a20207d3b0a0a2020706172746974696f6e2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20706172746974696f6e29203a205b64782c2064795d3b0a20207d3b0a0a2020706172746974696f6e2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d202b782c20706172746974696f6e29203a2070616464696e673b0a20207d3b0a0a202072657475726e20706172746974696f6e3b0a7d0a0a766172206b65795072656669782431203d202224222c202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a20202020707265726f6f74203d207b64657074683a202d317d2c0a20202020616d626967756f7573203d207b7d3b0a0a66756e6374696f6e2064656661756c744964286429207b0a202072657475726e20642e69643b0a7d0a0a66756e6374696f6e2064656661756c74506172656e744964286429207b0a202072657475726e20642e706172656e7449643b0a7d0a0a66756e6374696f6e2073747261746966792829207b0a2020766172206964203d2064656661756c7449642c0a202020202020706172656e744964203d2064656661756c74506172656e7449643b0a0a202066756e6374696f6e207374726174696679286461746129207b0a2020202076617220642c0a2020202020202020692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020726f6f742c0a2020202020202020706172656e742c0a20202020202020206e6f64652c0a20202020202020206e6f646573203d206e6577204172726179286e292c0a20202020202020206e6f646549642c0a20202020202020206e6f64654b65792c0a20202020202020206e6f646542794b6579203d207b7d3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202064203d20646174615b695d2c206e6f6465203d206e6f6465735b695d203d206e6577204e6f64652864293b0a20202020202069662028286e6f64654964203d20696428642c20692c2064617461292920213d206e756c6c20262620286e6f64654964202b3d2022222929207b0a20202020202020206e6f64654b6579203d206b65795072656669782431202b20286e6f64652e6964203d206e6f64654964293b0a20202020202020206e6f646542794b65795b6e6f64654b65795d203d206e6f64654b657920696e206e6f646542794b6579203f20616d626967756f7573203a206e6f64653b0a2020202020207d0a202020207d0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64654964203d20706172656e74496428646174615b695d2c20692c2064617461293b0a202020202020696620286e6f64654964203d3d206e756c6c207c7c2021286e6f64654964202b3d2022222929207b0a202020202020202069662028726f6f7429207468726f77206e6577204572726f7228226d756c7469706c6520726f6f747322293b0a2020202020202020726f6f74203d206e6f64653b0a2020202020207d20656c7365207b0a2020202020202020706172656e74203d206e6f646542794b65795b6b65795072656669782431202b206e6f646549645d3b0a20202020202020206966202821706172656e7429207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202020202020202069662028706172656e74203d3d3d20616d626967756f757329207468726f77206e6577204572726f722822616d626967756f75733a2022202b206e6f64654964293b0a202020202020202069662028706172656e742e6368696c6472656e2920706172656e742e6368696c6472656e2e70757368286e6f6465293b0a2020202020202020656c736520706172656e742e6368696c6472656e203d205b6e6f64655d3b0a20202020202020206e6f64652e706172656e74203d20706172656e743b0a2020202020207d0a202020207d0a0a202020206966202821726f6f7429207468726f77206e6577204572726f7228226e6f20726f6f7422293b0a20202020726f6f742e706172656e74203d20707265726f6f743b0a20202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b206e6f64652e6465707468203d206e6f64652e706172656e742e6465707468202b20313b202d2d6e3b207d292e656163684265666f726528636f6d70757465486569676874293b0a20202020726f6f742e706172656e74203d206e756c6c3b0a20202020696620286e203e203029207468726f77206e6577204572726f7228226379636c6522293b0a0a2020202072657475726e20726f6f743b0a20207d0a0a202073747261746966792e6964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d2072657175697265642878292c20737472617469667929203a2069643b0a20207d3b0a0a202073747261746966792e706172656e744964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706172656e744964203d2072657175697265642878292c20737472617469667929203a20706172656e7449643b0a20207d3b0a0a202072657475726e2073747261746966793b0a7d0a0a66756e6374696f6e2064656661756c7453657061726174696f6e243128612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a2f2f2066756e6374696f6e2072616469616c53657061726174696f6e28612c206229207b0a2f2f20202072657475726e2028612e706172656e74203d3d3d20622e706172656e74203f2031203a203229202f20612e64657074683b0a2f2f207d0a0a2f2f20546869732066756e6374696f6e206973207573656420746f20747261766572736520746865206c65667420636f6e746f7572206f662061207375627472656520286f720a2f2f20737562666f72657374292e2049742072657475726e732074686520737563636573736f72206f662076206f6e207468697320636f6e746f75722e205468697320737563636573736f722069730a2f2f2065697468657220676976656e20627920746865206c6566746d6f7374206368696c64206f662076206f722062792074686520746872656164206f6620762e205468652066756e6374696f6e0a2f2f2072657475726e73206e756c6c20696620616e64206f6e6c792069662076206973206f6e207468652068696768657374206c6576656c206f662069747320737562747265652e0a66756e6374696f6e206e6578744c656674287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b305d203a20762e743b0a7d0a0a2f2f20546869732066756e6374696f6e20776f726b7320616e616c6f676f75736c7920746f206e6578744c6566742e0a66756e6374696f6e206e6578745269676874287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d203a20762e743b0a7d0a0a2f2f20536869667473207468652063757272656e74207375627472656520726f6f74656420617420772b2e205468697320697320646f6e6520627920696e6372656173696e670a2f2f207072656c696d28772b2920616e64206d6f6428772b292062792073686966742e0a66756e6374696f6e206d6f76655375627472656528776d2c2077702c20736869667429207b0a2020766172206368616e6765203d207368696674202f202877702e69202d20776d2e69293b0a202077702e63202d3d206368616e67653b0a202077702e73202b3d2073686966743b0a2020776d2e63202b3d206368616e67653b0a202077702e7a202b3d2073686966743b0a202077702e6d202b3d2073686966743b0a7d0a0a2f2f20416c6c206f74686572207368696674732c206170706c69656420746f2074686520736d616c6c6572207375627472656573206265747765656e20772d20616e6420772b2c206172650a2f2f20706572666f726d656420627920746869732066756e6374696f6e2e20546f207072657061726520746865207368696674732c207765206861766520746f2061646a7573740a2f2f206368616e676528772b292c20736869667428772b292c20616e64206368616e676528772d292e0a66756e6374696f6e2065786563757465536869667473287629207b0a2020766172207368696674203d20302c0a2020202020206368616e6765203d20302c0a2020202020206368696c6472656e203d20762e6368696c6472656e2c0a20202020202069203d206368696c6472656e2e6c656e6774682c0a202020202020773b0a20207768696c6520282d2d69203e3d203029207b0a2020202077203d206368696c6472656e5b695d3b0a20202020772e7a202b3d2073686966743b0a20202020772e6d202b3d2073686966743b0a202020207368696674202b3d20772e73202b20286368616e6765202b3d20772e63293b0a20207d0a7d0a0a2f2f2049662076692de280997320616e636573746f722069732061207369626c696e67206f6620762c2072657475726e732076692de280997320616e636573746f722e204f74686572776973652c0a2f2f2072657475726e732074686520737065636966696564202864656661756c742920616e636573746f722e0a66756e6374696f6e206e657874416e636573746f722876696d2c20762c20616e636573746f7229207b0a202072657475726e2076696d2e612e706172656e74203d3d3d20762e706172656e74203f2076696d2e61203a20616e636573746f723b0a7d0a0a66756e6374696f6e20547265654e6f6465286e6f64652c206929207b0a2020746869732e5f203d206e6f64653b0a2020746869732e706172656e74203d206e756c6c3b0a2020746869732e6368696c6472656e203d206e756c6c3b0a2020746869732e41203d206e756c6c3b202f2f2064656661756c7420616e636573746f720a2020746869732e61203d20746869733b202f2f20616e636573746f720a2020746869732e7a203d20303b202f2f207072656c696d0a2020746869732e6d203d20303b202f2f206d6f640a2020746869732e63203d20303b202f2f206368616e67650a2020746869732e73203d20303b202f2f2073686966740a2020746869732e74203d206e756c6c3b202f2f207468726561640a2020746869732e69203d20693b202f2f206e756d6265720a7d0a0a547265654e6f64652e70726f746f74797065203d204f626a6563742e637265617465284e6f64652e70726f746f74797065293b0a0a66756e6374696f6e2074726565526f6f7428726f6f7429207b0a20207661722074726565203d206e657720547265654e6f646528726f6f742c2030292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b747265655d2c0a2020202020206368696c642c0a2020202020206368696c6472656e2c0a202020202020692c0a2020202020206e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020696620286368696c6472656e203d206e6f64652e5f2e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e203d206368696c6472656e2e6c656e677468293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e657720547265654e6f6465286368696c6472656e5b695d2c206929293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202028747265652e706172656e74203d206e657720547265654e6f6465286e756c6c2c203029292e6368696c6472656e203d205b747265655d3b0a202072657475726e20747265653b0a7d0a0a2f2f204e6f64652d6c696e6b2074726565206469616772616d207573696e6720746865205265696e676f6c642d54696c666f72642022746964792220616c676f726974686d0a66756e6374696f6e20747265652829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e24312c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d206e756c6c3b0a0a202066756e6374696f6e207472656528726f6f7429207b0a202020207661722074203d2074726565526f6f7428726f6f74293b0a0a202020202f2f20436f6d7075746520746865206c61796f7574207573696e6720427563686865696d20657420616c2ee280997320616c676f726974686d2e0a20202020742e65616368416674657228666972737457616c6b292c20742e706172656e742e6d203d202d742e7a3b0a20202020742e656163684265666f7265287365636f6e6457616c6b293b0a0a202020202f2f2049662061206669786564206e6f64652073697a65206973207370656369666965642c207363616c65207820616e6420792e0a20202020696620286e6f646553697a652920726f6f742e656163684265666f72652873697a654e6f6465293b0a0a202020202f2f204966206120666978656420747265652073697a65206973207370656369666965642c207363616c65207820616e642079206261736564206f6e2074686520657874656e742e0a202020202f2f20436f6d7075746520746865206c6566742d6d6f73742c2072696768742d6d6f73742c20616e642064657074682d6d6f7374206e6f64657320666f7220657874656e74732e0a20202020656c7365207b0a202020202020766172206c656674203d20726f6f742c0a202020202020202020207269676874203d20726f6f742c0a20202020202020202020626f74746f6d203d20726f6f743b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202020202020696620286e6f64652e78203c206c6566742e7829206c656674203d206e6f64653b0a2020202020202020696620286e6f64652e78203e2072696768742e7829207269676874203d206e6f64653b0a2020202020202020696620286e6f64652e6465707468203e20626f74746f6d2e64657074682920626f74746f6d203d206e6f64653b0a2020202020207d293b0a2020202020207661722073203d206c656674203d3d3d207269676874203f2031203a2073657061726174696f6e286c6566742c20726967687429202f20322c0a202020202020202020207478203d2073202d206c6566742e782c0a202020202020202020206b78203d206478202f202872696768742e78202b2073202b207478292c0a202020202020202020206b79203d206479202f2028626f74746f6d2e6465707468207c7c2031293b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020202020206e6f64652e78203d20286e6f64652e78202b20747829202a206b783b0a20202020202020206e6f64652e79203d206e6f64652e6465707468202a206b793b0a2020202020207d293b0a202020207d0a0a2020202072657475726e20726f6f743b0a20207d0a0a20202f2f20436f6d70757465732061207072656c696d696e61727920782d636f6f7264696e61746520666f7220762e204265666f726520746861742c2046495253542057414c4b2069730a20202f2f206170706c696564207265637572736976656c7920746f20746865206368696c6472656e206f6620762c2061732077656c6c206173207468652066756e6374696f6e0a20202f2f204150504f5254494f4e2e2041667465722073706163696e67206f757420746865206368696c6472656e2062792063616c6c696e672045584543555445205348494654532c207468650a20202f2f206e6f6465207620697320706c6163656420746f20746865206d6964706f696e74206f6620697473206f757465726d6f7374206368696c6472656e2e0a202066756e6374696f6e20666972737457616c6b287629207b0a20202020766172206368696c6472656e203d20762e6368696c6472656e2c0a20202020202020207369626c696e6773203d20762e706172656e742e6368696c6472656e2c0a202020202020202077203d20762e69203f207369626c696e67735b762e69202d20315d203a206e756c6c3b0a20202020696620286368696c6472656e29207b0a202020202020657865637574655368696674732876293b0a202020202020766172206d6964706f696e74203d20286368696c6472656e5b305d2e7a202b206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d2e7a29202f20323b0a202020202020696620287729207b0a2020202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a2020202020202020762e6d203d20762e7a202d206d6964706f696e743b0a2020202020207d20656c7365207b0a2020202020202020762e7a203d206d6964706f696e743b0a2020202020207d0a202020207d20656c736520696620287729207b0a202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a202020207d0a20202020762e706172656e742e41203d206170706f7274696f6e28762c20772c20762e706172656e742e41207c7c207369626c696e67735b305d293b0a20207d0a0a20202f2f20436f6d707574657320616c6c207265616c20782d636f6f7264696e617465732062792073756d6d696e6720757020746865206d6f64696669657273207265637572736976656c792e0a202066756e6374696f6e207365636f6e6457616c6b287629207b0a20202020762e5f2e78203d20762e7a202b20762e706172656e742e6d3b0a20202020762e6d202b3d20762e706172656e742e6d3b0a20207d0a0a20202f2f2054686520636f7265206f662074686520616c676f726974686d2e20486572652c2061206e6577207375627472656520697320636f6d62696e65642077697468207468650a20202f2f2070726576696f75732073756274726565732e205468726561647320617265207573656420746f2074726176657273652074686520696e7369646520616e64206f7574736964650a20202f2f20636f6e746f757273206f6620746865206c65667420616e64207269676874207375627472656520757020746f20746865206869676865737420636f6d6d6f6e206c6576656c2e205468650a20202f2f207665727469636573207573656420666f72207468652074726176657273616c73206172652076692b2c2076692d2c20766f2d2c20616e6420766f2b2c207768657265207468650a20202f2f207375706572736372697074206f206d65616e73206f75747369646520616e642069206d65616e7320696e736964652c2074686520737562736372697074202d206d65616e73206c6566740a20202f2f207375627472656520616e64202b206d65616e7320726967687420737562747265652e20466f722073756d6d696e6720757020746865206d6f6469666965727320616c6f6e67207468650a20202f2f20636f6e746f75722c207765207573652072657370656374697665207661726961626c65732073692b2c2073692d2c20736f2d2c20616e6420736f2b2e205768656e657665722074776f0a20202f2f206e6f646573206f662074686520696e7369646520636f6e746f75727320636f6e666c6963742c20776520636f6d7075746520746865206c656674206f6e65206f66207468650a20202f2f20677265617465737420756e636f6d6d6f6e20616e636573746f7273207573696e67207468652066756e6374696f6e20414e434553544f5220616e642063616c6c204d4f56450a20202f2f205355425452454520746f20736869667420746865207375627472656520616e6420707265706172652074686520736869667473206f6620736d616c6c65722073756274726565732e0a20202f2f2046696e616c6c792c207765206164642061206e65772074687265616420286966206e6563657373617279292e0a202066756e6374696f6e206170706f7274696f6e28762c20772c20616e636573746f7229207b0a20202020696620287729207b0a20202020202076617220766970203d20762c0a20202020202020202020766f70203d20762c0a2020202020202020202076696d203d20772c0a20202020202020202020766f6d203d207669702e706172656e742e6368696c6472656e5b305d2c0a20202020202020202020736970203d207669702e6d2c0a20202020202020202020736f70203d20766f702e6d2c0a2020202020202020202073696d203d2076696d2e6d2c0a20202020202020202020736f6d203d20766f6d2e6d2c0a2020202020202020202073686966743b0a2020202020207768696c65202876696d203d206e65787452696768742876696d292c20766970203d206e6578744c65667428766970292c2076696d2026262076697029207b0a2020202020202020766f6d203d206e6578744c65667428766f6d293b0a2020202020202020766f70203d206e657874526967687428766f70293b0a2020202020202020766f702e61203d20763b0a20202020202020207368696674203d2076696d2e7a202b2073696d202d207669702e7a202d20736970202b2073657061726174696f6e2876696d2e5f2c207669702e5f293b0a2020202020202020696620287368696674203e203029207b0a202020202020202020206d6f766553756274726565286e657874416e636573746f722876696d2c20762c20616e636573746f72292c20762c207368696674293b0a20202020202020202020736970202b3d2073686966743b0a20202020202020202020736f70202b3d2073686966743b0a20202020202020207d0a202020202020202073696d202b3d2076696d2e6d3b0a2020202020202020736970202b3d207669702e6d3b0a2020202020202020736f6d202b3d20766f6d2e6d3b0a2020202020202020736f70202b3d20766f702e6d3b0a2020202020207d0a2020202020206966202876696d20262620216e657874526967687428766f702929207b0a2020202020202020766f702e74203d2076696d3b0a2020202020202020766f702e6d202b3d2073696d202d20736f703b0a2020202020207d0a2020202020206966202876697020262620216e6578744c65667428766f6d2929207b0a2020202020202020766f6d2e74203d207669703b0a2020202020202020766f6d2e6d202b3d20736970202d20736f6d3b0a2020202020202020616e636573746f72203d20763b0a2020202020207d0a202020207d0a2020202072657475726e20616e636573746f723b0a20207d0a0a202066756e6374696f6e2073697a654e6f6465286e6f646529207b0a202020206e6f64652e78202a3d2064783b0a202020206e6f64652e79203d206e6f64652e6465707468202a2064793b0a20207d0a0a2020747265652e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c207472656529203a2073657061726174696f6e3b0a20207d3b0a0a2020747265652e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020747265652e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20747265653b0a7d0a0a66756e6374696f6e20747265656d6170536c69636528706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287931202d20793029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7830203d2078302c206e6f64652e7831203d2078313b0a202020206e6f64652e7930203d2079302c206e6f64652e7931203d207930202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d0a0a76617220706869203d202831202b204d6174682e7371727428352929202f20323b0a0a66756e6374696f6e207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c20793129207b0a202076617220726f7773203d205b5d2c0a2020202020206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020726f772c0a2020202020206e6f646556616c75652c0a2020202020206930203d20302c0a2020202020206931203d20302c0a2020202020206e203d206e6f6465732e6c656e6774682c0a20202020202064782c2064792c0a20202020202076616c7565203d20706172656e742e76616c75652c0a20202020202073756d56616c75652c0a2020202020206d696e56616c75652c0a2020202020206d617856616c75652c0a2020202020206e6577526174696f2c0a2020202020206d696e526174696f2c0a202020202020616c7068612c0a202020202020626574613b0a0a20207768696c6520286930203c206e29207b0a202020206478203d207831202d2078302c206479203d207931202d2079303b0a0a202020202f2f2046696e6420746865206e657874206e6f6e2d656d707479206e6f64652e0a20202020646f2073756d56616c7565203d206e6f6465735b69312b2b5d2e76616c75653b207768696c6520282173756d56616c7565202626206931203c206e293b0a202020206d696e56616c7565203d206d617856616c7565203d2073756d56616c75653b0a20202020616c706861203d204d6174682e6d6178286479202f2064782c206478202f20647929202f202876616c7565202a20726174696f293b0a2020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a202020206d696e526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a0a202020202f2f204b65657020616464696e67206e6f646573207768696c65207468652061737065637420726174696f206d61696e7461696e73206f7220696d70726f7665732e0a20202020666f7220283b206931203c206e3b202b2b693129207b0a20202020202073756d56616c7565202b3d206e6f646556616c7565203d206e6f6465735b69315d2e76616c75653b0a202020202020696620286e6f646556616c7565203c206d696e56616c756529206d696e56616c7565203d206e6f646556616c75653b0a202020202020696620286e6f646556616c7565203e206d617856616c756529206d617856616c7565203d206e6f646556616c75653b0a20202020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a2020202020206e6577526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a202020202020696620286e6577526174696f203e206d696e526174696f29207b2073756d56616c7565202d3d206e6f646556616c75653b20627265616b3b207d0a2020202020206d696e526174696f203d206e6577526174696f3b0a202020207d0a0a202020202f2f20506f736974696f6e20616e64207265636f72642074686520726f77206f7269656e746174696f6e2e0a20202020726f77732e7075736828726f77203d207b76616c75653a2073756d56616c75652c20646963653a206478203c2064792c206368696c6472656e3a206e6f6465732e736c6963652869302c206931297d293b0a2020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c2076616c7565203f207930202b3d206479202a2073756d56616c7565202f2076616c7565203a207931293b0a20202020656c736520747265656d6170536c69636528726f772c2078302c2079302c2076616c7565203f207830202b3d206478202a2073756d56616c7565202f2076616c7565203a2078312c207931293b0a2020202076616c7565202d3d2073756d56616c75652c206930203d2069313b0a20207d0a0a202072657475726e20726f77733b0a7d0a0a766172207371756172696679203d202866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e20737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a20207d0a0a202073717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e2073717561726966793b0a7d2928706869293b0a0a66756e6374696f6e20696e64657824332829207b0a20207661722074696c65203d2073717561726966792c0a202020202020726f756e64203d2066616c73652c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67537461636b203d205b305d2c0a20202020202070616464696e67496e6e6572203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67546f70203d20636f6e7374616e745a65726f2c0a20202020202070616464696e675269676874203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67426f74746f6d203d20636f6e7374616e745a65726f2c0a20202020202070616464696e674c656674203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e20747265656d617028726f6f7429207b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d20303b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d2064793b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f6465293b0a2020202070616464696e67537461636b203d205b305d3b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f6465286e6f646529207b0a202020207661722070203d2070616464696e67537461636b5b6e6f64652e64657074685d2c0a20202020202020207830203d206e6f64652e7830202b20702c0a20202020202020207930203d206e6f64652e7930202b20702c0a20202020202020207831203d206e6f64652e7831202d20702c0a20202020202020207931203d206e6f64652e7931202d20703b0a20202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a20202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a202020206e6f64652e7830203d2078303b0a202020206e6f64652e7930203d2079303b0a202020206e6f64652e7831203d2078313b0a202020206e6f64652e7931203d2079313b0a20202020696620286e6f64652e6368696c6472656e29207b0a20202020202070203d2070616464696e67537461636b5b6e6f64652e6465707468202b20315d203d2070616464696e67496e6e6572286e6f646529202f20323b0a2020202020207830202b3d2070616464696e674c656674286e6f646529202d20703b0a2020202020207930202b3d2070616464696e67546f70286e6f646529202d20703b0a2020202020207831202d3d2070616464696e675269676874286e6f646529202d20703b0a2020202020207931202d3d2070616464696e67426f74746f6d286e6f646529202d20703b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a20202020202074696c65286e6f64652c2078302c2079302c2078312c207931293b0a202020207d0a20207d0a0a2020747265656d61702e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20747265656d617029203a20726f756e643b0a20207d3b0a0a2020747265656d61702e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20747265656d617029203a205b64782c2064795d3b0a20207d3b0a0a2020747265656d61702e74696c65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874696c65203d2072657175697265642878292c20747265656d617029203a2074696c653b0a20207d3b0a0a2020747265656d61702e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67496e6e65722878292e70616464696e674f75746572287829203a20747265656d61702e70616464696e67496e6e657228293b0a20207d3b0a0a2020747265656d61702e70616464696e67496e6e6572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67496e6e65723b0a20207d3b0a0a2020747265656d61702e70616464696e674f75746572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67546f702878292e70616464696e6752696768742878292e70616464696e67426f74746f6d2878292e70616464696e674c656674287829203a20747265656d61702e70616464696e67546f7028293b0a20207d3b0a0a2020747265656d61702e70616464696e67546f70203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67546f70203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67546f703b0a20207d3b0a0a2020747265656d61702e70616464696e675269676874203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e675269676874203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e6752696768743b0a20207d3b0a0a2020747265656d61702e70616464696e67426f74746f6d203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67426f74746f6d203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67426f74746f6d3b0a20207d3b0a0a2020747265656d61702e70616464696e674c656674203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674c656674203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e674c6566743b0a20207d3b0a0a202072657475726e20747265656d61703b0a7d0a0a66756e6374696f6e2062696e61727928706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020692c206e203d206e6f6465732e6c656e6774682c0a20202020202073756d2c2073756d73203d206e6577204172726179286e202b2031293b0a0a2020666f72202873756d735b305d203d2073756d203d2069203d20303b2069203c206e3b202b2b6929207b0a2020202073756d735b69202b20315d203d2073756d202b3d206e6f6465735b695d2e76616c75653b0a20207d0a0a2020706172746974696f6e28302c206e2c20706172656e742e76616c75652c2078302c2079302c2078312c207931293b0a0a202066756e6374696f6e20706172746974696f6e28692c206a2c2076616c75652c2078302c2079302c2078312c20793129207b0a202020206966202869203e3d206a202d203129207b0a202020202020766172206e6f6465203d206e6f6465735b695d3b0a2020202020206e6f64652e7830203d2078302c206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078312c206e6f64652e7931203d2079313b0a20202020202072657475726e3b0a202020207d0a0a202020207661722076616c75654f6666736574203d2073756d735b695d2c0a202020202020202076616c7565546172676574203d202876616c7565202f203229202b2076616c75654f66667365742c0a20202020202020206b203d2069202b20312c0a20202020202020206869203d206a202d20313b0a0a202020207768696c6520286b203c20686929207b0a202020202020766172206d6964203d206b202b206869203e3e3e20313b0a2020202020206966202873756d735b6d69645d203c2076616c756554617267657429206b203d206d6964202b20313b0a202020202020656c7365206869203d206d69643b0a202020207d0a0a20202020696620282876616c7565546172676574202d2073756d735b6b202d20315d29203c202873756d735b6b5d202d2076616c7565546172676574292026262069202b2031203c206b29202d2d6b3b0a0a202020207661722076616c75654c656674203d2073756d735b6b5d202d2076616c75654f66667365742c0a202020202020202076616c75655269676874203d2076616c7565202d2076616c75654c6566743b0a0a2020202069662028287831202d20783029203e20287931202d2079302929207b0a20202020202076617220786b203d20287830202a2076616c75655269676874202b207831202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c20786b2c207931293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c20786b2c2079302c2078312c207931293b0a202020207d20656c7365207b0a20202020202076617220796b203d20287930202a2076616c75655269676874202b207931202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c2078312c20796b293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c2078302c20796b2c2078312c207931293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20736c6963654469636528706172656e742c2078302c2079302c2078312c20793129207b0a202028706172656e742e646570746820262031203f20747265656d6170536c696365203a20747265656d6170446963652928706172656e742c2078302c2079302c2078312c207931293b0a7d0a0a7661722072657371756172696679203d202866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e207265737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020206966202828726f7773203d20706172656e742e5f7371756172696679292026262028726f77732e726174696f203d3d3d20726174696f2929207b0a20202020202076617220726f77732c0a20202020202020202020726f772c0a202020202020202020206e6f6465732c0a20202020202020202020692c0a202020202020202020206a203d202d312c0a202020202020202020206e2c0a202020202020202020206d203d20726f77732e6c656e6774682c0a2020202020202020202076616c7565203d20706172656e742e76616c75653b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a2020202020202020726f77203d20726f77735b6a5d2c206e6f646573203d20726f772e6368696c6472656e3b0a2020202020202020666f72202869203d20726f772e76616c7565203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b692920726f772e76616c7565202b3d206e6f6465735b695d2e76616c75653b0a202020202020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c207930202b3d20287931202d20793029202a20726f772e76616c7565202f2076616c7565293b0a2020202020202020656c736520747265656d6170536c69636528726f772c2078302c2079302c207830202b3d20287831202d20783029202a20726f772e76616c7565202f2076616c75652c207931293b0a202020202020202076616c7565202d3d20726f772e76616c75653b0a2020202020207d0a202020207d20656c7365207b0a202020202020706172656e742e5f7371756172696679203d20726f7773203d207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a202020202020726f77732e726174696f203d20726174696f3b0a202020207d0a20207d0a0a2020726573717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e20726573717561726966793b0a7d2928706869293b0a0a66756e6374696f6e2061726561243228706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202061726561203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a2020202061726561202b3d20615b315d202a20625b305d202d20615b305d202a20625b315d3b0a20207d0a0a202072657475726e2061726561202f20323b0a7d0a0a66756e6374696f6e2063656e74726f6964243128706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202078203d20302c0a20202020202079203d20302c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a202020202020632c0a2020202020206b203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020206b202b3d2063203d20615b305d202a20625b315d202d20625b305d202a20615b315d3b0a2020202078202b3d2028615b305d202b20625b305d29202a20633b0a2020202079202b3d2028615b315d202b20625b315d29202a20633b0a20207d0a0a202072657475726e206b202a3d20332c205b78202f206b2c2079202f206b5d3b0a7d0a0a2f2f2052657475726e73207468652032442063726f73732070726f64756374206f6620414220616e6420414320766563746f72732c20692e652e2c20746865207a2d636f6d706f6e656e74206f660a2f2f207468652033442063726f73732070726f6475637420696e2061207175616472616e7420492043617274657369616e20636f6f7264696e6174652073797374656d20282b782069730a2f2f2072696768742c202b79206973207570292e2052657475726e73206120706f7369746976652076616c75652069662041424320697320636f756e7465722d636c6f636b776973652c0a2f2f206e6567617469766520696620636c6f636b776973652c20616e64207a65726f2069662074686520706f696e74732061726520636f6c6c696e6561722e0a66756e6374696f6e2063726f7373243128612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29202d2028625b315d202d20615b315d29202a2028635b305d202d20615b305d293b0a7d0a0a66756e6374696f6e206c657869636f677261706869634f7264657228612c206229207b0a202072657475726e20615b305d202d20625b305d207c7c20615b315d202d20625b315d3b0a7d0a0a2f2f20436f6d70757465732074686520757070657220636f6e7665782068756c6c2070657220746865206d6f6e6f746f6e6520636861696e20616c676f726974686d2e0a2f2f20417373756d657320706f696e74732e6c656e677468203e3d20332c20697320736f7274656420627920782c20756e6971756520696e20792e0a2f2f2052657475726e7320616e206172726179206f6620696e646963657320696e746f20706f696e747320696e206c6566742d746f2d7269676874206f726465722e0a66756e6374696f6e20636f6d70757465557070657248756c6c496e646578657328706f696e747329207b0a2020766172206e203d20706f696e74732e6c656e6774682c0a202020202020696e6465786573203d205b302c20315d2c0a20202020202073697a65203d20323b0a0a2020666f7220287661722069203d20323b2069203c206e3b202b2b6929207b0a202020207768696c65202873697a65203e20312026262063726f7373243128706f696e74735b696e64657865735b73697a65202d20325d5d2c20706f696e74735b696e64657865735b73697a65202d20315d5d2c20706f696e74735b695d29203c3d203029202d2d73697a653b0a20202020696e64657865735b73697a652b2b5d203d20693b0a20207d0a0a202072657475726e20696e64657865732e736c69636528302c2073697a65293b202f2f2072656d6f766520706f7070656420706f696e74730a7d0a0a66756e6374696f6e2068756c6c28706f696e747329207b0a202069662028286e203d20706f696e74732e6c656e67746829203c2033292072657475726e206e756c6c3b0a0a202076617220692c0a2020202020206e2c0a202020202020736f72746564506f696e7473203d206e6577204172726179286e292c0a202020202020666c6970706564506f696e7473203d206e6577204172726179286e293b0a0a2020666f72202869203d20303b2069203c206e3b202b2b692920736f72746564506f696e74735b695d203d205b2b706f696e74735b695d5b305d2c202b706f696e74735b695d5b315d2c20695d3b0a2020736f72746564506f696e74732e736f7274286c657869636f677261706869634f72646572293b0a2020666f72202869203d20303b2069203c206e3b202b2b692920666c6970706564506f696e74735b695d203d205b736f72746564506f696e74735b695d5b305d2c202d736f72746564506f696e74735b695d5b315d5d3b0a0a2020766172207570706572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328736f72746564506f696e7473292c0a2020202020206c6f776572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328666c6970706564506f696e7473293b0a0a20202f2f20436f6e737472756374207468652068756c6c20706f6c79676f6e2c2072656d6f76696e6720706f737369626c65206475706c696361746520656e64706f696e74732e0a202076617220736b69704c656674203d206c6f776572496e64657865735b305d203d3d3d207570706572496e64657865735b305d2c0a202020202020736b69705269676874203d206c6f776572496e64657865735b6c6f776572496e64657865732e6c656e677468202d20315d203d3d3d207570706572496e64657865735b7570706572496e64657865732e6c656e677468202d20315d2c0a20202020202068756c6c203d205b5d3b0a0a20202f2f204164642075707065722068756c6c20696e2072696768742d746f2d6c206f726465722e0a20202f2f205468656e20616464206c6f7765722068756c6c20696e206c6566742d746f2d7269676874206f726465722e0a2020666f72202869203d207570706572496e64657865732e6c656e677468202d20313b2069203e3d20303b202d2d69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b7570706572496e64657865735b695d5d5b325d5d293b0a2020666f72202869203d202b736b69704c6566743b2069203c206c6f776572496e64657865732e6c656e677468202d20736b697052696768743b202b2b69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b6c6f776572496e64657865735b695d5d5b325d5d293b0a0a202072657475726e2068756c6c3b0a7d0a0a66756e6374696f6e20636f6e7461696e73243228706f6c79676f6e2c20706f696e7429207b0a2020766172206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202070203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078203d20706f696e745b305d2c2079203d20706f696e745b315d2c0a2020202020207830203d20705b305d2c207930203d20705b315d2c0a20202020202078312c2079312c0a202020202020696e73696465203d2066616c73653b0a0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a2020202070203d20706f6c79676f6e5b695d2c207831203d20705b305d2c207931203d20705b315d3b0a202020206966202828287931203e20792920213d3d20287930203e20792929202626202878203c20287830202d20783129202a202879202d20793129202f20287930202d20793129202b207831292920696e73696465203d2021696e736964653b0a202020207830203d2078312c207930203d2079313b0a20207d0a0a202072657475726e20696e736964653b0a7d0a0a66756e6374696f6e206c656e677468243228706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078612c0a20202020202079612c0a2020202020207862203d20625b305d2c0a2020202020207962203d20625b315d2c0a202020202020706572696d65746572203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a202020207861203d2078623b0a202020207961203d2079623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020207862203d20625b305d3b0a202020207962203d20625b315d3b0a202020207861202d3d2078623b0a202020207961202d3d2079623b0a20202020706572696d65746572202b3d204d6174682e73717274287861202a207861202b207961202a207961293b0a20207d0a0a202072657475726e20706572696d657465723b0a7d0a0a66756e6374696f6e2064656661756c74536f7572636524312829207b0a202072657475726e204d6174682e72616e646f6d28293b0a7d0a0a76617220756e69666f726d203d202866756e6374696f6e20736f7572636552616e646f6d556e69666f726d28736f7572636529207b0a202066756e6374696f6e2072616e646f6d556e69666f726d286d696e2c206d617829207b0a202020206d696e203d206d696e203d3d206e756c6c203f2030203a202b6d696e3b0a202020206d6178203d206d6178203d3d206e756c6c203f2031203a202b6d61783b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203129206d6178203d206d696e2c206d696e203d20303b0a20202020656c7365206d6178202d3d206d696e3b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e20736f757263652829202a206d6178202b206d696e3b0a202020207d3b0a20207d0a0a202072616e646f6d556e69666f726d2e736f75726365203d20736f7572636552616e646f6d556e69666f726d3b0a0a202072657475726e2072616e646f6d556e69666f726d3b0a7d292864656661756c74536f757263652431293b0a0a766172206e6f726d616c203d202866756e6374696f6e20736f7572636552616e646f6d4e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4e6f726d616c286d752c207369676d6129207b0a2020202076617220782c20723b0a202020206d75203d206d75203d3d206e756c6c203f2030203a202b6d753b0a202020207369676d61203d207369676d61203d3d206e756c6c203f2031203a202b7369676d613b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202076617220793b0a0a2020202020202f2f20496620617661696c61626c652c2075736520746865207365636f6e642070726576696f75736c792d67656e65726174656420756e69666f726d2072616e646f6d2e0a202020202020696620287820213d206e756c6c292079203d20782c2078203d206e756c6c3b0a0a2020202020202f2f204f74686572776973652c2067656e65726174652061206e6577207820616e6420792e0a202020202020656c736520646f207b0a202020202020202078203d20736f757263652829202a2032202d20313b0a202020202020202079203d20736f757263652829202a2032202d20313b0a202020202020202072203d2078202a2078202b2079202a20793b0a2020202020207d207768696c6520282172207c7c2072203e2031293b0a0a20202020202072657475726e206d75202b207369676d61202a2079202a204d6174682e73717274282d32202a204d6174682e6c6f67287229202f2072293b0a202020207d3b0a20207d0a0a202072616e646f6d4e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4e6f726d616c3b0a0a202072657475726e2072616e646f6d4e6f726d616c3b0a7d292864656661756c74536f757263652431293b0a0a766172206c6f674e6f726d616c203d202866756e6374696f6e20736f7572636552616e646f6d4c6f674e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4c6f674e6f726d616c2829207b0a202020207661722072616e646f6d4e6f726d616c203d206e6f726d616c2e736f7572636528736f75726365292e6170706c7928746869732c20617267756d656e7473293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e204d6174682e6578702872616e646f6d4e6f726d616c2829293b0a202020207d3b0a20207d0a0a202072616e646f6d4c6f674e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4c6f674e6f726d616c3b0a0a202072657475726e2072616e646f6d4c6f674e6f726d616c3b0a7d292864656661756c74536f757263652431293b0a0a76617220697277696e48616c6c203d202866756e6374696f6e20736f7572636552616e646f6d497277696e48616c6c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d497277696e48616c6c286e29207b0a2020202072657475726e2066756e6374696f6e2829207b0a202020202020666f7220287661722073756d203d20302c2069203d20303b2069203c206e3b202b2b69292073756d202b3d20736f7572636528293b0a20202020202072657475726e2073756d3b0a202020207d3b0a20207d0a0a202072616e646f6d497277696e48616c6c2e736f75726365203d20736f7572636552616e646f6d497277696e48616c6c3b0a0a202072657475726e2072616e646f6d497277696e48616c6c3b0a7d292864656661756c74536f757263652431293b0a0a766172206261746573203d202866756e6374696f6e20736f7572636552616e646f6d426174657328736f7572636529207b0a202066756e6374696f6e2072616e646f6d4261746573286e29207b0a202020207661722072616e646f6d497277696e48616c6c203d20697277696e48616c6c2e736f7572636528736f7572636529286e293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e2072616e646f6d497277696e48616c6c2829202f206e3b0a202020207d3b0a20207d0a0a202072616e646f6d42617465732e736f75726365203d20736f7572636552616e646f6d42617465733b0a0a202072657475726e2072616e646f6d42617465733b0a7d292864656661756c74536f757263652431293b0a0a766172206578706f6e656e7469616c2431203d202866756e6374696f6e20736f7572636552616e646f6d4578706f6e656e7469616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4578706f6e656e7469616c286c616d62646129207b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e202d4d6174682e6c6f672831202d20736f75726365282929202f206c616d6264613b0a202020207d3b0a20207d0a0a202072616e646f6d4578706f6e656e7469616c2e736f75726365203d20736f7572636552616e646f6d4578706f6e656e7469616c3b0a0a202072657475726e2072616e646f6d4578706f6e656e7469616c3b0a7d292864656661756c74536f757263652431293b0a0a7661722061727261792433203d2041727261792e70726f746f747970653b0a0a766172206d61702432203d20617272617924332e6d61703b0a76617220736c6963652435203d20617272617924332e736c6963653b0a0a76617220696d706c69636974203d207b6e616d653a2022696d706c69636974227d3b0a0a66756e6374696f6e206f7264696e616c2872616e676529207b0a202076617220696e646578203d206d6170243128292c0a202020202020646f6d61696e203d205b5d2c0a202020202020756e6b6e6f776e203d20696d706c696369743b0a0a202072616e6765203d2072616e6765203d3d206e756c6c203f205b5d203a20736c69636524352e63616c6c2872616e6765293b0a0a202066756e6374696f6e207363616c65286429207b0a20202020766172206b6579203d2064202b2022222c2069203d20696e6465782e676574286b6579293b0a2020202069662028216929207b0a20202020202069662028756e6b6e6f776e20213d3d20696d706c69636974292072657475726e20756e6b6e6f776e3b0a202020202020696e6465782e736574286b65792c2069203d20646f6d61696e2e70757368286429293b0a202020207d0a2020202072657475726e2072616e67655b2869202d20312920252072616e67652e6c656e6774685d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d2c20696e646578203d206d6170243128293b0a202020207661722069203d202d312c206e203d205f2e6c656e6774682c20642c206b65793b0a202020207768696c6520282b2b69203c206e29206966202821696e6465782e686173286b6579203d202864203d205f5b695d29202b202222292920696e6465782e736574286b65792c20646f6d61696e2e70757368286429293b0a2020202072657475726e207363616c653b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c207363616c6529203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e756e6b6e6f776e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028756e6b6e6f776e203d205f2c207363616c6529203a20756e6b6e6f776e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206f7264696e616c28290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765290a20202020202020202e756e6b6e6f776e28756e6b6e6f776e293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2062616e642829207b0a2020766172207363616c65203d206f7264696e616c28292e756e6b6e6f776e28756e646566696e6564292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a2020202020206f7264696e616c52616e6765203d207363616c652e72616e67652c0a20202020202072616e6765242431203d205b302c20315d2c0a202020202020737465702c0a20202020202062616e6477696474682c0a202020202020726f756e64203d2066616c73652c0a20202020202070616464696e67496e6e6572203d20302c0a20202020202070616464696e674f75746572203d20302c0a202020202020616c69676e203d20302e353b0a0a202064656c657465207363616c652e756e6b6e6f776e3b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020766172206e203d20646f6d61696e28292e6c656e6774682c0a202020202020202072657665727365203d2072616e67652424315b315d203c2072616e67652424315b305d2c0a20202020202020207374617274203d2072616e67652424315b72657665727365202d20305d2c0a202020202020202073746f70203d2072616e67652424315b31202d20726576657273655d3b0a2020202073746570203d202873746f70202d20737461727429202f204d6174682e6d617828312c206e202d2070616464696e67496e6e6572202b2070616464696e674f75746572202a2032293b0a2020202069662028726f756e64292073746570203d204d6174682e666c6f6f722873746570293b0a202020207374617274202b3d202873746f70202d207374617274202d2073746570202a20286e202d2070616464696e67496e6e65722929202a20616c69676e3b0a2020202062616e647769647468203d2073746570202a202831202d2070616464696e67496e6e6572293b0a2020202069662028726f756e6429207374617274203d204d6174682e726f756e64287374617274292c2062616e647769647468203d204d6174682e726f756e642862616e647769647468293b0a202020207661722076616c756573203d2073657175656e6365286e292e6d61702866756e6374696f6e286929207b2072657475726e207374617274202b2073746570202a20693b207d293b0a2020202072657475726e206f7264696e616c52616e67652872657665727365203f2076616c7565732e726576657273652829203a2076616c756573293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c20726f756e64203d20747275652c2072657363616c6528293b0a20207d3b0a0a20207363616c652e62616e647769647468203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6477696474683b0a20207d3b0a0a20207363616c652e73746570203d2066756e6374696f6e2829207b0a2020202072657475726e20737465703b0a20207d3b0a0a20207363616c652e726f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d2021215f2c2072657363616c65282929203a20726f756e643b0a20207d3b0a0a20207363616c652e70616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d2070616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e67496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e674f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e674f757465723b0a20207d3b0a0a20207363616c652e616c69676e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c69676e203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a20616c69676e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6428290a20202020202020202e646f6d61696e28646f6d61696e2829290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e726f756e6428726f756e64290a20202020202020202e70616464696e67496e6e65722870616464696e67496e6e6572290a20202020202020202e70616464696e674f757465722870616464696e674f75746572290a20202020202020202e616c69676e28616c69676e293b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e20706f696e74697368287363616c6529207b0a202076617220636f7079203d207363616c652e636f70793b0a0a20207363616c652e70616464696e67203d207363616c652e70616464696e674f757465723b0a202064656c657465207363616c652e70616464696e67496e6e65723b0a202064656c657465207363616c652e70616464696e674f757465723b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20706f696e7469736828636f70792829293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20706f696e7424312829207b0a202072657475726e20706f696e746973682862616e6428292e70616464696e67496e6e6572283129293b0a7d0a0a66756e6374696f6e20636f6e7374616e74243130287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206e756d6265722432287829207b0a202072657475726e202b783b0a7d0a0a76617220756e6974203d205b302c20315d3b0a0a66756e6374696f6e206465696e746572706f6c6174654c696e65617228612c206229207b0a202072657475726e202862202d3d202861203d202b6129290a2020202020203f2066756e6374696f6e287829207b2072657475726e202878202d206129202f20623b207d0a2020202020203a20636f6e7374616e742431302862293b0a7d0a0a66756e6374696f6e206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722064203d206465696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287829207b2072657475726e2078203c3d2061203f2030203a2078203e3d2062203f2031203a20642878293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465436c616d70287265696e746572706f6c61746524243129207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722072203d207265696e746572706f6c6174652424312861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2074203c3d2030203f2061203a2074203e3d2031203f2062203a20722874293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e2062696d617028646f6d61696e2c2072616e67652c206465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a2020766172206430203d20646f6d61696e5b305d2c206431203d20646f6d61696e5b315d2c207230203d2072616e67655b305d2c207231203d2072616e67655b315d3b0a2020696620286431203c20643029206430203d206465696e746572706f6c6174652864312c206430292c207230203d207265696e746572706f6c6174652424312872312c207230293b0a2020656c7365206430203d206465696e746572706f6c6174652864302c206431292c207230203d207265696e746572706f6c6174652424312872302c207231293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e207230286430287829293b207d3b0a7d0a0a66756e6374696f6e20706f6c796d617028646f6d61696e2c2072616e67652c206465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a2020766172206a203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e67746829202d20312c0a20202020202064203d206e6577204172726179286a292c0a20202020202072203d206e6577204172726179286a292c0a20202020202069203d202d313b0a0a20202f2f20526576657273652064657363656e64696e6720646f6d61696e732e0a202069662028646f6d61696e5b6a5d203c20646f6d61696e5b305d29207b0a20202020646f6d61696e203d20646f6d61696e2e736c69636528292e7265766572736528293b0a2020202072616e6765203d2072616e67652e736c69636528292e7265766572736528293b0a20207d0a0a20207768696c6520282b2b69203c206a29207b0a20202020645b695d203d206465696e746572706f6c61746528646f6d61696e5b695d2c20646f6d61696e5b69202b20315d293b0a20202020725b695d203d207265696e746572706f6c6174652424312872616e67655b695d2c2072616e67655b69202b20315d293b0a20207d0a0a202072657475726e2066756e6374696f6e287829207b0a202020207661722069203d20626973656374526967687428646f6d61696e2c20782c20312c206a29202d20313b0a2020202072657475726e20725b695d28645b695d287829293b0a20207d3b0a7d0a0a66756e6374696f6e20636f707928736f757263652c2074617267657429207b0a202072657475726e207461726765740a2020202020202e646f6d61696e28736f757263652e646f6d61696e2829290a2020202020202e72616e676528736f757263652e72616e67652829290a2020202020202e696e746572706f6c61746528736f757263652e696e746572706f6c6174652829290a2020202020202e636c616d7028736f757263652e636c616d702829293b0a7d0a0a2f2f206465696e746572706f6c61746528612c2062292878292074616b6573206120646f6d61696e2076616c7565207820696e205b612c625d20616e642072657475726e732074686520636f72726573706f6e64696e6720706172616d65746572207420696e205b302c315d2e0a2f2f207265696e746572706f6c61746528612c2062292874292074616b6573206120706172616d65746572207420696e205b302c315d20616e642072657475726e732074686520636f72726573706f6e64696e6720646f6d61696e2076616c7565207820696e205b612c625d2e0a66756e6374696f6e20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a202076617220646f6d61696e203d20756e69742c0a20202020202072616e6765203d20756e69742c0a202020202020696e746572706f6c617465242431203d20696e746572706f6c61746556616c75652c0a202020202020636c616d70203d2066616c73652c0a2020202020207069656365776973652424312c0a2020202020206f75747075742c0a202020202020696e7075743b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020706965636577697365242431203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e67746829203e2032203f20706f6c796d6170203a2062696d61703b0a202020206f7574707574203d20696e707574203d206e756c6c3b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e20286f7574707574207c7c20286f7574707574203d2070696563657769736524243128646f6d61696e2c2072616e67652c20636c616d70203f206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529203a206465696e746572706f6c6174652c20696e746572706f6c617465242431292929282b78293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e2028696e707574207c7c2028696e707574203d207069656365776973652424312872616e67652c20646f6d61696e2c206465696e746572706f6c6174654c696e6561722c20636c616d70203f207265696e746572706f6c617465436c616d70287265696e746572706f6c61746524243129203a207265696e746572706f6c617465242431292929282b79293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024322e63616c6c285f2c206e756d6265722432292c2072657363616c65282929203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765203d20736c69636524352e63616c6c285f292c20696e746572706f6c617465242431203d20696e746572706f6c617465526f756e642c2072657363616c6528293b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c2072657363616c65282929203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465242431203d205f2c2072657363616c65282929203a20696e746572706f6c6174652424313b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e207469636b466f726d617428646f6d61696e2c20636f756e742c2073706563696669657229207b0a2020766172207374617274203d20646f6d61696e5b305d2c0a20202020202073746f70203d20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d2c0a20202020202073746570203d207469636b537465702873746172742c2073746f702c20636f756e74203d3d206e756c6c203f203130203a20636f756e74292c0a202020202020707265636973696f6e3b0a2020737065636966696572203d20666f726d617453706563696669657228737065636966696572203d3d206e756c6c203f20222c6622203a20737065636966696572293b0a202073776974636820287370656369666965722e7479706529207b0a2020202063617365202273223a207b0a2020202020207661722076616c7565203d204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f7029293b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e50726566697828737465702c2076616c7565292929207370656369666965722e707265636973696f6e203d20707265636973696f6e3b0a20202020202072657475726e206578706f7274732e666f726d6174507265666978287370656369666965722c2076616c7565293b0a202020207d0a20202020636173652022223a0a2020202063617365202265223a0a2020202063617365202267223a0a2020202063617365202270223a0a2020202063617365202272223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e526f756e6428737465702c204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f702929292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d20226522293b0a202020202020627265616b3b0a202020207d0a2020202063617365202266223a0a2020202063617365202225223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e46697865642873746570292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d2022252229202a20323b0a202020202020627265616b3b0a202020207d0a20207d0a202072657475726e206578706f7274732e666f726d617428737065636966696572293b0a7d0a0a66756e6374696f6e206c696e656172697368287363616c6529207b0a202076617220646f6d61696e203d207363616c652e646f6d61696e3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e207469636b7328645b305d2c20645b642e6c656e677468202d20315d2c20636f756e74203d3d206e756c6c203f203130203a20636f756e74293b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e207469636b466f726d617428646f6d61696e28292c20636f756e742c20737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28636f756e7429207b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a0a202020207661722064203d20646f6d61696e28292c0a20202020202020206930203d20302c0a20202020202020206931203d20642e6c656e677468202d20312c0a20202020202020207374617274203d20645b69305d2c0a202020202020202073746f70203d20645b69315d2c0a2020202020202020737465703b0a0a202020206966202873746f70203c20737461727429207b0a20202020202073746570203d2073746172742c207374617274203d2073746f702c2073746f70203d20737465703b0a20202020202073746570203d2069302c206930203d2069312c206931203d20737465703b0a202020207d0a0a2020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a0a202020206966202873746570203e203029207b0a2020202020207374617274203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a20202020202073746f70203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a20202020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d20656c7365206966202873746570203c203029207b0a2020202020207374617274203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a20202020202073746f70203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a20202020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d0a0a202020206966202873746570203e203029207b0a202020202020645b69305d203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a202020202020645b69315d203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a202020202020646f6d61696e2864293b0a202020207d20656c7365206966202873746570203c203029207b0a202020202020645b69305d203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a202020202020645b69315d203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a202020202020646f6d61696e2864293b0a202020207d0a0a2020202072657475726e207363616c653b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e206c696e65617224322829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c207265696e746572706f6c617465293b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c696e65617224322829293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206964656e7469747924362829207b0a202076617220646f6d61696e203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e202b783b0a20207d0a0a20207363616c652e696e76657274203d207363616c653b0a0a20207363616c652e646f6d61696e203d207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024322e63616c6c285f2c206e756d6265722432292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206964656e74697479243628292e646f6d61696e28646f6d61696e293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206e69636528646f6d61696e2c20696e74657276616c29207b0a2020646f6d61696e203d20646f6d61696e2e736c69636528293b0a0a2020766172206930203d20302c0a2020202020206931203d20646f6d61696e2e6c656e677468202d20312c0a2020202020207830203d20646f6d61696e5b69305d2c0a2020202020207831203d20646f6d61696e5b69315d2c0a202020202020743b0a0a2020696620287831203c20783029207b0a2020202074203d2069302c206930203d2069312c206931203d20743b0a2020202074203d2078302c207830203d2078312c207831203d20743b0a20207d0a0a2020646f6d61696e5b69305d203d20696e74657276616c2e666c6f6f72287830293b0a2020646f6d61696e5b69315d203d20696e74657276616c2e6365696c287831293b0a202072657475726e20646f6d61696e3b0a7d0a0a66756e6374696f6e206465696e746572706f6c61746528612c206229207b0a202072657475726e202862203d204d6174682e6c6f672862202f206129290a2020202020203f2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f672878202f206129202f20623b207d0a2020202020203a20636f6e7374616e742431302862293b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465243128612c206229207b0a202072657475726e2061203c20300a2020202020203f2066756e6374696f6e287429207b2072657475726e202d4d6174682e706f77282d622c207429202a204d6174682e706f77282d612c2031202d2074293b207d0a2020202020203a2066756e6374696f6e287429207b2072657475726e204d6174682e706f7728622c207429202a204d6174682e706f7728612c2031202d2074293b207d3b0a7d0a0a66756e6374696f6e20706f773130287829207b0a202072657475726e20697346696e697465287829203f202b2822316522202b207829203a2078203c2030203f2030203a20783b0a7d0a0a66756e6374696f6e20706f7770286261736529207b0a202072657475726e2062617365203d3d3d203130203f20706f7731300a2020202020203a2062617365203d3d3d204d6174682e45203f204d6174682e6578700a2020202020203a2066756e6374696f6e287829207b2072657475726e204d6174682e706f7728626173652c2078293b207d3b0a7d0a0a66756e6374696f6e206c6f6770286261736529207b0a202072657475726e2062617365203d3d3d204d6174682e45203f204d6174682e6c6f670a2020202020203a2062617365203d3d3d203130202626204d6174682e6c6f6731300a2020202020207c7c2062617365203d3d3d2032202626204d6174682e6c6f67320a2020202020207c7c202862617365203d204d6174682e6c6f672862617365292c2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f67287829202f20626173653b207d293b0a7d0a0a66756e6374696f6e207265666c656374286629207b0a202072657475726e2066756e6374696f6e287829207b0a2020202072657475726e202d66282d78293b0a20207d3b0a7d0a0a66756e6374696f6e206c6f6724312829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c6174652431292e646f6d61696e285b312c2031305d292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a20202020202062617365203d2031302c0a2020202020206c6f6773203d206c6f6770283130292c0a202020202020706f7773203d20706f7770283130293b0a0a202066756e6374696f6e2072657363616c652829207b0a202020206c6f6773203d206c6f67702862617365292c20706f7773203d20706f77702862617365293b0a2020202069662028646f6d61696e28295b305d203c203029206c6f6773203d207265666c656374286c6f6773292c20706f7773203d207265666c65637428706f7773293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e62617365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202862617365203d202b5f2c2072657363616c65282929203a20626173653b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28292c0a202020202020202075203d20645b305d2c0a202020202020202076203d20645b642e6c656e677468202d20315d2c0a2020202020202020723b0a0a202020206966202872203d2076203c2075292069203d20752c2075203d20762c2076203d20693b0a0a202020207661722069203d206c6f67732875292c0a20202020202020206a203d206c6f67732876292c0a2020202020202020702c0a20202020202020206b2c0a2020202020202020742c0a20202020202020206e203d20636f756e74203d3d206e756c6c203f203130203a202b636f756e742c0a20202020202020207a203d205b5d3b0a0a20202020696620282128626173652025203129202626206a202d2069203c206e29207b0a20202020202069203d204d6174682e726f756e64286929202d20312c206a203d204d6174682e726f756e64286a29202b20313b0a2020202020206966202875203e20302920666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d20312c2070203d20706f77732869293b206b203c20626173653b202b2b6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d20656c736520666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d2062617365202d20312c2070203d20706f77732869293b206b203e3d20313b202d2d6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365207b0a2020202020207a203d207469636b7328692c206a2c204d6174682e6d696e286a202d20692c206e29292e6d617028706f7773293b0a202020207d0a0a2020202072657475726e2072203f207a2e726576657273652829203a207a3b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202069662028737065636966696572203d3d206e756c6c2920737065636966696572203d2062617365203d3d3d203130203f20222e306522203a20222c223b0a2020202069662028747970656f662073706563696669657220213d3d202266756e6374696f6e222920737065636966696572203d206578706f7274732e666f726d617428737065636966696572293b0a2020202069662028636f756e74203d3d3d20496e66696e697479292072657475726e207370656369666965723b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a20202020766172206b203d204d6174682e6d617828312c2062617365202a20636f756e74202f207363616c652e7469636b7328292e6c656e677468293b202f2f20544f444f206661737420657374696d6174653f0a2020202072657475726e2066756e6374696f6e286429207b0a2020202020207661722069203d2064202f20706f7773284d6174682e726f756e64286c6f677328642929293b0a2020202020206966202869202a2062617365203c2062617365202d20302e35292069202a3d20626173653b0a20202020202072657475726e2069203c3d206b203f20737065636966696572286429203a2022223b0a202020207d3b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e2829207b0a2020202072657475726e20646f6d61696e286e69636528646f6d61696e28292c207b0a202020202020666c6f6f723a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e666c6f6f72286c6f677328782929293b207d2c0a2020202020206365696c3a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e6365696c286c6f677328782929293b207d0a202020207d29293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c6f67243128292e62617365286261736529293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207261697365243128782c206578706f6e656e7429207b0a202072657475726e2078203c2030203f202d4d6174682e706f77282d782c206578706f6e656e7429203a204d6174682e706f7728782c206578706f6e656e74293b0a7d0a0a66756e6374696f6e20706f7724312829207b0a2020766172206578706f6e656e74203d20312c0a2020202020207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202066756e6374696f6e206465696e746572706f6c61746528612c206229207b0a2020202072657475726e202862203d207261697365243128622c206578706f6e656e7429202d202861203d207261697365243128612c206578706f6e656e742929290a20202020202020203f2066756e6374696f6e287829207b2072657475726e20287261697365243128782c206578706f6e656e7429202d206129202f20623b207d0a20202020202020203a20636f6e7374616e742431302862293b0a20207d0a0a202066756e6374696f6e207265696e746572706f6c61746528612c206229207b0a2020202062203d207261697365243128622c206578706f6e656e7429202d202861203d207261697365243128612c206578706f6e656e7429293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e20726169736524312861202b2062202a20742c2031202f206578706f6e656e74293b207d3b0a20207d0a0a20207363616c652e6578706f6e656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286578706f6e656e74203d202b5f2c20646f6d61696e28646f6d61696e28292929203a206578706f6e656e743b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c20706f77243128292e6578706f6e656e74286578706f6e656e7429293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207371727424312829207b0a202072657475726e20706f77243128292e6578706f6e656e7428302e35293b0a7d0a0a66756e6374696f6e207175616e74696c652424312829207b0a202076617220646f6d61696e203d205b5d2c0a20202020202072616e6765203d205b5d2c0a2020202020207468726573686f6c6473203d205b5d3b0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d20302c206e203d204d6174682e6d617828312c2072616e67652e6c656e677468293b0a202020207468726573686f6c6473203d206e6577204172726179286e202d2031293b0a202020207768696c6520282b2b69203c206e29207468726573686f6c64735b69202d20315d203d207468726573686f6c6428646f6d61696e2c2069202f206e293b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a20202020696620282169734e614e2878203d202b7829292072657475726e2072616e67655b6269736563745269676874287468726573686f6c64732c2078295d3b0a20207d0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d203a205b0a20202020202069203e2030203f207468726573686f6c64735b69202d20315d203a20646f6d61696e5b305d2c0a20202020202069203c207468726573686f6c64732e6c656e677468203f207468726573686f6c64735b695d203a20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d0a202020205d3b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d3b0a20202020666f7220287661722069203d20302c206e203d205f2e6c656e6774682c20643b2069203c206e3b202b2b6929206966202864203d205f5b695d2c206420213d206e756c6c202626202169734e614e2864203d202b64292920646f6d61696e2e707573682864293b0a20202020646f6d61696e2e736f727428617363656e64696e67293b0a2020202072657475726e2072657363616c6528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e7175616e74696c6573203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64732e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74696c6524243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207175616e74697a6524312829207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206e203d20312c0a202020202020646f6d61696e203d205b302e355d2c0a20202020202072616e6765203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67655b626973656374526967687428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d202d313b0a20202020646f6d61696e203d206e6577204172726179286e293b0a202020207768696c6520282b2b69203c206e2920646f6d61696e5b695d203d20282869202b203129202a207831202d202869202d206e29202a20783029202f20286e202b2031293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c2072657363616c65282929203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e203d202872616e6765203d20736c69636524352e63616c6c285f29292e6c656e677468202d20312c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d0a20202020202020203a2069203c2031203f205b78302c20646f6d61696e5b305d5d0a20202020202020203a2069203e3d206e203f205b646f6d61696e5b6e202d20315d2c2078315d0a20202020202020203a205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74697a65243128290a20202020202020202e646f6d61696e285b78302c2078315d290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207468726573686f6c6424312829207b0a202076617220646f6d61696e203d205b302e355d2c0a20202020202072616e6765203d205b302c20315d2c0a2020202020206e203d20313b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67655b626973656374526967687428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20736c69636524352e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e677468202d2031292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e677468202d2031292c207363616c6529203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a7661722074302431203d206e657720446174652c0a2020202074312431203d206e657720446174653b0a0a66756e6374696f6e206e6577496e74657276616c28666c6f6f72692c206f6666736574692c20636f756e742c206669656c6429207b0a0a202066756e6374696f6e20696e74657276616c286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e65772044617465282b6461746529292c20646174653b0a20207d0a0a2020696e74657276616c2e666c6f6f72203d20696e74657276616c3b0a0a2020696e74657276616c2e6365696c203d2066756e6374696f6e286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e657720446174652864617465202d203129292c206f66667365746928646174652c2031292c20666c6f6f72692864617465292c20646174653b0a20207d3b0a0a2020696e74657276616c2e726f756e64203d2066756e6374696f6e286461746529207b0a20202020766172206430203d20696e74657276616c2864617465292c0a20202020202020206431203d20696e74657276616c2e6365696c2864617465293b0a2020202072657475726e2064617465202d206430203c206431202d2064617465203f206430203a2064313b0a20207d3b0a0a2020696e74657276616c2e6f6666736574203d2066756e6374696f6e28646174652c207374657029207b0a2020202072657475726e206f6666736574692864617465203d206e65772044617465282b64617465292c2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f72287374657029292c20646174653b0a20207d3b0a0a2020696e74657276616c2e72616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a202020207661722072616e6765203d205b5d2c2070726576696f75733b0a202020207374617274203d20696e74657276616c2e6365696c287374617274293b0a2020202073746570203d2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f722873746570293b0a202020206966202821287374617274203c2073746f7029207c7c20212873746570203e203029292072657475726e2072616e67653b202f2f20616c736f2068616e646c657320496e76616c696420446174650a20202020646f2072616e67652e707573682870726576696f7573203d206e65772044617465282b737461727429292c206f6666736574692873746172742c2073746570292c20666c6f6f7269287374617274293b0a202020207768696c65202870726576696f7573203c207374617274202626207374617274203c2073746f70293b0a2020202072657475726e2072616e67653b0a20207d3b0a0a2020696e74657276616c2e66696c746572203d2066756e6374696f6e287465737429207b0a2020202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020202020206966202864617465203e3d206461746529207768696c652028666c6f6f72692864617465292c2021746573742864617465292920646174652e73657454696d652864617465202d2031293b0a202020207d2c2066756e6374696f6e28646174652c207374657029207b0a2020202020206966202864617465203e3d206461746529207b0a20202020202020206966202873746570203c203029207768696c6520282b2b73746570203c3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202d31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d20656c7365207768696c6520282d2d73746570203e3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202b31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d0a2020202020207d0a202020207d293b0a20207d3b0a0a202069662028636f756e7429207b0a20202020696e74657276616c2e636f756e74203d2066756e6374696f6e2873746172742c20656e6429207b0a202020202020743024312e73657454696d65282b7374617274292c20743124312e73657454696d65282b656e64293b0a202020202020666c6f6f72692874302431292c20666c6f6f72692874312431293b0a20202020202072657475726e204d6174682e666c6f6f7228636f756e7428743024312c207431243129293b0a202020207d3b0a0a20202020696e74657276616c2e6576657279203d2066756e6374696f6e287374657029207b0a20202020202073746570203d204d6174682e666c6f6f722873746570293b0a20202020202072657475726e2021697346696e697465287374657029207c7c20212873746570203e203029203f206e756c6c0a202020202020202020203a20212873746570203e203129203f20696e74657276616c0a202020202020202020203a20696e74657276616c2e66696c746572286669656c640a20202020202020202020202020203f2066756e6374696f6e286429207b2072657475726e206669656c6428642920252073746570203d3d3d20303b207d0a20202020202020202020202020203a2066756e6374696f6e286429207b2072657475726e20696e74657276616c2e636f756e7428302c20642920252073746570203d3d3d20303b207d293b0a202020207d3b0a20207d0a0a202072657475726e20696e74657276616c3b0a7d0a0a766172206d696c6c697365636f6e64203d206e6577496e74657276616c2866756e6374696f6e2829207b0a20202f2f206e6f6f700a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e64202d2073746172743b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a6d696c6c697365636f6e642e6576657279203d2066756e6374696f6e286b29207b0a20206b203d204d6174682e666c6f6f72286b293b0a20206966202821697346696e697465286b29207c7c2021286b203e203029292072657475726e206e756c6c3b0a20206966202821286b203e203129292072657475726e206d696c6c697365636f6e643b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206b29202a206b293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657454696d65282b64617465202b2073746570202a206b293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206b3b0a20207d293b0a7d3b0a766172206d696c6c697365636f6e6473203d206d696c6c697365636f6e642e72616e67653b0a0a766172206475726174696f6e5365636f6e64203d203165333b0a766172206475726174696f6e4d696e757465203d203665343b0a766172206475726174696f6e486f7572203d20333665353b0a766172206475726174696f6e446179203d2038363465353b0a766172206475726174696f6e5765656b203d203630343865353b0a0a766172207365636f6e64203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e5365636f6e6429202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e5365636f6e643b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554435365636f6e647328293b0a7d293b0a766172207365636f6e6473203d207365636f6e642e72616e67653b0a0a766172206d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e4d696e75746529202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d696e7574657328293b0a7d293b0a766172206d696e75746573203d206d696e7574652e72616e67653b0a0a76617220686f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020766172206f6666736574203d20646174652e67657454696d657a6f6e654f66667365742829202a206475726174696f6e4d696e7574652025206475726174696f6e486f75723b0a2020696620286f6666736574203c203029206f6666736574202b3d206475726174696f6e486f75723b0a2020646174652e73657454696d65284d6174682e666c6f6f7228282b64617465202d206f666673657429202f206475726174696f6e486f757229202a206475726174696f6e486f7572202b206f6666736574293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574486f75727328293b0a7d293b0a76617220686f757273203d20686f75722e72616e67653b0a0a76617220646179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744461746528646174652e676574446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574446174652829202d20313b0a7d293b0a7661722064617973203d206461792e72616e67653b0a0a66756e6374696f6e207765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365744461746528646174652e676574446174652829202d2028646174652e6765744461792829202b2037202d20692920252037293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365744461746528646174652e676574446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722073756e646179203d207765656b6461792830293b0a766172206d6f6e646179203d207765656b6461792831293b0a7661722074756573646179203d207765656b6461792832293b0a766172207765646e6573646179203d207765656b6461792833293b0a766172207468757273646179203d207765656b6461792834293b0a76617220667269646179203d207765656b6461792835293b0a766172207361747572646179203d207765656b6461792836293b0a0a7661722073756e64617973203d2073756e6461792e72616e67653b0a766172206d6f6e64617973203d206d6f6e6461792e72616e67653b0a766172207475657364617973203d20747565736461792e72616e67653b0a766172207765646e657364617973203d207765646e65736461792e72616e67653b0a76617220746875727364617973203d2074687572736461792e72616e67653b0a7661722066726964617973203d206672696461792e72616e67653b0a76617220736174757264617973203d2073617475726461792e72616e67653b0a0a766172206d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574446174652831293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744d6f6e746828646174652e6765744d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765744d6f6e74682829202d2073746172742e6765744d6f6e74682829202b2028656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d6f6e746828293b0a7d293b0a766172206d6f6e746873203d206d6f6e74682e72616e67653b0a0a7661722079656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365744d6f6e746828302c2031293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657446756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a796561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657446756c6c59656172284d6174682e666c6f6f7228646174652e67657446756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365744d6f6e746828302c2031293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a766172207965617273203d20796561722e72616e67653b0a0a766172207574634d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554435365636f6e647328302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d696e7574657328293b0a7d293b0a766172207574634d696e75746573203d207574634d696e7574652e72616e67653b0a0a76617220757463486f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d696e7574657328302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443486f75727328293b0a7d293b0a76617220757463486f757273203d20757463486f75722e72616e67653b0a0a76617220757463446179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443446174652829202d20313b0a7d293b0a7661722075746344617973203d207574634461792e72616e67653b0a0a66756e6374696f6e207574635765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202d2028646174652e6765745554434461792829202b2037202d20692920252037293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722075746353756e646179203d207574635765656b6461792830293b0a766172207574634d6f6e646179203d207574635765656b6461792831293b0a7661722075746354756573646179203d207574635765656b6461792832293b0a766172207574635765646e6573646179203d207574635765656b6461792833293b0a766172207574635468757273646179203d207574635765656b6461792834293b0a76617220757463467269646179203d207574635765656b6461792835293b0a766172207574635361747572646179203d207574635765656b6461792836293b0a0a7661722075746353756e64617973203d2075746353756e6461792e72616e67653b0a766172207574634d6f6e64617973203d207574634d6f6e6461792e72616e67653b0a766172207574635475657364617973203d20757463547565736461792e72616e67653b0a766172207574635765646e657364617973203d207574635765646e65736461792e72616e67653b0a76617220757463546875727364617973203d2075746354687572736461792e72616e67653b0a7661722075746346726964617973203d207574634672696461792e72616e67653b0a76617220757463536174757264617973203d2075746353617475726461792e72616e67653b0a0a766172207574634d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443446174652831293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434d6f6e746828646174652e6765745554434d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765745554434d6f6e74682829202d2073746172742e6765745554434d6f6e74682829202b2028656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d6f6e746828293b0a7d293b0a766172207574634d6f6e746873203d207574634d6f6e74682e72616e67653b0a0a7661722075746359656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d6f6e746828302c2031293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657455544346756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a757463596561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657455544346756c6c59656172284d6174682e666c6f6f7228646174652e67657455544346756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365745554434d6f6e746828302c2031293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a766172207574635965617273203d20757463596561722e72616e67653b0a0a66756e6374696f6e206c6f63616c44617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e65772044617465282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a20202020646174652e73657446756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a7d0a0a66756e6374696f6e2075746344617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e6577204461746528446174652e555443282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a20202020646174652e73657455544346756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528446174652e55544328642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a7d0a0a66756e6374696f6e206e657759656172287929207b0a202072657475726e207b793a20792c206d3a20302c20643a20312c20483a20302c204d3a20302c20533a20302c204c3a20307d3b0a7d0a0a66756e6374696f6e20666f726d61744c6f63616c652431286c6f63616c6529207b0a2020766172206c6f63616c655f6461746554696d65203d206c6f63616c652e6461746554696d652c0a2020202020206c6f63616c655f64617465203d206c6f63616c652e646174652c0a2020202020206c6f63616c655f74696d65203d206c6f63616c652e74696d652c0a2020202020206c6f63616c655f706572696f6473203d206c6f63616c652e706572696f64732c0a2020202020206c6f63616c655f7765656b64617973203d206c6f63616c652e646179732c0a2020202020206c6f63616c655f73686f72745765656b64617973203d206c6f63616c652e73686f7274446179732c0a2020202020206c6f63616c655f6d6f6e746873203d206c6f63616c652e6d6f6e7468732c0a2020202020206c6f63616c655f73686f72744d6f6e746873203d206c6f63616c652e73686f72744d6f6e7468733b0a0a202076617220706572696f645265203d20666f726d61745265286c6f63616c655f706572696f6473292c0a202020202020706572696f644c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f706572696f6473292c0a2020202020207765656b6461795265203d20666f726d61745265286c6f63616c655f7765656b64617973292c0a2020202020207765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f7765656b64617973292c0a20202020202073686f72745765656b6461795265203d20666f726d61745265286c6f63616c655f73686f72745765656b64617973292c0a20202020202073686f72745765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72745765656b64617973292c0a2020202020206d6f6e74685265203d20666f726d61745265286c6f63616c655f6d6f6e746873292c0a2020202020206d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f6d6f6e746873292c0a20202020202073686f72744d6f6e74685265203d20666f726d61745265286c6f63616c655f73686f72744d6f6e746873292c0a20202020202073686f72744d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72744d6f6e746873293b0a0a202076617220666f726d617473203d207b0a202020202261223a20666f726d617453686f72745765656b6461792c0a202020202241223a20666f726d61745765656b6461792c0a202020202262223a20666f726d617453686f72744d6f6e74682c0a202020202242223a20666f726d61744d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61744461794f664d6f6e74682c0a202020202265223a20666f726d61744461794f664d6f6e74682c0a202020202266223a20666f726d61744d6963726f7365636f6e64732c0a202020202248223a20666f726d6174486f757232342c0a202020202249223a20666f726d6174486f757231322c0a20202020226a223a20666f726d61744461794f66596561722c0a20202020224c223a20666f726d61744d696c6c697365636f6e64732c0a20202020226d223a20666f726d61744d6f6e74684e756d6265722c0a20202020224d223a20666f726d61744d696e757465732c0a202020202270223a20666f726d6174506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745365636f6e64732c0a202020202275223a20666f726d61745765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745765656b4e756d62657249534f2c0a202020202277223a20666f726d61745765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174596561722c0a202020202259223a20666f726d617446756c6c596561722c0a20202020225a223a20666f726d61745a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220757463466f726d617473203d207b0a202020202261223a20666f726d617455544353686f72745765656b6461792c0a202020202241223a20666f726d61745554435765656b6461792c0a202020202262223a20666f726d617455544353686f72744d6f6e74682c0a202020202242223a20666f726d61745554434d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61745554434461794f664d6f6e74682c0a202020202265223a20666f726d61745554434461794f664d6f6e74682c0a202020202266223a20666f726d61745554434d6963726f7365636f6e64732c0a202020202248223a20666f726d6174555443486f757232342c0a202020202249223a20666f726d6174555443486f757231322c0a20202020226a223a20666f726d61745554434461794f66596561722c0a20202020224c223a20666f726d61745554434d696c6c697365636f6e64732c0a20202020226d223a20666f726d61745554434d6f6e74684e756d6265722c0a20202020224d223a20666f726d61745554434d696e757465732c0a202020202270223a20666f726d6174555443506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745554435365636f6e64732c0a202020202275223a20666f726d61745554435765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745554435765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745554435765656b4e756d62657249534f2c0a202020202277223a20666f726d61745554435765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745554435765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174555443596561722c0a202020202259223a20666f726d617455544346756c6c596561722c0a20202020225a223a20666f726d61745554435a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220706172736573203d207b0a202020202261223a20706172736553686f72745765656b6461792c0a202020202241223a2070617273655765656b6461792c0a202020202262223a20706172736553686f72744d6f6e74682c0a202020202242223a2070617273654d6f6e74682c0a202020202263223a2070617273654c6f63616c654461746554696d652c0a202020202264223a2070617273654461794f664d6f6e74682c0a202020202265223a2070617273654461794f664d6f6e74682c0a202020202266223a2070617273654d6963726f7365636f6e64732c0a202020202248223a207061727365486f757232342c0a202020202249223a207061727365486f757232342c0a20202020226a223a2070617273654461794f66596561722c0a20202020224c223a2070617273654d696c6c697365636f6e64732c0a20202020226d223a2070617273654d6f6e74684e756d6265722c0a20202020224d223a2070617273654d696e757465732c0a202020202270223a207061727365506572696f642c0a202020202251223a207061727365556e697854696d657374616d702c0a202020202273223a207061727365556e697854696d657374616d705365636f6e64732c0a202020202253223a2070617273655365636f6e64732c0a202020202275223a2070617273655765656b6461794e756d6265724d6f6e6461792c0a202020202255223a2070617273655765656b4e756d62657253756e6461792c0a202020202256223a2070617273655765656b4e756d62657249534f2c0a202020202277223a2070617273655765656b6461794e756d62657253756e6461792c0a202020202257223a2070617273655765656b4e756d6265724d6f6e6461792c0a202020202278223a2070617273654c6f63616c65446174652c0a202020202258223a2070617273654c6f63616c6554696d652c0a202020202279223a207061727365596561722c0a202020202259223a20706172736546756c6c596561722c0a20202020225a223a2070617273655a6f6e652c0a202020202225223a2070617273654c69746572616c50657263656e740a20207d3b0a0a20202f2f205468657365207265637572736976652064697265637469766520646566696e6974696f6e73206d7573742062652064656665727265642e0a2020666f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20666f726d617473293b0a2020666f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20666f726d617473293b0a2020666f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20666f726d617473293b0a2020757463466f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20757463466f726d617473293b0a2020757463466f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20757463466f726d617473293b0a2020757463466f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20757463466f726d617473293b0a0a202066756e6374696f6e206e6577466f726d6174287370656369666965722c20666f726d61747329207b0a2020202072657475726e2066756e6374696f6e286461746529207b0a20202020202076617220737472696e67203d205b5d2c0a2020202020202020202069203d202d312c0a202020202020202020206a203d20302c0a202020202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020202020632c0a202020202020202020207061642c0a20202020202020202020666f726d61743b0a0a2020202020206966202821286461746520696e7374616e63656f66204461746529292064617465203d206e65772044617465282b64617465293b0a0a2020202020207768696c6520282b2b69203c206e29207b0a2020202020202020696620287370656369666965722e63686172436f64654174286929203d3d3d20333729207b0a20202020202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a202020202020202020206966202828706164203d20706164735b63203d207370656369666965722e636861724174282b2b69295d2920213d206e756c6c292063203d207370656369666965722e636861724174282b2b69293b0a20202020202020202020656c736520706164203d2063203d3d3d20226522203f20222022203a202230223b0a2020202020202020202069662028666f726d6174203d20666f726d6174735b635d292063203d20666f726d617428646174652c20706164293b0a20202020202020202020737472696e672e707573682863293b0a202020202020202020206a203d2069202b20313b0a20202020202020207d0a2020202020207d0a0a202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a20202020202072657475726e20737472696e672e6a6f696e282222293b0a202020207d3b0a20207d0a0a202066756e6374696f6e206e65775061727365287370656369666965722c206e65774461746529207b0a2020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020207661722064203d206e6577596561722831393030292c0a2020202020202020202069203d20706172736553706563696669657228642c207370656369666965722c20737472696e67202b3d2022222c2030292c0a202020202020202020207765656b2c206461792424313b0a202020202020696620286920213d20737472696e672e6c656e677468292072657475726e206e756c6c3b0a0a2020202020202f2f204966206120554e49582074696d657374616d70206973207370656369666965642c2072657475726e2069742e0a2020202020206966202822512220696e2064292072657475726e206e6577204461746528642e51293b0a0a2020202020202f2f2054686520616d2d706d20666c6167206973203020666f7220414d2c20616e64203120666f7220504d2e0a2020202020206966202822702220696e20642920642e48203d20642e482025203132202b20642e70202a2031323b0a0a2020202020202f2f20436f6e76657274206461792d6f662d7765656b20616e64207765656b2d6f662d7965617220746f206461792d6f662d796561722e0a2020202020206966202822562220696e206429207b0a202020202020202069662028642e56203c2031207c7c20642e56203e203533292072657475726e206e756c6c3b0a202020202020202069662028212822772220696e2064292920642e77203d20313b0a202020202020202069662028225a2220696e206429207b0a202020202020202020207765656b203d2075746344617465286e65775965617228642e7929292c20646179242431203d207765656b2e67657455544344617928293b0a202020202020202020207765656b203d20646179242431203e2034207c7c20646179242431203d3d3d2030203f207574634d6f6e6461792e6365696c287765656b29203a207574634d6f6e646179287765656b293b0a202020202020202020207765656b203d207574634461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657455544346756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765745554434d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574555443446174652829202b2028642e77202b203629202520373b0a20202020202020207d20656c7365207b0a202020202020202020207765656b203d206e657744617465286e65775965617228642e7929292c20646179242431203d207765656b2e67657444617928293b0a202020202020202020207765656b203d20646179242431203e2034207c7c20646179242431203d3d3d2030203f206d6f6e6461792e6365696c287765656b29203a206d6f6e646179287765656b293b0a202020202020202020207765656b203d206461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657446756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765744d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574446174652829202b2028642e77202b203629202520373b0a20202020202020207d0a2020202020207d20656c7365206966202822572220696e2064207c7c2022552220696e206429207b0a202020202020202069662028212822772220696e2064292920642e77203d2022752220696e2064203f20642e7520252037203a2022572220696e2064203f2031203a20303b0a2020202020202020646179242431203d20225a2220696e2064203f2075746344617465286e65775965617228642e7929292e6765745554434461792829203a206e657744617465286e65775965617228642e7929292e67657444617928293b0a2020202020202020642e6d203d20303b0a2020202020202020642e64203d2022572220696e2064203f2028642e77202b20362920252037202b20642e57202a2037202d2028646179242431202b20352920252037203a20642e77202b20642e55202a2037202d2028646179242431202b203629202520373b0a2020202020207d0a0a2020202020202f2f20496620612074696d65207a6f6e65206973207370656369666965642c20616c6c206669656c64732061726520696e7465727072657465642061732055544320616e64207468656e0a2020202020202f2f206f6666736574206163636f7264696e6720746f20746865207370656369666965642074696d65207a6f6e652e0a20202020202069662028225a2220696e206429207b0a2020202020202020642e48202b3d20642e5a202f20313030207c20303b0a2020202020202020642e4d202b3d20642e5a2025203130303b0a202020202020202072657475726e20757463446174652864293b0a2020202020207d0a0a2020202020202f2f204f74686572776973652c20616c6c206669656c64732061726520696e206c6f63616c2074696d652e0a20202020202072657475726e206e6577446174652864293b0a202020207d3b0a20207d0a0a202066756e6374696f6e20706172736553706563696669657228642c207370656369666965722c20737472696e672c206a29207b0a202020207661722069203d20302c0a20202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020206d203d20737472696e672e6c656e6774682c0a2020202020202020632c0a202020202020202070617273653b0a0a202020207768696c65202869203c206e29207b0a202020202020696620286a203e3d206d292072657475726e202d313b0a20202020202063203d207370656369666965722e63686172436f6465417428692b2b293b0a2020202020206966202863203d3d3d20333729207b0a202020202020202063203d207370656369666965722e63686172417428692b2b293b0a20202020202020207061727365203d207061727365735b6320696e2070616473203f207370656369666965722e63686172417428692b2b29203a20635d3b0a202020202020202069662028217061727365207c7c2028286a203d20706172736528642c20737472696e672c206a2929203c203029292072657475726e202d313b0a2020202020207d20656c736520696620286320213d20737472696e672e63686172436f64654174286a2b2b2929207b0a202020202020202072657475726e202d313b0a2020202020207d0a202020207d0a0a2020202072657475726e206a3b0a20207d0a0a202066756e6374696f6e207061727365506572696f6428642c20737472696e672c206929207b0a20202020766172206e203d20706572696f6452652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e70203d20706572696f644c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72745765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d2073686f72745765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d2073686f72745765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273655765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d207765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d207765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72744d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d2073686f72744d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d2073686f72744d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d206d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d206d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f6461746554696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f646174652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c6554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f74696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574486f7572732829203e3d203132295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554435765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554434d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174555443506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574555443486f7572732829203e3d203132295d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20666f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202070617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e6577506172736528737065636966696572202b3d2022222c206c6f63616c44617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d2c0a20202020757463466f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20757463466f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202075746350617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e65775061727365287370656369666965722c2075746344617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d0a20207d3b0a7d0a0a7661722070616473203d207b222d223a2022222c20225f223a202220222c202230223a202230227d2c0a202020206e756d6265725265203d202f5e5c732a5c642b2f2c202f2f206e6f74653a2069676e6f726573206e657874206469726563746976650a2020202070657263656e745265203d202f5e252f2c0a20202020726571756f74655265203d202f5b5c5c5e242a2b3f7c5b5c5d28292e7b7d5d2f673b0a0a66756e6374696f6e207061642876616c75652c2066696c6c2c20776964746829207b0a2020766172207369676e203d2076616c7565203c2030203f20222d22203a2022222c0a202020202020737472696e67203d20287369676e203f202d76616c7565203a2076616c756529202b2022222c0a2020202020206c656e677468203d20737472696e672e6c656e6774683b0a202072657475726e207369676e202b20286c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29202b20737472696e67203a20737472696e67293b0a7d0a0a66756e6374696f6e20726571756f7465287329207b0a202072657475726e20732e7265706c61636528726571756f746552652c20225c5c242622293b0a7d0a0a66756e6374696f6e20666f726d61745265286e616d657329207b0a202072657475726e206e65772052656745787028225e283f3a22202b206e616d65732e6d617028726571756f7465292e6a6f696e28227c2229202b202229222c20226922293b0a7d0a0a66756e6374696f6e20666f726d61744c6f6f6b7570286e616d657329207b0a2020766172206d6170203d207b7d2c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206d61705b6e616d65735b695d2e746f4c6f7765724361736528295d203d20693b0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e77203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e75203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e55203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657249534f28642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e56203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e57203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20706172736546756c6c5965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203429293b0a202072657475726e206e203f2028642e79203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e79203d202b6e5b305d202b20282b6e5b305d203e203638203f2031393030203a2032303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655a6f6e6528642c20737472696e672c206929207b0a2020766172206e203d202f5e285a297c285b2b2d5d5c645c6429283f3a3a3f285c645c6429293f2f2e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e5a203d206e5b315d203f2030203a202d286e5b325d202b20286e5b335d207c7c202230302229292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6f6e74684e756d62657228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e6d203d206e5b305d202d20312c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f664d6f6e746828642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f665965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e6d203d20302c20642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365486f7572323428642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e48203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696e7574657328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e4d203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e53203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696c6c697365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e4c203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6963726f7365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e4c203d204d6174682e666c6f6f72286e5b305d202f2031303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654c69746572616c50657263656e7428642c20737472696e672c206929207b0a2020766172206e203d2070657263656e7452652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2069202b206e5b305d2e6c656e677468203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d7028642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d705365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d20282b6e5b305d29202a20313030302c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20666f726d61744461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765744461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572323428642c207029207b0a202072657475726e2070616428642e676574486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572313228642c207029207b0a202072657475726e2070616428642e676574486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744461794f665965617228642c207029207b0a202072657475726e207061642831202b206461792e636f756e7428796561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765744d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61744d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61744d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765744d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744d696e7574657328642c207029207b0a202072657475726e2070616428642e6765744d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646179242431203d20642e67657444617928293b0a202072657475726e20646179242431203d3d3d2030203f2037203a206461792424313b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657253756e64617928642c207029207b0a202072657475726e207061642873756e6461792e636f756e7428796561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657249534f28642c207029207b0a202076617220646179242431203d20642e67657444617928293b0a202064203d2028646179242431203e3d2034207c7c20646179242431203d3d3d203029203f207468757273646179286429203a2074687572736461792e6365696c2864293b0a202072657475726e207061642874687572736461792e636f756e7428796561722864292c206429202b2028796561722864292e6765744461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657444617928293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e20706164286d6f6e6461792e636f756e7428796561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617446756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745a6f6e65286429207b0a2020766172207a203d20642e67657454696d657a6f6e654f666673657428293b0a202072657475726e20287a203e2030203f20222d22203a20287a202a3d202d312c20222b2229290a2020202020202b20706164287a202f203630207c20302c202230222c2032290a2020202020202b20706164287a20252036302c202230222c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765745554434461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572323428642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572313228642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f665965617228642c207029207b0a202072657475726e207061642831202b207574634461792e636f756e7428757463596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554434d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61745554434d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61745554434d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765745554434d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696e7574657328642c207029207b0a202072657475726e2070616428642e6765745554434d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554435365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646f77203d20642e67657455544344617928293b0a202072657475726e20646f77203d3d3d2030203f2037203a20646f773b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657253756e64617928642c207029207b0a202072657475726e207061642875746353756e6461792e636f756e7428757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657249534f28642c207029207b0a202076617220646179242431203d20642e67657455544344617928293b0a202064203d2028646179242431203e3d2034207c7c20646179242431203d3d3d203029203f207574635468757273646179286429203a2075746354687572736461792e6365696c2864293b0a202072657475726e207061642875746354687572736461792e636f756e7428757463596561722864292c206429202b2028757463596561722864292e6765745554434461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657455544344617928293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e20706164287574634d6f6e6461792e636f756e7428757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617455544346756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745554435a6f6e652829207b0a202072657475726e20222b30303030223b0a7d0a0a66756e6374696f6e20666f726d61744c69746572616c50657263656e742829207b0a202072657475726e202225223b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d70286429207b0a202072657475726e202b643b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d705365636f6e6473286429207b0a202072657475726e204d6174682e666c6f6f72282b64202f2031303030293b0a7d0a0a766172206c6f63616c6524313b0a0a64656661756c744c6f63616c652431287b0a20206461746554696d653a202225782c202558222c0a2020646174653a2022252d6d2f252d642f2559222c0a202074696d653a2022252d493a254d3a2553202570222c0a2020706572696f64733a205b22414d222c2022504d225d2c0a2020646179733a205b2253756e646179222c20224d6f6e646179222c202254756573646179222c20225765646e6573646179222c20225468757273646179222c2022467269646179222c20225361747572646179225d2c0a202073686f7274446179733a205b2253756e222c20224d6f6e222c2022547565222c2022576564222c2022546875222c2022467269222c2022536174225d2c0a20206d6f6e7468733a205b224a616e75617279222c20224665627275617279222c20224d61726368222c2022417072696c222c20224d6179222c20224a756e65222c20224a756c79222c2022417567757374222c202253657074656d626572222c20224f63746f626572222c20224e6f76656d626572222c2022446563656d626572225d2c0a202073686f72744d6f6e7468733a205b224a616e222c2022466562222c20224d6172222c2022417072222c20224d6179222c20224a756e222c20224a756c222c2022417567222c2022536570222c20224f6374222c20224e6f76222c2022446563225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c65243128646566696e6974696f6e29207b0a20206c6f63616c652431203d20666f726d61744c6f63616c65243128646566696e6974696f6e293b0a20206578706f7274732e74696d65466f726d6174203d206c6f63616c6524312e666f726d61743b0a20206578706f7274732e74696d655061727365203d206c6f63616c6524312e70617273653b0a20206578706f7274732e757463466f726d6174203d206c6f63616c6524312e757463466f726d61743b0a20206578706f7274732e7574635061727365203d206c6f63616c6524312e75746350617273653b0a202072657475726e206c6f63616c6524313b0a7d0a0a7661722069736f537065636966696572203d202225592d256d2d25645425483a254d3a25532e254c5a223b0a0a66756e6374696f6e20666f726d617449736f4e6174697665286461746529207b0a202072657475726e20646174652e746f49534f537472696e6728293b0a7d0a0a76617220666f726d617449736f203d20446174652e70726f746f747970652e746f49534f537472696e670a202020203f20666f726d617449736f4e61746976650a202020203a206578706f7274732e757463466f726d61742869736f537065636966696572293b0a0a66756e6374696f6e20706172736549736f4e617469766528737472696e6729207b0a20207661722064617465203d206e6577204461746528737472696e67293b0a202072657475726e2069734e614e286461746529203f206e756c6c203a20646174653b0a7d0a0a76617220706172736549736f203d202b6e657720446174652822323030302d30312d30315430303a30303a30302e3030305a22290a202020203f20706172736549736f4e61746976650a202020203a206578706f7274732e75746350617273652869736f537065636966696572293b0a0a766172206475726174696f6e5365636f6e642431203d20313030302c0a202020206475726174696f6e4d696e7574652431203d206475726174696f6e5365636f6e642431202a2036302c0a202020206475726174696f6e486f75722431203d206475726174696f6e4d696e7574652431202a2036302c0a202020206475726174696f6e4461792431203d206475726174696f6e486f75722431202a2032342c0a202020206475726174696f6e5765656b2431203d206475726174696f6e4461792431202a20372c0a202020206475726174696f6e4d6f6e7468203d206475726174696f6e4461792431202a2033302c0a202020206475726174696f6e59656172203d206475726174696f6e4461792431202a203336353b0a0a66756e6374696f6e20646174652431287429207b0a202072657475726e206e657720446174652874293b0a7d0a0a66756e6374696f6e206e756d6265722433287429207b0a202072657475726e207420696e7374616e63656f662044617465203f202b74203a202b6e65772044617465282b74293b0a7d0a0a66756e6374696f6e2063616c656e64617228796561722424312c206d6f6e74682424312c207765656b2c206461792424312c20686f75722424312c206d696e7574652424312c207365636f6e642424312c206d696c6c697365636f6e642424312c20666f726d617429207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c207265696e746572706f6c617465292c0a202020202020696e76657274203d207363616c652e696e766572742c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202076617220666f726d61744d696c6c697365636f6e64203d20666f726d617428222e254c22292c0a202020202020666f726d61745365636f6e64203d20666f726d617428223a255322292c0a202020202020666f726d61744d696e757465203d20666f726d6174282225493a254d22292c0a202020202020666f726d6174486f7572203d20666f726d61742822254920257022292c0a202020202020666f726d6174446179203d20666f726d61742822256120256422292c0a202020202020666f726d61745765656b203d20666f726d61742822256220256422292c0a202020202020666f726d61744d6f6e7468203d20666f726d61742822254222292c0a202020202020666f726d617459656172203d20666f726d61742822255922293b0a0a2020766172207469636b496e74657276616c73203d205b0a202020205b7365636f6e642424312c2020312c2020202020206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2020352c202035202a206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2031352c203135202a206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2033302c203330202a206475726174696f6e5365636f6e6424315d2c0a202020205b6d696e7574652424312c2020312c2020202020206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2020352c202035202a206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2031352c203135202a206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2033302c203330202a206475726174696f6e4d696e75746524315d2c0a202020205b2020686f75722424312c2020312c2020202020206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2020332c202033202a206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2020362c202036202a206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2031322c203132202a206475726174696f6e486f7572243120205d2c0a202020205b2020206461792424312c2020312c2020202020206475726174696f6e44617924312020205d2c0a202020205b2020206461792424312c2020322c202032202a206475726174696f6e44617924312020205d2c0a202020205b20207765656b2c2020312c2020202020206475726174696f6e5765656b243120205d2c0a202020205b206d6f6e74682424312c2020312c2020202020206475726174696f6e4d6f6e7468205d2c0a202020205b206d6f6e74682424312c2020332c202033202a206475726174696f6e4d6f6e7468205d2c0a202020205b2020796561722424312c2020312c2020202020206475726174696f6e5965617220205d0a20205d3b0a0a202066756e6374696f6e207469636b466f726d6174286461746524243129207b0a2020202072657475726e20287365636f6e64242431286461746524243129203c2064617465242431203f20666f726d61744d696c6c697365636f6e640a20202020202020203a206d696e757465242431286461746524243129203c2064617465242431203f20666f726d61745365636f6e640a20202020202020203a20686f7572242431286461746524243129203c2064617465242431203f20666f726d61744d696e7574650a20202020202020203a20646179242431286461746524243129203c2064617465242431203f20666f726d6174486f75720a20202020202020203a206d6f6e7468242431286461746524243129203c2064617465242431203f20287765656b286461746524243129203c2064617465242431203f20666f726d6174446179203a20666f726d61745765656b290a20202020202020203a2079656172242431286461746524243129203c2064617465242431203f20666f726d61744d6f6e74680a20202020202020203a20666f726d617459656172292864617465242431293b0a20207d0a0a202066756e6374696f6e207469636b496e74657276616c28696e74657276616c2c2073746172742c2073746f702c207374657029207b0a2020202069662028696e74657276616c203d3d206e756c6c2920696e74657276616c203d2031303b0a0a202020202f2f20496620612064657369726564207469636b20636f756e74206973207370656369666965642c207069636b206120726561736f6e61626c65207469636b20696e74657276616c0a202020202f2f206261736564206f6e2074686520657874656e74206f662074686520646f6d61696e20616e64206120726f75676820657374696d617465206f66207469636b2073697a652e0a202020202f2f204f74686572776973652c20617373756d6520696e74657276616c20697320616c726561647920612074696d6520696e74657276616c20616e64207573652069742e0a2020202069662028747970656f6620696e74657276616c203d3d3d20226e756d6265722229207b0a20202020202076617220746172676574203d204d6174682e6162732873746f70202d20737461727429202f20696e74657276616c2c0a2020202020202020202069203d206269736563746f722866756e6374696f6e286929207b2072657475726e20695b325d3b207d292e7269676874287469636b496e74657276616c732c20746172676574293b0a2020202020206966202869203d3d3d207469636b496e74657276616c732e6c656e67746829207b0a202020202020202073746570203d207469636b53746570287374617274202f206475726174696f6e596561722c2073746f70202f206475726174696f6e596561722c20696e74657276616c293b0a2020202020202020696e74657276616c203d20796561722424313b0a2020202020207d20656c736520696620286929207b0a202020202020202069203d207469636b496e74657276616c735b746172676574202f207469636b496e74657276616c735b69202d20315d5b325d203c207469636b496e74657276616c735b695d5b325d202f20746172676574203f2069202d2031203a20695d3b0a202020202020202073746570203d20695b315d3b0a2020202020202020696e74657276616c203d20695b305d3b0a2020202020207d20656c7365207b0a202020202020202073746570203d204d6174682e6d6178287469636b537465702873746172742c2073746f702c20696e74657276616c292c2031293b0a2020202020202020696e74657276616c203d206d696c6c697365636f6e642424313b0a2020202020207d0a202020207d0a0a2020202072657475726e2073746570203d3d206e756c6c203f20696e74657276616c203a20696e74657276616c2e65766572792873746570293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e206e6577204461746528696e76657274287929293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20646f6d61696e286d617024322e63616c6c285f2c206e756d62657224332929203a20646f6d61696e28292e6d617028646174652431293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28292c0a20202020202020207430203d20645b305d2c0a20202020202020207431203d20645b642e6c656e677468202d20315d2c0a202020202020202072203d207431203c2074302c0a2020202020202020743b0a202020206966202872292074203d2074302c207430203d2074312c207431203d20743b0a2020202074203d207469636b496e74657276616c28696e74657276616c2c2074302c2074312c2073746570293b0a2020202074203d2074203f20742e72616e67652874302c207431202b203129203a205b5d3b202f2f20696e636c75736976652073746f700a2020202072657475726e2072203f20742e726576657273652829203a20743b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e20737065636966696572203d3d206e756c6c203f207469636b466f726d6174203a20666f726d617428737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e2028696e74657276616c203d207469636b496e74657276616c28696e74657276616c2c20645b305d2c20645b642e6c656e677468202d20315d2c207374657029290a20202020202020203f20646f6d61696e286e69636528642c20696e74657276616c29290a20202020202020203a207363616c653b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c2063616c656e64617228796561722424312c206d6f6e74682424312c207765656b2c206461792424312c20686f75722424312c206d696e7574652424312c207365636f6e642424312c206d696c6c697365636f6e642424312c20666f726d617429293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2074696d652829207b0a202072657475726e2063616c656e64617228796561722c206d6f6e74682c2073756e6461792c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c206578706f7274732e74696d65466f726d6174292e646f6d61696e285b6e6577204461746528323030302c20302c2031292c206e6577204461746528323030302c20302c2032295d293b0a7d0a0a66756e6374696f6e2075746354696d652829207b0a202072657475726e2063616c656e64617228757463596561722c207574634d6f6e74682c2075746353756e6461792c207574634461792c20757463486f75722c207574634d696e7574652c207365636f6e642c206d696c6c697365636f6e642c206578706f7274732e757463466f726d6174292e646f6d61696e285b446174652e55544328323030302c20302c2031292c20446174652e55544328323030302c20302c2032295d293b0a7d0a0a66756e6374696f6e2073657175656e7469616c28696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206b3130203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d202878202d20783029202a206b31303b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c206b3130203d207830203d3d3d207831203f2030203a2031202f20287831202d207830292c207363616c6529203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2073657175656e7469616c28696e746572706f6c61746f72292e646f6d61696e285b78302c2078315d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20646976657267696e6728696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20302e352c0a2020202020207832203d20312c0a2020202020206b3130203d20312c0a2020202020206b3231203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d20302e35202b20282878203d202b7829202d20783129202a202878203c207831203f206b3130203a206b3231293b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c207832203d202b5f5b325d2c206b3130203d207830203d3d3d207831203f2030203a20302e35202f20287831202d207830292c206b3231203d207831203d3d3d207832203f2030203a20302e35202f20287832202d207831292c207363616c6529203a205b78302c2078312c2078325d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20646976657267696e6728696e746572706f6c61746f72292e646f6d61696e285b78302c2078312c2078325d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20636f6c6f72732873706563696669657229207b0a2020766172206e203d207370656369666965722e6c656e677468202f2036207c20302c20636f6c6f7273203d206e6577204172726179286e292c2069203d20303b0a20207768696c65202869203c206e2920636f6c6f72735b695d203d20222322202b207370656369666965722e736c6963652869202a20362c202b2b69202a2036293b0a202072657475726e20636f6c6f72733b0a7d0a0a7661722063617465676f72793130203d20636f6c6f7273282231663737623466663766306532636130326364363237323839343637626438633536346265333737633237663766376662636264323231376265636622293b0a0a76617220416363656e74203d20636f6c6f7273282237666339376662656165643466646330383666666666393933383663623066303032376662663562313736363636363622293b0a0a766172204461726b32203d20636f6c6f7273282231623965373764393566303237353730623365373239386136366136316565366162303261363736316436363636363622293b0a0a76617220506169726564203d20636f6c6f7273282261366365653331663738623462326466386133336130326366623961393965333161316366646266366666663766303063616232643636613364396166666666393962313539323822293b0a0a7661722050617374656c31203d20636f6c6f7273282266626234616562336364653363636562633564656362653466656439613666666666636365356438626466646461656366326632663222293b0a0a7661722050617374656c32203d20636f6c6f7273282262336532636466646364616363626435653866346361653465366635633966666632616566316532636363636363636322293b0a0a7661722053657431203d20636f6c6f7273282265343161316333373765623834646166346139383465613366663766303066666666333361363536323866373831626639393939393922293b0a0a7661722053657432203d20636f6c6f7273282236366332613566633864363238646130636265373861633361366438353466666439326665356334393462336233623322293b0a0a7661722053657433203d20636f6c6f7273282238646433633766666666623362656261646166623830373238306231643366646234363262336465363966636364653564396439643962633830626463636562633566666564366622293b0a0a66756e6374696f6e2072616d7028736368656d6529207b0a202072657475726e20726762426173697328736368656d655b736368656d652e6c656e677468202d20315d293b0a7d0a0a76617220736368656d65203d206e65772041727261792833292e636f6e636174280a202022643862333635663566356635356162346163222c0a202022613636313161646663323764383063646331303138353731222c0a202022613636313161646663323764663566356635383063646331303138353731222c0a202022386335313061643862333635663665386333633765616535356162346163303136363565222c0a202022386335313061643862333635663665386333663566356635633765616535356162346163303136363565222c0a202022386335313061626638313264646663323764663665386333633765616535383063646331333539373866303136363565222c0a202022386335313061626638313264646663323764663665386333663566356635633765616535383063646331333539373866303136363565222c0a202022353433303035386335313061626638313264646663323764663665386333633765616535383063646331333539373866303136363565303033633330222c0a202022353433303035386335313061626638313264646663323764663665386333663566356635633765616535383063646331333539373866303136363565303033633330220a292e6d617028636f6c6f7273293b0a0a7661722042724247203d2072616d7028736368656d65293b0a0a76617220736368656d652431203d206e65772041727261792833292e636f6e636174280a202022616638646333663766376637376662663762222c0a202022376233323934633261356366613664626130303038383337222c0a202022376233323934633261356366663766376637613664626130303038383337222c0a202022373632613833616638646333653764346538643966306433376662663762316237383337222c0a202022373632613833616638646333653764346538663766376637643966306433376662663762316237383337222c0a202022373632613833393937306162633261356366653764346538643966306433613664626130356161653631316237383337222c0a202022373632613833393937306162633261356366653764346538663766376637643966306433613664626130356161653631316237383337222c0a202022343030303462373632613833393937306162633261356366653764346538643966306433613664626130356161653631316237383337303034343162222c0a202022343030303462373632613833393937306162633261356366653764346538663766376637643966306433613664626130356161653631316237383337303034343162220a292e6d617028636f6c6f7273293b0a0a766172205052476e203d2072616d7028736368656d652431293b0a0a76617220736368656d652432203d206e65772041727261792833292e636f6e636174280a202022653961336339663766376637613164373661222c0a202022643031633862663162366461623865313836346461633236222c0a202022643031633862663162366461663766376637623865313836346461633236222c0a202022633531623764653961336339666465306566653666356430613164373661346439323231222c0a202022633531623764653961336339666465306566663766376637653666356430613164373661346439323231222c0a202022633531623764646537376165663162366461666465306566653666356430623865313836376662633431346439323231222c0a202022633531623764646537376165663162366461666465306566663766376637653666356430623865313836376662633431346439323231222c0a202022386530313532633531623764646537376165663162366461666465306566653666356430623865313836376662633431346439323231323736343139222c0a202022386530313532633531623764646537376165663162366461666465306566663766376637653666356430623865313836376662633431346439323231323736343139220a292e6d617028636f6c6f7273293b0a0a7661722050695947203d2072616d7028736368656d652432293b0a0a76617220736368656d652433203d206e65772041727261792833292e636f6e636174280a202022393938656333663766376637663161333430222c0a202022356533633939623261626432666462383633653636313031222c0a202022356533633939623261626432663766376637666462383633653636313031222c0a202022353432373838393938656333643864616562666565306236663161333430623335383036222c0a202022353432373838393938656333643864616562663766376637666565306236663161333430623335383036222c0a202022353432373838383037336163623261626432643864616562666565306236666462383633653038323134623335383036222c0a202022353432373838383037336163623261626432643864616562663766376637666565306236666462383633653038323134623335383036222c0a202022326430303462353432373838383037336163623261626432643864616562666565306236666462383633653038323134623335383036376633623038222c0a202022326430303462353432373838383037336163623261626432643864616562663766376637666565306236666462383633653038323134623335383036376633623038220a292e6d617028636f6c6f7273293b0a0a7661722050754f72203d2072616d7028736368656d652433293b0a0a76617220736368656d652434203d206e65772041727261792833292e636f6e636174280a202022656638613632663766376637363761396366222c0a202022636130303230663461353832393263356465303537316230222c0a202022636130303230663461353832663766376637393263356465303537316230222c0a202022623231383262656638613632666464626337643165356630363761396366323136366163222c0a202022623231383262656638613632666464626337663766376637643165356630363761396366323136366163222c0a202022623231383262643636303464663461353832666464626337643165356630393263356465343339336333323136366163222c0a202022623231383262643636303464663461353832666464626337663766376637643165356630393263356465343339336333323136366163222c0a202022363730303166623231383262643636303464663461353832666464626337643165356630393263356465343339336333323136366163303533303631222c0a202022363730303166623231383262643636303464663461353832666464626337663766376637643165356630393263356465343339336333323136366163303533303631220a292e6d617028636f6c6f7273293b0a0a7661722052644275203d2072616d7028736368656d652434293b0a0a76617220736368656d652435203d206e65772041727261792833292e636f6e636174280a202022656638613632666666666666393939393939222c0a202022636130303230663461353832626162616261343034303430222c0a202022636130303230663461353832666666666666626162616261343034303430222c0a202022623231383262656638613632666464626337653065306530393939393939346434643464222c0a202022623231383262656638613632666464626337666666666666653065306530393939393939346434643464222c0a202022623231383262643636303464663461353832666464626337653065306530626162616261383738373837346434643464222c0a202022623231383262643636303464663461353832666464626337666666666666653065306530626162616261383738373837346434643464222c0a202022363730303166623231383262643636303464663461353832666464626337653065306530626162616261383738373837346434643464316131613161222c0a202022363730303166623231383262643636303464663461353832666464626337666666666666653065306530626162616261383738373837346434643464316131613161220a292e6d617028636f6c6f7273293b0a0a7661722052644779203d2072616d7028736368656d652435293b0a0a76617220736368656d652436203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393162666462222c0a202022643731393163666461653631616264396539326337626236222c0a202022643731393163666461653631666666666266616264396539326337626236222c0a202022643733303237666338643539666565303930653066336638393162666462343537356234222c0a202022643733303237666338643539666565303930666666666266653066336638393162666462343537356234222c0a202022643733303237663436643433666461653631666565303930653066336638616264396539373461646431343537356234222c0a202022643733303237663436643433666461653631666565303930666666666266653066336638616264396539373461646431343537356234222c0a202022613530303236643733303237663436643433666461653631666565303930653066336638616264396539373461646431343537356234333133363935222c0a202022613530303236643733303237663436643433666461653631666565303930666666666266653066336638616264396539373461646431343537356234333133363935220a292e6d617028636f6c6f7273293b0a0a766172205264596c4275203d2072616d7028736368656d652436293b0a0a76617220736368656d652437203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393163663630222c0a202022643731393163666461653631613664393661316139363431222c0a202022643731393163666461653631666666666266613664393661316139363431222c0a202022643733303237666338643539666565303862643965663862393163663630316139383530222c0a202022643733303237666338643539666565303862666666666266643965663862393163663630316139383530222c0a202022643733303237663436643433666461653631666565303862643965663862613664393661363662643633316139383530222c0a202022643733303237663436643433666461653631666565303862666666666266643965663862613664393661363662643633316139383530222c0a202022613530303236643733303237663436643433666461653631666565303862643965663862613664393661363662643633316139383530303036383337222c0a202022613530303236643733303237663436643433666461653631666565303862666666666266643965663862613664393661363662643633316139383530303036383337220a292e6d617028636f6c6f7273293b0a0a766172205264596c476e203d2072616d7028736368656d652437293b0a0a76617220736368656d652438203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393964353934222c0a202022643731393163666461653631616264646134326238336261222c0a202022643731393163666461653631666666666266616264646134326238336261222c0a202022643533653466666338643539666565303862653666353938393964353934333238386264222c0a202022643533653466666338643539666565303862666666666266653666353938393964353934333238386264222c0a202022643533653466663436643433666461653631666565303862653666353938616264646134363663326135333238386264222c0a202022643533653466663436643433666461653631666565303862666666666266653666353938616264646134363663326135333238386264222c0a202022396530313432643533653466663436643433666461653631666565303862653666353938616264646134363663326135333238386264356534666132222c0a202022396530313432643533653466663436643433666461653631666565303862666666666266653666353938616264646134363663326135333238386264356534666132220a292e6d617028636f6c6f7273293b0a0a76617220537065637472616c203d2072616d7028736368656d652438293b0a0a76617220736368656d652439203d206e65772041727261792833292e636f6e636174280a202022653566356639393964386339326361323566222c0a202022656466386662623265326532363663326134323338623435222c0a202022656466386662623265326532363663326134326361323566303036643263222c0a202022656466386662636365636536393964386339363663326134326361323566303036643263222c0a202022656466386662636365636536393964386339363663326134343161653736323338623435303035383234222c0a202022663766636664653566356639636365636536393964386339363663326134343161653736323338623435303035383234222c0a202022663766636664653566356639636365636536393964386339363663326134343161653736323338623435303036643263303034343162220a292e6d617028636f6c6f7273293b0a0a766172204275476e203d2072616d7028736368656d652439293b0a0a76617220736368656d65243130203d206e65772041727261792833292e636f6e636174280a202022653065636634396562636461383835366137222c0a202022656466386662623363646533386339366336383834313964222c0a202022656466386662623363646533386339366336383835366137383130663763222c0a202022656466386662626664336536396562636461386339366336383835366137383130663763222c0a202022656466386662626664336536396562636461386339366336386336626231383834313964366530313662222c0a202022663766636664653065636634626664336536396562636461386339366336386336626231383834313964366530313662222c0a202022663766636664653065636634626664336536396562636461386339366336386336626231383834313964383130663763346430303462220a292e6d617028636f6c6f7273293b0a0a7661722042755075203d2072616d7028736368656d65243130293b0a0a76617220736368656d65243131203d206e65772041727261792833292e636f6e636174280a202022653066336462613864646235343361326361222c0a202022663066396538626165346263376263636334326238636265222c0a202022663066396538626165346263376263636334343361326361303836386163222c0a202022663066396538636365626335613864646235376263636334343361326361303836386163222c0a202022663066396538636365626335613864646235376263636334346562336433326238636265303835383965222c0a202022663766636630653066336462636365626335613864646235376263636334346562336433326238636265303835383965222c0a202022663766636630653066336462636365626335613864646235376263636334346562336433326238636265303836386163303834303831220a292e6d617028636f6c6f7273293b0a0a76617220476e4275203d2072616d7028736368656d65243131293b0a0a76617220736368656d65243132203d206e65772041727261792833292e636f6e636174280a202022666565386338666462623834653334613333222c0a202022666566306439666463633861666338643539643733303166222c0a202022666566306439666463633861666338643539653334613333623330303030222c0a202022666566306439666464343965666462623834666338643539653334613333623330303030222c0a202022666566306439666464343965666462623834666338643539656636353438643733303166393930303030222c0a202022666666376563666565386338666464343965666462623834666338643539656636353438643733303166393930303030222c0a202022666666376563666565386338666464343965666462623834666338643539656636353438643733303166623330303030376630303030220a292e6d617028636f6c6f7273293b0a0a766172204f725264203d2072616d7028736368656d65243132293b0a0a76617220736368656d65243133203d206e65772041727261792833292e636f6e636174280a202022656365326630613662646462316339303939222c0a202022663665666637626463396531363761396366303238313861222c0a202022663665666637626463396531363761396366316339303939303136633539222c0a202022663665666637643064316536613662646462363761396366316339303939303136633539222c0a202022663665666637643064316536613662646462363761396366333639306330303238313861303136343530222c0a202022666666376662656365326630643064316536613662646462363761396366333639306330303238313861303136343530222c0a202022666666376662656365326630643064316536613662646462363761396366333639306330303238313861303136633539303134363336220a292e6d617028636f6c6f7273293b0a0a7661722050754275476e203d2072616d7028736368656d65243133293b0a0a76617220736368656d65243134203d206e65772041727261792833292e636f6e636174280a202022656365376632613662646462326238636265222c0a202022663165656636626463396531373461396366303537306230222c0a202022663165656636626463396531373461396366326238636265303435613864222c0a202022663165656636643064316536613662646462373461396366326238636265303435613864222c0a202022663165656636643064316536613662646462373461396366333639306330303537306230303334653762222c0a202022666666376662656365376632643064316536613662646462373461396366333639306330303537306230303334653762222c0a202022666666376662656365376632643064316536613662646462373461396366333639306330303537306230303435613864303233383538220a292e6d617028636f6c6f7273293b0a0a7661722050754275203d2072616d7028736368656d65243134293b0a0a76617220736368656d65243135203d206e65772041727261792833292e636f6e636174280a202022653765316566633939346337646431633737222c0a202022663165656636643762356438646636356230636531323536222c0a202022663165656636643762356438646636356230646431633737393830303433222c0a202022663165656636643462396461633939346337646636356230646431633737393830303433222c0a202022663165656636643462396461633939346337646636356230653732393861636531323536393130303366222c0a202022663766346639653765316566643462396461633939346337646636356230653732393861636531323536393130303366222c0a202022663766346639653765316566643462396461633939346337646636356230653732393861636531323536393830303433363730303166220a292e6d617028636f6c6f7273293b0a0a7661722050755264203d2072616d7028736368656d65243135293b0a0a76617220736368656d65243136203d206e65772041727261792833292e636f6e636174280a202022666465306464666139666235633531623861222c0a202022666565626532666262346239663736386131616530313765222c0a202022666565626532666262346239663736386131633531623861376130313737222c0a202022666565626532666363356330666139666235663736386131633531623861376130313737222c0a202022666565626532666363356330666139666235663736386131646433343937616530313765376130313737222c0a202022666666376633666465306464666363356330666139666235663736386131646433343937616530313765376130313737222c0a202022666666376633666465306464666363356330666139666235663736386131646433343937616530313765376130313737343930303661220a292e6d617028636f6c6f7273293b0a0a7661722052645075203d2072616d7028736368656d65243136293b0a0a76617220736368656d65243137203d206e65772041727261792833292e636f6e636174280a202022656466386231376663646262326337666238222c0a202022666666666363613164616234343162366334323235656138222c0a202022666666666363613164616234343162366334326337666238323533343934222c0a202022666666666363633765396234376663646262343162366334326337666238323533343934222c0a202022666666666363633765396234376663646262343162366334316439316330323235656138306332633834222c0a202022666666666439656466386231633765396234376663646262343162366334316439316330323235656138306332633834222c0a202022666666666439656466386231633765396234376663646262343162366334316439316330323235656138323533343934303831643538220a292e6d617028636f6c6f7273293b0a0a76617220596c476e4275203d2072616d7028736368656d65243137293b0a0a76617220736368656d65243138203d206e65772041727261792833292e636f6e636174280a202022663766636239616464643865333161333534222c0a202022666666666363633265363939373863363739323338343433222c0a202022666666666363633265363939373863363739333161333534303036383337222c0a202022666666666363643966306133616464643865373863363739333161333534303036383337222c0a202022666666666363643966306133616464643865373863363739343161623564323338343433303035613332222c0a202022666666666535663766636239643966306133616464643865373863363739343161623564323338343433303035613332222c0a202022666666666535663766636239643966306133616464643865373863363739343161623564323338343433303036383337303034353239220a292e6d617028636f6c6f7273293b0a0a76617220596c476e203d2072616d7028736368656d65243138293b0a0a76617220736368656d65243139203d206e65772041727261792833292e636f6e636174280a202022666666376263666563343466643935663065222c0a202022666666666434666564393865666539393239636334633032222c0a202022666666666434666564393865666539393239643935663065393933343034222c0a202022666666666434666565333931666563343466666539393239643935663065393933343034222c0a202022666666666434666565333931666563343466666539393239656337303134636334633032386332643034222c0a202022666666666535666666376263666565333931666563343466666539393239656337303134636334633032386332643034222c0a202022666666666535666666376263666565333931666563343466666539393239656337303134636334633032393933343034363632353036220a292e6d617028636f6c6f7273293b0a0a76617220596c4f724272203d2072616d7028736368656d65243139293b0a0a76617220736368656d65243230203d206e65772041727261792833292e636f6e636174280a202022666665646130666562323463663033623230222c0a202022666666666232666563633563666438643363653331613163222c0a202022666666666232666563633563666438643363663033623230626430303236222c0a202022666666666232666564393736666562323463666438643363663033623230626430303236222c0a202022666666666232666564393736666562323463666438643363666334653261653331613163623130303236222c0a202022666666666363666665646130666564393736666562323463666438643363666334653261653331613163623130303236222c0a202022666666666363666665646130666564393736666562323463666438643363666334653261653331613163626430303236383030303236220a292e6d617028636f6c6f7273293b0a0a76617220596c4f725264203d2072616d7028736368656d65243230293b0a0a76617220736368656d65243231203d206e65772041727261792833292e636f6e636174280a202022646565626637396563616531333138326264222c0a202022656666336666626464376537366261656436323137316235222c0a202022656666336666626464376537366261656436333138326264303835313963222c0a202022656666336666633664626566396563616531366261656436333138326264303835313963222c0a202022656666336666633664626566396563616531366261656436343239326336323137316235303834353934222c0a202022663766626666646565626637633664626566396563616531366261656436343239326336323137316235303834353934222c0a202022663766626666646565626637633664626566396563616531366261656436343239326336323137316235303835313963303833303662220a292e6d617028636f6c6f7273293b0a0a76617220426c756573203d2072616d7028736368656d65243231293b0a0a76617220736368656d65243232203d206e65772041727261792833292e636f6e636174280a202022653566356530613164393962333161333534222c0a202022656466386539626165346233373463343736323338623435222c0a202022656466386539626165346233373463343736333161333534303036643263222c0a202022656466386539633765396330613164393962373463343736333161333534303036643263222c0a202022656466386539633765396330613164393962373463343736343161623564323338623435303035613332222c0a202022663766636635653566356530633765396330613164393962373463343736343161623564323338623435303035613332222c0a202022663766636635653566356530633765396330613164393962373463343736343161623564323338623435303036643263303034343162220a292e6d617028636f6c6f7273293b0a0a76617220477265656e73203d2072616d7028736368656d65243232293b0a0a76617220736368656d65243233203d206e65772041727261792833292e636f6e636174280a202022663066306630626462646264363336333633222c0a202022663766376637636363636363393639363936353235323532222c0a202022663766376637636363636363393639363936363336333633323532353235222c0a202022663766376637643964396439626462646264393639363936363336333633323532353235222c0a202022663766376637643964396439626462646264393639363936373337333733353235323532323532353235222c0a202022666666666666663066306630643964396439626462646264393639363936373337333733353235323532323532353235222c0a202022666666666666663066306630643964396439626462646264393639363936373337333733353235323532323532353235303030303030220a292e6d617028636f6c6f7273293b0a0a766172204772657973203d2072616d7028736368656d65243233293b0a0a76617220736368656d65243234203d206e65772041727261792833292e636f6e636174280a202022656665646635626362646463373536626231222c0a202022663266306637636263396532396539616338366135316133222c0a202022663266306637636263396532396539616338373536626231353432373866222c0a202022663266306637646164616562626362646463396539616338373536626231353432373866222c0a202022663266306637646164616562626362646463396539616338383037646261366135316133346131343836222c0a202022666366626664656665646635646164616562626362646463396539616338383037646261366135316133346131343836222c0a202022666366626664656665646635646164616562626362646463396539616338383037646261366135316133353432373866336630303764220a292e6d617028636f6c6f7273293b0a0a76617220507572706c6573203d2072616d7028736368656d65243234293b0a0a76617220736368656d65243235203d206e65772041727261792833292e636f6e636174280a202022666565306432666339323732646532643236222c0a202022666565356439666361653931666236613461636231383164222c0a202022666565356439666361653931666236613461646532643236613530663135222c0a202022666565356439666362626131666339323732666236613461646532643236613530663135222c0a202022666565356439666362626131666339323732666236613461656633623263636231383164393930303064222c0a202022666666356630666565306432666362626131666339323732666236613461656633623263636231383164393930303064222c0a202022666666356630666565306432666362626131666339323732666236613461656633623263636231383164613530663135363730303064220a292e6d617028636f6c6f7273293b0a0a7661722052656473203d2072616d7028736368656d65243235293b0a0a76617220736368656d65243236203d206e65772041727261792833292e636f6e636174280a202022666565366365666461653662653635353064222c0a202022666565646465666462653835666438643363643934373031222c0a202022666565646465666462653835666438643363653635353064613633363033222c0a202022666565646465666464306132666461653662666438643363653635353064613633363033222c0a202022666565646465666464306132666461653662666438643363663136393133643934383031386332643034222c0a202022666666356562666565366365666464306132666461653662666438643363663136393133643934383031386332643034222c0a202022666666356562666565366365666464306132666461653662666438643363663136393133643934383031613633363033376632373034220a292e6d617028636f6c6f7273293b0a0a766172204f72616e676573203d2072616d7028736368656d65243236293b0a0a766172206375626568656c69782433203d206375626568656c69784c6f6e67286375626568656c6978283330302c20302e352c20302e30292c206375626568656c6978282d3234302c20302e352c20312e3029293b0a0a766172207761726d203d206375626568656c69784c6f6e67286375626568656c6978282d3130302c20302e37352c20302e3335292c206375626568656c69782838302c20312e35302c20302e3829293b0a0a76617220636f6f6c203d206375626568656c69784c6f6e67286375626568656c6978283236302c20302e37352c20302e3335292c206375626568656c69782838302c20312e35302c20302e3829293b0a0a7661722063203d206375626568656c697828293b0a0a66756e6374696f6e207261696e626f77287429207b0a20206966202874203c2030207c7c2074203e2031292074202d3d204d6174682e666c6f6f722874293b0a2020766172207473203d204d6174682e6162732874202d20302e35293b0a2020632e68203d20333630202a2074202d203130303b0a2020632e73203d20312e35202d20312e35202a2074733b0a2020632e6c203d20302e38202d20302e39202a2074733b0a202072657475726e2063202b2022223b0a7d0a0a76617220632431203d2072676228292c0a2020202070695f315f33203d204d6174682e5049202f20332c0a2020202070695f325f33203d204d6174682e5049202a2032202f20333b0a0a66756e6374696f6e2073696e65626f77287429207b0a202076617220783b0a202074203d2028302e35202d207429202a204d6174682e50493b0a20206324312e72203d20323535202a202878203d204d6174682e73696e28742929202a20783b0a20206324312e67203d20323535202a202878203d204d6174682e73696e2874202b2070695f315f332929202a20783b0a20206324312e62203d20323535202a202878203d204d6174682e73696e2874202b2070695f325f332929202a20783b0a202072657475726e20632431202b2022223b0a7d0a0a66756e6374696f6e2072616d7024312872616e676529207b0a2020766172206e203d2072616e67652e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2072616e67655b4d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a206e2929295d3b0a20207d3b0a7d0a0a7661722076697269646973203d2072616d70243128636f6c6f727328223434303135343434303235363435303435373435303535393436303735613436303835633436306135643436306235653437306436303437306536313437313036333437313136343437313336353438313436373438313636383438313736393438313836613438316136633438316236643438316336653438316436663438316637303438323037313438323137333438323337343438323437353438323537363438323637373438323837383438323937393437326137613437326337613437326437623437326537633437326637643436333037653436333237653436333337663436333438303435333538313435333738313435333838323434333938333434336138333434336238343433336438343433336538353432336638353432343038363432343138363431343238373431343438373430343538383430343638383366343738383366343838393365343938393365346138393365346338613364346438613364346538613363346638613363353038623362353138623362353238623361353338623361353438633339353538633339353638633338353838633338353938633337356138633337356238643336356338643336356438643335356538643335356638643334363038643334363138643333363238643333363338643332363438653332363538653331363638653331363738653331363838653330363938653330366138653266366238653266366338653265366438653265366538653265366638653264373038653264373138653263373138653263373238653263373338653262373438653262373538653261373638653261373738653261373838653239373938653239376138653239376238653238376338653238376438653237376538653237376638653237383038653236383138653236383238653236383238653235383338653235383438653235383538653234383638653234383738653233383838653233383938653233386138643232386238643232386338643232386438643231386538643231386638643231393038643231393138633230393238633230393238633230393338633166393438633166393538623166393638623166393738623166393838623166393938613166396138613165396238613165396338393165396438393166396538393166396638383166613038383166613138383166613138373166613238373230613338363230613438363231613538353231613638353232613738353232613838343233613938333234616138333235616238323235616338323236616438313237616438313238616538303239616637663261623037663263623137653264623237643265623337633266623437633331623537623332623637613334623637393335623737393337623837383338623937373361626137363362626237353364626337343366626337333430626437323432626537313434626637303436633036663438633136653461633136643463633236633465633336623530633436613532633536393534633536383536633636373538633736353561633836343563633836333565633936323630636136303633636235663635636235653637636335633639636435623663636435613665636535383730636635373733643035363735643035343737643135333761643135313763643235303766643334653831643334643834643434623836643534393839643534383862643634363865643634353930643734333933643734313935643834303938643833653962643933633964643933626130646133396132646133376135646233366138646233346161646333326164646333306230646432666232646432646235646532626238646532396261646532386264646632366330646632356332646632336335653032316338653032306361653131666364653131646430653131636432653231626435653231616438653231396461653331396464653331386466653331386532653431386535653431396537653431396561653531616563653531626566653531636631653531646634653631656636653632306638653632316662653732336664653732352229293b0a0a766172206d61676d61203d2072616d70243128636f6c6f727328223030303030343031303030353031303130363031303130383032303130393032303230623032303230643033303330663033303331323034303431343035303431363036303531383036303531613037303631633038303731653039303732303061303832323062303932343063303932363064306132393065306232623130306232643131306332663132306433313133306433343134306533363135306533383136306633623138306633643139313033663161313034323163313034343164313134373165313134393230313134623231313134653232313135303234313235333235313235353237313235383239313135613261313135633263313135663264313136313266313136333331313136353333313036373334313036393336313036623338313036633339306636653362306637303364306637313366306637323430306637343432306637353434306637363435313037373437313037383439313037383461313037393463313137613465313137623466313237623531313237633532313337633534313337643536313437643537313537653539313537653561313637653563313637663564313737663566313837663630313838303632313938303634316138303635316138303637316238303638316338313661316338313662316438313664316438313665316538313730316638313732316638313733323038313735323138313736323138313738323238313739323238323762323338323763323338323765323438323830323538323831323538313833323638313834323638313836323738313838323738313839323838313862323938313863323938313865326138313930326138313931326238313933326238303934326338303936326338303938326438303939326438303962326537663963326537663965326637666130326637666131333037656133333037656135333137656136333137646138333237646161333337646162333337636164333437636165333437626230333537626232333537626233333637616235333637616237333737396238333737396261333837386263333937386264333937376266336137376330336137366332336237356334336337356335336337346337336437336338336537336361336537326363336637316364343037316366343037306430343136666432343236666433343336656435343436646436343536636438343536636439343636626462343736616463343836396465343936386466346136386530346336376532346436366533346536356534346636346535353036346537353236336538353336326539353436326561353636316562353736306563353836306564356135666565356235656566356435656630356635656631363035646632363235646632363435636633363535636634363735636634363935636635366235636636366335636636366535636637373035636637373235636638373435636638373635636639373835646639373935646639376235646661376435656661376635656661383135666662383335666662383536306662383736316663383936316663386136326663386336336663386536346663393036356664393236366664393436376664393636386664393836396664396136616664396236626665396436636665396636646665613136656665613336666665613537316665613737326665613937336665616137346665616337366665616537376665623037386665623237616665623437626665623637636665623737656665623937666665626238316665626438326665626638346665633138356665633238376665633438386665633638616665633838636665636138646665636338666665636439306665636639326665643139346665643339356665643539376665643739396665643839616664646139636664646339656664646561306664653061316664653261336664653361356664653561376664653761396664653961616664656261636663656361656663656562306663663062326663663262346663663462366663663662386663663762396663663962626663666262646663666462662229293b0a0a76617220696e6665726e6f203d2072616d70243128636f6c6f727328223030303030343031303030353031303130363031303130383032303130613032303230633032303230653033303231303034303331323034303331343035303431373036303431393037303531623038303531643039303631663061303732323062303732343063303832363064303832393065303932623130303932643131306133303132306133323134306233343135306233373136306233393138306333633139306333653162306334313163306334333165306334353166306334383231306334613233306334633234306334663236306335313238306235333239306235353262306235373264306235393266306135623331306135633332306135653334306135663336303936313338303936323339303936333362303936343364303936353365303936363430306136373432306136383434306136383435306136393437306236613439306236613461306336623463306336623464306436633466306436633531306536633532306536643534306636643535306636643537313036653539313036653561313136653563313236653564313236653566313336653631313336653632313436653634313536653635313536653637313636653639313636653661313736653663313836653664313836653666313936653731313936653732316136653734316136653735316236653737316336643738316336643761316436643763316436643764316536643766316536633830316636633832323036633834323036623835323136623837323136623838323236613861323236613863323336393864323336393866323436393930323536383932323536383933323636373935323636373937323736363938323736363961323836353962323936343964323936343966326136336130326136336132326236326133326336316135326336306136326436306138326535666139326535656162326635656164333035646165333035636230333135626231333235616233333235616234333335396236333435386237333535376239333535366261333635356263333735346264333835336266333935326330336135316331336135306333336234666334336334656336336434646337336534636338336634626361343034616362343134396363343234386365343334376366343434366430343534356432343634346433343734336434343834326435346134316437346233666438346333656439346433646461346533636462353033626464353133616465353233386466353333376530353533366531353633356532353733346533353933336534356133316535356333306536356432666537356532656538363032646539363132626561363332616562363432396562363632386563363732366564363932356565366132346566366332336566366532316630366632306631373131666631373331646632373431636633373631626633373831396634373931386635376231376635376431356636376531346636383031336637383231326637383431306638383530666638383730656638383930636639386230626639386330616639386530396661393030386661393230376661393430376662393630366662393730366662393930366662396230366662396430376663396630376663613130386663613330396663613530616663613630636663613830646663616130666663616331316663616531326663623031346663623231366663623431386662623631616662623831646662626131666662626332316662626532336661633032366661633232386661633432616661633632646639633732666639633933326639636233356638636433376638636633616637643133646637643334306636643534336636643734366635643934396635646234636634646434666634646635336634653135366633653335616633653535646632653636316632653836356632656136396631656336646631656437316631656637356631663137396632663237646632663438326633663538366633663638616634663838656635663939326636666139366638666239616639666339646661666461316663666661342229293b0a0a76617220706c61736d61203d2072616d70243128636f6c6f727328223064303838373130303738383133303738393136303738613139303638633162303638643164303638653230303638663232303639303234303639313236303539313238303539323261303539333263303539343265303539353266303539363331303539373333303539373335303439383337303439393338303439613361303439613363303439623365303439633366303439633431303439643433303339653434303339653436303339663438303339663439303361303462303361313463303261313465303261323530303261323531303261333533303261333535303261343536303161343538303161343539303161353562303161353563303161363565303161363630303161363631303061373633303061373634303061373636303061373637303061383639303061383661303061383663303061383665303061383666303061383731303061383732303161383734303161383735303161383737303161383738303161383761303261383762303261383764303361383765303361383830303461383831303461373833303561373834303561373836303661363837303761363838303861363861303961353862306161353864306261353865306361343866306461343931306561333932306661333934313061323935313161313936313361313938313461303939313539663961313639663963313739653964313839643965313939646130316139636131316239626132316439616133316539616135316639396136323039386137323139376138323239366161323339356162323439346163323639346164323739336165323839326230323939316231326139306232326238666233326338656234326538646235326638636236333038626237333138616238333238396261333338386262333438386263333538376264333738366265333838356266333938346330336138336331336238326332336338316333336438306334336537666335343037656336343137646337343237636338343337626339343437616361343537616362343637396363343737386363343937376364346137366365346237356366346337346430346437336431346537326432346637316433353137316434353237306435353336666435353436656436353536646437353636636438353736626439353836616461356136616461356236396462356336386463356436376464356536366465356636356465363136346466363236336530363336336531363436326532363536316532363636306533363835666534363935656535366135646535366235646536366335636537366535626537366635616538373035396539373135386539373235376561373435376562373535366562373635356563373735346564373935336564376135326565376235316566376335316566376535306630376634666630383034656631383134646631383334636632383434626633383534626633383734616634383834396634383934386635386234376635386334366636386434356636386634346637393034346637393134336637393334326638393434316638393534306639393733666639393833656639396133656661396233646661396333636661396533626662396633616662613133396662613233386663613333386663613533376663613633366663613833356663613933346664616233336664616333336664616533326664616633316664623133306664623232666664623432666664623532656665623732646665623832636665626132636665626232626665626432616665626532616665633032396664633232396664633332386664633532376664633632376664633832376664636132366664636232366663636432356663636532356663643032356663643232356662643332346662643532346662643732346661643832346661646132346639646332346639646432356638646632356638653132356637653232356637653432356636653632366636653832366635653932366635656232376634656432376633656532376633663032376632663232376631663432366631663532356630663732346630663932312229293b0a0a66756e6374696f6e20636f6e7374616e74243131287829207b0a202072657475726e2066756e6374696f6e20636f6e7374616e742829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a766172206162732431203d204d6174682e6162733b0a766172206174616e322431203d204d6174682e6174616e323b0a76617220636f732432203d204d6174682e636f733b0a766172206d61782432203d204d6174682e6d61783b0a766172206d696e2431203d204d6174682e6d696e3b0a7661722073696e2432203d204d6174682e73696e3b0a76617220737172742432203d204d6174682e737172743b0a0a76617220657073696c6f6e2433203d2031652d31323b0a7661722070692434203d204d6174682e50493b0a7661722068616c6650692433203d2070692434202f20323b0a766172207461752434203d2032202a20706924343b0a0a66756e6374696f6e2061636f732431287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f2070692434203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e2431287829207b0a202072657475726e2078203e3d2031203f2068616c6650692433203a2078203c3d202d31203f202d68616c6650692433203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20617263496e6e6572526164697573286429207b0a202072657475726e20642e696e6e65725261646975733b0a7d0a0a66756e6374696f6e206172634f75746572526164697573286429207b0a202072657475726e20642e6f757465725261646975733b0a7d0a0a66756e6374696f6e206172635374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e20617263456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20617263506164416e676c65286429207b0a202072657475726e206420262620642e706164416e676c653b202f2f204e6f74653a206f7074696f6e616c210a7d0a0a66756e6374696f6e20696e746572736563742878302c2079302c2078312c2079312c2078322c2079322c2078332c20793329207b0a202076617220783130203d207831202d2078302c20793130203d207931202d2079302c0a202020202020783332203d207833202d2078322c20793332203d207933202d2079322c0a20202020202074203d2028783332202a20287930202d20793229202d20793332202a20287830202d2078322929202f2028793332202a20783130202d20783332202a20793130293b0a202072657475726e205b7830202b2074202a207831302c207930202b2074202a207931305d3b0a7d0a0a2f2f20436f6d707574652070657270656e646963756c6172206f6666736574206c696e65206f66206c656e6774682072632e0a2f2f20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f436972636c652d4c696e65496e74657273656374696f6e2e68746d6c0a66756e6374696f6e20636f726e657254616e67656e74732878302c2079302c2078312c2079312c2072312c2072632c20637729207b0a202076617220783031203d207830202d2078312c0a202020202020793031203d207930202d2079312c0a2020202020206c6f203d20286377203f207263203a202d726329202f2073717274243228783031202a20783031202b20793031202a20793031292c0a2020202020206f78203d206c6f202a207930312c0a2020202020206f79203d202d6c6f202a207830312c0a202020202020783131203d207830202b206f782c0a202020202020793131203d207930202b206f792c0a202020202020783130203d207831202b206f782c0a202020202020793130203d207931202b206f792c0a202020202020783030203d2028783131202b2078313029202f20322c0a202020202020793030203d2028793131202b2079313029202f20322c0a2020202020206478203d20783130202d207831312c0a2020202020206479203d20793130202d207931312c0a2020202020206432203d206478202a206478202b206479202a2064792c0a20202020202072203d207231202d2072632c0a20202020202044203d20783131202a20793130202d20783130202a207931312c0a20202020202064203d20286479203c2030203f202d31203a203129202a20737172742432286d6178243228302c2072202a2072202a206432202d2044202a204429292c0a202020202020637830203d202844202a206479202d206478202a206429202f2064322c0a202020202020637930203d20282d44202a206478202d206479202a206429202f2064322c0a202020202020637831203d202844202a206479202b206478202a206429202f2064322c0a202020202020637931203d20282d44202a206478202b206479202a206429202f2064322c0a202020202020647830203d20637830202d207830302c0a202020202020647930203d20637930202d207930302c0a202020202020647831203d20637831202d207830302c0a202020202020647931203d20637931202d207930303b0a0a20202f2f205069636b2074686520636c6f736572206f66207468652074776f20696e74657273656374696f6e20706f696e74732e0a20202f2f20544f444f2049732074686572652061206661737465722077617920746f2064657465726d696e6520776869636820696e74657273656374696f6e20746f207573653f0a202069662028647830202a20647830202b20647930202a20647930203e20647831202a20647831202b20647931202a206479312920637830203d206378312c20637930203d206379313b0a0a202072657475726e207b0a2020202063783a206378302c0a2020202063793a206379302c0a202020207830313a202d6f782c0a202020207930313a202d6f792c0a202020207831313a20637830202a20287231202f2072202d2031292c0a202020207931313a20637930202a20287231202f2072202d2031290a20207d3b0a7d0a0a66756e6374696f6e206172632829207b0a202076617220696e6e6572526164697573203d20617263496e6e65725261646975732c0a2020202020206f75746572526164697573203d206172634f757465725261646975732c0a202020202020636f726e6572526164697573203d20636f6e7374616e742431312830292c0a202020202020706164526164697573203d206e756c6c2c0a2020202020207374617274416e676c65203d206172635374617274416e676c652c0a202020202020656e64416e676c65203d20617263456e64416e676c652c0a202020202020706164416e676c65203d20617263506164416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206172632829207b0a20202020766172206275666665722c0a2020202020202020722c0a20202020202020207230203d202b696e6e65725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020207231203d202b6f757465725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206130203d207374617274416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c66506924332c0a20202020202020206131203d20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c66506924332c0a20202020202020206461203d206162732431286131202d206130292c0a20202020202020206377203d206131203e2061303b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a0a202020202f2f20456e73757265207468617420746865206f757465722072616469757320697320616c77617973206c6172676572207468616e2074686520696e6e6572207261646975732e0a20202020696620287231203c207230292072203d2072312c207231203d2072302c207230203d20723b0a0a202020202f2f204973206974206120706f696e743f0a202020206966202821287231203e20657073696c6f6e2433292920636f6e746578742e6d6f7665546f28302c2030293b0a0a202020202f2f204f72206973206974206120636972636c65206f7220616e6e756c75733f0a20202020656c736520696620286461203e207461752434202d20657073696c6f6e243329207b0a202020202020636f6e746578742e6d6f7665546f287231202a20636f732432286130292c207231202a2073696e243228613029293b0a202020202020636f6e746578742e61726328302c20302c2072312c2061302c2061312c20216377293b0a202020202020696620287230203e20657073696c6f6e243329207b0a2020202020202020636f6e746578742e6d6f7665546f287230202a20636f732432286131292c207230202a2073696e243228613129293b0a2020202020202020636f6e746578742e61726328302c20302c2072302c2061312c2061302c206377293b0a2020202020207d0a202020207d0a0a202020202f2f204f7220697320697420612063697263756c6172206f7220616e6e756c617220736563746f723f0a20202020656c7365207b0a20202020202076617220613031203d2061302c0a20202020202020202020613131203d2061312c0a20202020202020202020613030203d2061302c0a20202020202020202020613130203d2061312c0a20202020202020202020646130203d2064612c0a20202020202020202020646131203d2064612c0a202020202020202020206170203d20706164416e676c652e6170706c7928746869732c20617267756d656e747329202f20322c0a202020202020202020207270203d20286170203e20657073696c6f6e2433292026262028706164526164697573203f202b7061645261646975732e6170706c7928746869732c20617267756d656e747329203a20737172742432287230202a207230202b207231202a20723129292c0a202020202020202020207263203d206d696e2431286162732431287231202d20723029202f20322c202b636f726e65725261646975732e6170706c7928746869732c20617267756d656e747329292c0a20202020202020202020726330203d2072632c0a20202020202020202020726331203d2072632c0a2020202020202020202074302c0a2020202020202020202074313b0a0a2020202020202f2f204170706c792070616464696e673f204e6f746520746861742073696e636520723120e289a52072302c2064613120e289a5206461302e0a202020202020696620287270203e20657073696c6f6e243329207b0a2020202020202020766172207030203d206173696e2431287270202f207230202a2073696e243228617029292c0a2020202020202020202020207031203d206173696e2431287270202f207231202a2073696e243228617029293b0a20202020202020206966202828646130202d3d207030202a203229203e20657073696c6f6e243329207030202a3d20286377203f2031203a202d31292c20613030202b3d2070302c20613130202d3d2070303b0a2020202020202020656c736520646130203d20302c20613030203d20613130203d20286130202b20613129202f20323b0a20202020202020206966202828646131202d3d207031202a203229203e20657073696c6f6e243329207031202a3d20286377203f2031203a202d31292c20613031202b3d2070312c20613131202d3d2070313b0a2020202020202020656c736520646131203d20302c20613031203d20613131203d20286130202b20613129202f20323b0a2020202020207d0a0a20202020202076617220783031203d207231202a20636f73243228613031292c0a20202020202020202020793031203d207231202a2073696e243228613031292c0a20202020202020202020783130203d207230202a20636f73243228613130292c0a20202020202020202020793130203d207230202a2073696e243228613130293b0a0a2020202020202f2f204170706c7920726f756e64656420636f726e6572733f0a202020202020696620287263203e20657073696c6f6e243329207b0a202020202020202076617220783131203d207231202a20636f73243228613131292c0a202020202020202020202020793131203d207231202a2073696e243228613131292c0a202020202020202020202020783030203d207230202a20636f73243228613030292c0a202020202020202020202020793030203d207230202a2073696e243228613030293b0a0a20202020202020202f2f2052657374726963742074686520636f726e657220726164697573206163636f7264696e6720746f2074686520736563746f7220616e676c652e0a2020202020202020696620286461203c207069243429207b0a20202020202020202020766172206f63203d20646130203e20657073696c6f6e2433203f20696e74657273656374287830312c207930312c207830302c207930302c207831312c207931312c207831302c2079313029203a205b7831302c207931305d2c0a20202020202020202020202020206178203d20783031202d206f635b305d2c0a20202020202020202020202020206179203d20793031202d206f635b315d2c0a20202020202020202020202020206278203d20783131202d206f635b305d2c0a20202020202020202020202020206279203d20793131202d206f635b315d2c0a20202020202020202020202020206b63203d2031202f2073696e24322861636f73243128286178202a206278202b206179202a20627929202f2028737172742432286178202a206178202b206179202a20617929202a20737172742432286278202a206278202b206279202a206279292929202f2032292c0a20202020202020202020202020206c63203d20737172742432286f635b305d202a206f635b305d202b206f635b315d202a206f635b315d293b0a20202020202020202020726330203d206d696e24312872632c20287230202d206c6329202f20286b63202d203129293b0a20202020202020202020726331203d206d696e24312872632c20287231202d206c6329202f20286b63202b203129293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f2049732074686520736563746f7220636f6c6c617073656420746f2061206c696e653f0a202020202020696620282128646131203e20657073696c6f6e2433292920636f6e746578742e6d6f7665546f287830312c20793031293b0a0a2020202020202f2f20446f65732074686520736563746f72e2809973206f757465722072696e67206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726331203e20657073696c6f6e243329207b0a20202020202020207430203d20636f726e657254616e67656e7473287830302c207930302c207830312c207930312c2072312c207263312c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287831312c207931312c207831302c207931302c2072312c207263312c206377293b0a0a2020202020202020636f6e746578742e6d6f7665546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726331203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072312c206174616e3224312874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e3224312874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c20216377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263312c206174616e3224312874312e7931312c2074312e783131292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f7220697320746865206f757465722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e6d6f7665546f287830312c20793031292c20636f6e746578742e61726328302c20302c2072312c206130312c206131312c20216377293b0a0a2020202020202f2f204973207468657265206e6f20696e6e65722072696e672c20616e64206974e280997320612063697263756c617220736563746f723f0a2020202020202f2f204f722070657268617073206974e280997320616e20616e6e756c617220736563746f7220636f6c6c61707365642064756520746f2070616464696e673f0a2020202020206966202821287230203e20657073696c6f6e243329207c7c202128646130203e20657073696c6f6e2433292920636f6e746578742e6c696e65546f287831302c20793130293b0a0a2020202020202f2f20446f65732074686520736563746f72e280997320696e6e65722072696e6720286f7220706f696e7429206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726330203e20657073696c6f6e243329207b0a20202020202020207430203d20636f726e657254616e67656e7473287831302c207931302c207831312c207931312c2072302c202d7263302c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287830312c207930312c207830302c207930302c2072302c202d7263302c206377293b0a0a2020202020202020636f6e746578742e6c696e65546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726330203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072302c206174616e3224312874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e3224312874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c206377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263302c206174616e3224312874312e7931312c2074312e783131292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f722069732074686520696e6e65722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e61726328302c20302c2072302c206131302c206130302c206377293b0a202020207d0a0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206172632e63656e74726f6964203d2066756e6374696f6e2829207b0a202020207661722072203d20282b696e6e65725261646975732e6170706c7928746869732c20617267756d656e747329202b202b6f757465725261646975732e6170706c7928746869732c20617267756d656e74732929202f20322c0a202020202020202061203d20282b7374617274416e676c652e6170706c7928746869732c20617267756d656e747329202b202b656e64416e676c652e6170706c7928746869732c20617267756d656e74732929202f2032202d2070692434202f20323b0a2020202072657475726e205b636f732432286129202a20722c2073696e2432286129202a20725d3b0a20207d3b0a0a20206172632e696e6e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e6e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20696e6e65725261646975733b0a20207d3b0a0a20206172632e6f75746572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f75746572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a206f757465725261646975733b0a20207d3b0a0a20206172632e636f726e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f726e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20636f726e65725261646975733b0a20207d3b0a0a20206172632e706164526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164526164697573203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a207061645261646975733b0a20207d3b0a0a20206172632e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a207374617274416e676c653b0a20207d3b0a0a20206172632e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20656e64416e676c653b0a20207d3b0a0a20206172632e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20706164416e676c653b0a20207d3b0a0a20206172632e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2061726329203a20636f6e746578743b0a20207d3b0a0a202072657475726e206172633b0a7d0a0a66756e6374696f6e204c696e65617228636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e6561722e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a20746869732e5f636f6e746578742e6c696e65546f28782c2079293b20627265616b3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2063757276654c696e65617228636f6e7465787429207b0a202072657475726e206e6577204c696e65617228636f6e74657874293b0a7d0a0a66756e6374696f6e20782433287029207b0a202072657475726e20705b305d3b0a7d0a0a66756e6374696f6e20792433287029207b0a202072657475726e20705b315d3b0a7d0a0a66756e6374696f6e206c696e652829207b0a20207661722078242431203d207824332c0a20202020202079242431203d207924332c0a202020202020646566696e6564203d20636f6e7374616e742431312874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e206c696e65286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665723b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d20706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029206f75747075742e6c696e65537461727428293b0a2020202020202020656c7365206f75747075742e6c696e65456e6428293b0a2020202020207d0a20202020202069662028646566696e65643029206f75747075742e706f696e74282b7824243128642c20692c2064617461292c202b7924243128642c20692c206461746129293b0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6529203a20782424313b0a20207d3b0a0a20206c696e652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6529203a20792424313b0a20207d3b0a0a20206c696e652e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431312821215f292c206c696e6529203a20646566696e65643b0a20207d3b0a0a20206c696e652e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206c696e6529203a2063757276653b0a20207d3b0a0a20206c696e652e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206c696e6529203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e653b0a7d0a0a66756e6374696f6e206172656124332829207b0a2020766172207830203d207824332c0a2020202020207831203d206e756c6c2c0a2020202020207930203d20636f6e7374616e742431312830292c0a2020202020207931203d207924332c0a202020202020646566696e6564203d20636f6e7374616e742431312874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e2061726561286461746129207b0a2020202076617220692c0a20202020202020206a2c0a20202020202020206b2c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665722c0a202020202020202078307a203d206e6577204172726179286e292c0a202020202020202079307a203d206e6577204172726179286e293b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d20706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029207b0a202020202020202020206a203d20693b0a202020202020202020206f75747075742e61726561537461727428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020207d20656c7365207b0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020202020666f7220286b203d2069202d20313b206b203e3d206a3b202d2d6b29207b0a2020202020202020202020206f75747075742e706f696e742878307a5b6b5d2c2079307a5b6b5d293b0a202020202020202020207d0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e61726561456e6428293b0a20202020202020207d0a2020202020207d0a20202020202069662028646566696e65643029207b0a202020202020202078307a5b695d203d202b783028642c20692c2064617461292c2079307a5b695d203d202b793028642c20692c2064617461293b0a20202020202020206f75747075742e706f696e74287831203f202b783128642c20692c206461746129203a2078307a5b695d2c207931203f202b793128642c20692c206461746129203a2079307a5b695d293b0a2020202020207d0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202066756e6374696f6e20617265616c696e652829207b0a2020202072657475726e206c696e6528292e646566696e656428646566696e6564292e6375727665286375727665292e636f6e7465787428636f6e74657874293b0a20207d0a0a2020617265612e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c207831203d206e756c6c2c206172656129203a2078303b0a20207d3b0a0a2020617265612e7830203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2078303b0a20207d3b0a0a2020617265612e7831203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287831203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2078313b0a20207d3b0a0a2020617265612e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c207931203d206e756c6c2c206172656129203a2079303b0a20207d3b0a0a2020617265612e7930203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2079303b0a20207d3b0a0a2020617265612e7931203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287931203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2079313b0a20207d3b0a0a2020617265612e6c696e655830203d0a2020617265612e6c696e655930203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287930293b0a20207d3b0a0a2020617265612e6c696e655931203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287931293b0a20207d3b0a0a2020617265612e6c696e655831203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287831292e79287930293b0a20207d3b0a0a2020617265612e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431312821215f292c206172656129203a20646566696e65643b0a20207d3b0a0a2020617265612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206172656129203a2063757276653b0a20207d3b0a0a2020617265612e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206172656129203a20636f6e746578743b0a20207d3b0a0a202072657475726e20617265613b0a7d0a0a66756e6374696f6e2064657363656e64696e67243128612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206964656e746974792437286429207b0a202072657475726e20643b0a7d0a0a66756e6374696f6e207069652829207b0a20207661722076616c7565203d206964656e7469747924372c0a202020202020736f727456616c756573203d2064657363656e64696e6724312c0a202020202020736f7274203d206e756c6c2c0a2020202020207374617274416e676c65203d20636f6e7374616e742431312830292c0a202020202020656e64416e676c65203d20636f6e7374616e74243131287461752434292c0a202020202020706164416e676c65203d20636f6e7374616e742431312830293b0a0a202066756e6374696f6e20706965286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a20202020202020206a2c0a20202020202020206b2c0a202020202020202073756d203d20302c0a2020202020202020696e646578203d206e6577204172726179286e292c0a202020202020202061726373203d206e6577204172726179286e292c0a20202020202020206130203d202b7374617274416e676c652e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206461203d204d6174682e6d696e2874617524342c204d6174682e6d6178282d74617524342c20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d20613029292c0a202020202020202061312c0a202020202020202070203d204d6174682e6d696e284d6174682e61627328646129202f206e2c20706164416e676c652e6170706c7928746869732c20617267756d656e747329292c0a20202020202020207061203d2070202a20286461203c2030203f202d31203a2031292c0a2020202020202020763b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020696620282876203d20617263735b696e6465785b695d203d20695d203d202b76616c756528646174615b695d2c20692c20646174612929203e203029207b0a202020202020202073756d202b3d20763b0a2020202020207d0a202020207d0a0a202020202f2f204f7074696f6e616c6c7920736f72742074686520617263732062792070726576696f75736c792d636f6d70757465642076616c756573206f7220627920646174612e0a2020202069662028736f727456616c75657320213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727456616c75657328617263735b695d2c20617263735b6a5d293b207d293b0a20202020656c73652069662028736f727420213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727428646174615b695d2c20646174615b6a5d293b207d293b0a0a202020202f2f20436f6d70757465207468652061726373212054686579206172652073746f72656420696e20746865206f726967696e616c20646174612773206f726465722e0a20202020666f72202869203d20302c206b203d2073756d203f20286461202d206e202a20706129202f2073756d203a20303b2069203c206e3b202b2b692c206130203d20613129207b0a2020202020206a203d20696e6465785b695d2c2076203d20617263735b6a5d2c206131203d206130202b202876203e2030203f2076202a206b203a203029202b2070612c20617263735b6a5d203d207b0a2020202020202020646174613a20646174615b6a5d2c0a2020202020202020696e6465783a20692c0a202020202020202076616c75653a20762c0a20202020202020207374617274416e676c653a2061302c0a2020202020202020656e64416e676c653a2061312c0a2020202020202020706164416e676c653a20700a2020202020207d3b0a202020207d0a0a2020202072657475726e20617263733b0a20207d0a0a20207069652e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a2076616c75653b0a20207d3b0a0a20207069652e736f727456616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727456616c756573203d205f2c20736f7274203d206e756c6c2c2070696529203a20736f727456616c7565733b0a20207d3b0a0a20207069652e736f7274203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f7274203d205f2c20736f727456616c756573203d206e756c6c2c2070696529203a20736f72743b0a20207d3b0a0a20207069652e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a207374617274416e676c653b0a20207d3b0a0a20207069652e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a20656e64416e676c653b0a20207d3b0a0a20207069652e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a20706164416e676c653b0a20207d3b0a0a202072657475726e207069653b0a7d0a0a76617220637572766552616469616c4c696e656172203d20637572766552616469616c2863757276654c696e656172293b0a0a66756e6374696f6e2052616469616c28637572766529207b0a2020746869732e5f6375727665203d2063757276653b0a7d0a0a52616469616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561537461727428293b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561456e6428293b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28612c207229207b0a20202020746869732e5f63757276652e706f696e742872202a204d6174682e73696e2861292c2072202a202d4d6174682e636f73286129293b0a20207d0a7d3b0a0a66756e6374696f6e20637572766552616469616c28637572766529207b0a0a202066756e6374696f6e2072616469616c28636f6e7465787429207b0a2020202072657475726e206e65772052616469616c28637572766528636f6e7465787429293b0a20207d0a0a202072616469616c2e5f6375727665203d2063757276653b0a0a202072657475726e2072616469616c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c286c29207b0a20207661722063203d206c2e63757276653b0a0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a0a20206c2e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e206c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c24312829207b0a202072657475726e206c696e6552616469616c286c696e6528292e637572766528637572766552616469616c4c696e65617229293b0a7d0a0a66756e6374696f6e206172656152616469616c2829207b0a20207661722061203d2061726561243328292e637572766528637572766552616469616c4c696e656172292c0a20202020202063203d20612e63757276652c0a2020202020207830203d20612e6c696e6558302c0a2020202020207831203d20612e6c696e6558312c0a2020202020207930203d20612e6c696e6559302c0a2020202020207931203d20612e6c696e6559313b0a0a2020612e616e676c65203d20612e782c2064656c65746520612e783b0a2020612e7374617274416e676c65203d20612e78302c2064656c65746520612e78303b0a2020612e656e64416e676c65203d20612e78312c2064656c65746520612e78313b0a2020612e726164697573203d20612e792c2064656c65746520612e793b0a2020612e696e6e6572526164697573203d20612e79302c2064656c65746520612e79303b0a2020612e6f75746572526164697573203d20612e79312c2064656c65746520612e79313b0a2020612e6c696e655374617274416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878302829293b207d2c2064656c65746520612e6c696e6558303b0a2020612e6c696e65456e64416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878312829293b207d2c2064656c65746520612e6c696e6558313b0a2020612e6c696e65496e6e6572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879302829293b207d2c2064656c65746520612e6c696e6559303b0a2020612e6c696e654f75746572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879312829293b207d2c2064656c65746520612e6c696e6559313b0a0a2020612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e20613b0a7d0a0a66756e6374696f6e20706f696e7452616469616c28782c207929207b0a202072657475726e205b2879203d202b7929202a204d6174682e636f732878202d3d204d6174682e5049202f2032292c2079202a204d6174682e73696e2878295d3b0a7d0a0a76617220736c6963652436203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206c696e6b536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e206c696e6b546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e206c696e6b243228637572766529207b0a202076617220736f75726365203d206c696e6b536f757263652c0a202020202020746172676574203d206c696e6b5461726765742c0a20202020202078242431203d207824332c0a20202020202079242431203d207924332c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206c696e6b2829207b0a20202020766172206275666665722c2061726776203d20736c69636524362e63616c6c28617267756d656e7473292c2073203d20736f757263652e6170706c7928746869732c2061726776292c2074203d207461726765742e6170706c7928746869732c2061726776293b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a20202020637572766528636f6e746578742c202b782424312e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c202b792424312e6170706c7928746869732c2061726776292c202b782424312e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c202b792424312e6170706c7928746869732c206172677629293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e6b2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c206c696e6b29203a20736f757263653b0a20207d3b0a0a20206c696e6b2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c206c696e6b29203a207461726765743b0a20207d3b0a0a20206c696e6b2e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6b29203a20782424313b0a20207d3b0a0a20206c696e6b2e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6b29203a20792424313b0a20207d3b0a0a20206c696e6b2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c206c696e6b29203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e6b3b0a7d0a0a66756e6374696f6e206375727665486f72697a6f6e74616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f287830203d20287830202b20783129202f20322c2079302c2078302c2079312c2078312c207931293b0a7d0a0a66756e6374696f6e206375727665566572746963616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f2878302c207930203d20287930202b20793129202f20322c2078312c2079302c2078312c207931293b0a7d0a0a66756e6374696f6e20637572766552616469616c243128636f6e746578742c2078302c2079302c2078312c20793129207b0a2020766172207030203d20706f696e7452616469616c2878302c207930292c0a2020202020207031203d20706f696e7452616469616c2878302c207930203d20287930202b20793129202f2032292c0a2020202020207032203d20706f696e7452616469616c2878312c207930292c0a2020202020207033203d20706f696e7452616469616c2878312c207931293b0a2020636f6e746578742e6d6f7665546f2870305b305d2c2070305b315d293b0a2020636f6e746578742e62657a6965724375727665546f2870315b305d2c2070315b315d2c2070325b305d2c2070325b315d2c2070335b305d2c2070335b315d293b0a7d0a0a66756e6374696f6e206c696e6b486f72697a6f6e74616c2829207b0a202072657475726e206c696e6b2432286375727665486f72697a6f6e74616c293b0a7d0a0a66756e6374696f6e206c696e6b566572746963616c2829207b0a202072657475726e206c696e6b2432286375727665566572746963616c293b0a7d0a0a66756e6374696f6e206c696e6b52616469616c2829207b0a2020766172206c203d206c696e6b243228637572766552616469616c2431293b0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a202072657475726e206c3b0a7d0a0a76617220636972636c652432203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2070692434293b0a20202020636f6e746578742e6d6f7665546f28722c2030293b0a20202020636f6e746578742e61726328302c20302c20722c20302c207461752434293b0a20207d0a7d3b0a0a7661722063726f73732432203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f203529202f20323b0a20202020636f6e746578742e6d6f7665546f282d33202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2072293b0a20202020636f6e746578742e6c696e65546f282d33202a20722c2072293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722074616e3330203d204d6174682e737172742831202f2033292c0a2020202074616e33305f32203d2074616e3330202a20323b0a0a766172206469616d6f6e64203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d204d6174682e737172742873697a65202f2074616e33305f32292c0a202020202020202078203d2079202a2074616e33303b0a20202020636f6e746578742e6d6f7665546f28302c202d79293b0a20202020636f6e746578742e6c696e65546f28782c2030293b0a20202020636f6e746578742e6c696e65546f28302c2079293b0a20202020636f6e746578742e6c696e65546f282d782c2030293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a766172206b61203d20302e38393038313330393135323932383532323831302c0a202020206b72203d204d6174682e73696e2870692434202f20313029202f204d6174682e73696e2837202a2070692434202f203130292c0a202020206b78203d204d6174682e73696e287461752434202f20313029202a206b722c0a202020206b79203d202d4d6174682e636f73287461752434202f20313029202a206b723b0a0a7661722073746172203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202a206b61292c0a202020202020202078203d206b78202a20722c0a202020202020202079203d206b79202a20723b0a20202020636f6e746578742e6d6f7665546f28302c202d72293b0a20202020636f6e746578742e6c696e65546f28782c2079293b0a20202020666f7220287661722069203d20313b2069203c20353b202b2b6929207b0a2020202020207661722061203d207461752434202a2069202f20352c0a2020202020202020202063203d204d6174682e636f732861292c0a2020202020202020202073203d204d6174682e73696e2861293b0a202020202020636f6e746578742e6c696e65546f2873202a20722c202d63202a2072293b0a202020202020636f6e746578742e6c696e65546f2863202a2078202d2073202a20792c2073202a2078202b2063202a2079293b0a202020207d0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220737175617265203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722077203d204d6174682e737172742873697a65292c0a202020202020202078203d202d77202f20323b0a20202020636f6e746578742e7265637428782c20782c20772c2077293b0a20207d0a7d3b0a0a766172207371727433203d204d6174682e737172742833293b0a0a76617220747269616e676c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d202d4d6174682e737172742873697a65202f20287371727433202a203329293b0a20202020636f6e746578742e6d6f7665546f28302c2079202a2032293b0a20202020636f6e746578742e6c696e65546f282d7371727433202a20792c202d79293b0a20202020636f6e746578742e6c696e65546f287371727433202a20792c202d79293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220632432203d202d302e352c0a2020202073203d204d6174682e73717274283329202f20322c0a202020206b203d2031202f204d6174682e73717274283132292c0a2020202061203d20286b202f2032202b203129202a20333b0a0a76617220777965203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2061292c0a20202020202020207830203d2072202f20322c0a20202020202020207930203d2072202a206b2c0a20202020202020207831203d2078302c0a20202020202020207931203d2072202a206b202b20722c0a20202020202020207832203d202d78312c0a20202020202020207932203d2079313b0a20202020636f6e746578742e6d6f7665546f2878302c207930293b0a20202020636f6e746578742e6c696e65546f2878312c207931293b0a20202020636f6e746578742e6c696e65546f2878322c207932293b0a20202020636f6e746578742e6c696e65546f28632432202a207830202d2073202a2079302c2073202a207830202b20632432202a207930293b0a20202020636f6e746578742e6c696e65546f28632432202a207831202d2073202a2079312c2073202a207831202b20632432202a207931293b0a20202020636f6e746578742e6c696e65546f28632432202a207832202d2073202a2079322c2073202a207832202b20632432202a207932293b0a20202020636f6e746578742e6c696e65546f28632432202a207830202b2073202a2079302c20632432202a207930202d2073202a207830293b0a20202020636f6e746578742e6c696e65546f28632432202a207831202b2073202a2079312c20632432202a207931202d2073202a207831293b0a20202020636f6e746578742e6c696e65546f28632432202a207832202b2073202a2079322c20632432202a207932202d2073202a207832293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722073796d626f6c73203d205b0a2020636972636c6524322c0a202063726f737324322c0a20206469616d6f6e642c0a20207371756172652c0a2020737461722c0a2020747269616e676c652c0a20207779650a5d3b0a0a66756e6374696f6e2073796d626f6c2829207b0a20207661722074797065203d20636f6e7374616e7424313128636972636c652432292c0a20202020202073697a65203d20636f6e7374616e74243131283634292c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e2073796d626f6c2829207b0a20202020766172206275666665723b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a20202020747970652e6170706c7928746869732c20617267756d656e7473292e6472617728636f6e746578742c202b73697a652e6170706c7928746869732c20617267756d656e747329293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202073796d626f6c2e74797065203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874797065203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131285f292c2073796d626f6c29203a20747970653b0a20207d3b0a0a202073796d626f6c2e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873697a65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2073796d626f6c29203a2073697a653b0a20207d3b0a0a202073796d626f6c2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2073796d626f6c29203a20636f6e746578743b0a20207d3b0a0a202072657475726e2073796d626f6c3b0a7d0a0a66756e6374696f6e206e6f6f7024332829207b7d0a0a66756e6374696f6e20706f696e74243228746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a202020202832202a20746861742e5f7830202b20746861742e5f783129202f20332c0a202020202832202a20746861742e5f7930202b20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2032202a20746861742e5f783129202f20332c0a2020202028746861742e5f7930202b2032202a20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2034202a20746861742e5f7831202b207829202f20362c0a2020202028746861742e5f7930202b2034202a20746861742e5f7931202b207929202f20360a2020293b0a7d0a0a66756e6374696f6e20426173697328636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369732e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520333a20706f696e74243228746869732c20746869732e5f78312c20746869732e5f7931293b202f2f2070726f636565640a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f636f6e746578742e6c696e65546f282835202a20746869732e5f7830202b20746869732e5f783129202f20362c202835202a20746869732e5f7930202b20746869732e5f793129202f2036293b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e206261736973243228636f6e7465787429207b0a202072657475726e206e657720426173697328636f6e74657874293b0a7d0a0a66756e6374696f6e204261736973436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4261736973436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7832202b2032202a20746869732e5f783329202f20332c2028746869732e5f7932202b2032202a20746869732e5f793329202f2033293b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f2828746869732e5f7833202b2032202a20746869732e5f783229202f20332c2028746869732e5f7933202b2032202a20746869732e5f793229202f2033293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7832203d20782c20746869732e5f7932203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7834203d20782c20746869732e5f7934203d20793b20746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f2036293b20627265616b3b0a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e206261736973436c6f736564243128636f6e7465787429207b0a202072657475726e206e6577204261736973436c6f73656428636f6e74657874293b0a7d0a0a66756e6374696f6e2042617369734f70656e28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369734f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20766172207830203d2028746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c207930203d2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f20363b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f2878302c20793029203a20746869732e5f636f6e746578742e6d6f7665546f2878302c207930293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e2062617369734f70656e28636f6e7465787429207b0a202072657475726e206e65772042617369734f70656e28636f6e74657874293b0a7d0a0a66756e6374696f6e2042756e646c6528636f6e746578742c206265746129207b0a2020746869732e5f6261736973203d206e657720426173697328636f6e74657874293b0a2020746869732e5f62657461203d20626574613b0a7d0a0a42756e646c652e70726f746f74797065203d207b0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20202020746869732e5f62617369732e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206a203d20782e6c656e677468202d20313b0a0a20202020696620286a203e203029207b0a202020202020766172207830203d20785b305d2c0a202020202020202020207930203d20795b305d2c0a202020202020202020206478203d20785b6a5d202d2078302c0a202020202020202020206479203d20795b6a5d202d2079302c0a2020202020202020202069203d202d312c0a20202020202020202020743b0a0a2020202020207768696c6520282b2b69203c3d206a29207b0a202020202020202074203d2069202f206a3b0a2020202020202020746869732e5f62617369732e706f696e74280a20202020202020202020746869732e5f62657461202a20785b695d202b202831202d20746869732e5f6265746129202a20287830202b2074202a206478292c0a20202020202020202020746869732e5f62657461202a20795b695d202b202831202d20746869732e5f6265746129202a20287930202b2074202a206479290a2020202020202020293b0a2020202020207d0a202020207d0a0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20202020746869732e5f62617369732e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a7661722062756e646c65203d202866756e6374696f6e20637573746f6d286265746129207b0a0a202066756e6374696f6e2062756e646c6528636f6e7465787429207b0a2020202072657475726e2062657461203d3d3d2031203f206e657720426173697328636f6e7465787429203a206e65772042756e646c6528636f6e746578742c2062657461293b0a20207d0a0a202062756e646c652e62657461203d2066756e6374696f6e286265746129207b0a2020202072657475726e20637573746f6d282b62657461293b0a20207d3b0a0a202072657475726e2062756e646c653b0a7d2928302e3835293b0a0a66756e6374696f6e20706f696e74243328746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a20202020746861742e5f7831202b20746861742e5f6b202a2028746861742e5f7832202d20746861742e5f7830292c0a20202020746861742e5f7931202b20746861742e5f6b202a2028746861742e5f7932202d20746861742e5f7930292c0a20202020746861742e5f7832202b20746861742e5f6b202a2028746861742e5f7831202d2078292c0a20202020746861742e5f7932202b20746861742e5f6b202a2028746861742e5f7931202d2079292c0a20202020746861742e5f78322c0a20202020746861742e5f79320a2020293b0a7d0a0a66756e6374696f6e2043617264696e616c28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20706f696e74243328746869732c20746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7831203d20782c20746869732e5f7931203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d292830293b0a0a66756e6374696f6e2043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c436c6f736564203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c24243128636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2424312e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c2424313b0a7d292830293b0a0a66756e6374696f6e2043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c4f70656e203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c24243128636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2424312e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c2424313b0a7d292830293b0a0a66756e6374696f6e20706f696e74243428746861742c20782c207929207b0a2020766172207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020207832203d20746861742e5f78322c0a2020202020207932203d20746861742e5f79323b0a0a202069662028746861742e5f6c30315f61203e20657073696c6f6e243329207b0a202020207661722061203d2032202a20746861742e5f6c30315f3261202b2033202a20746861742e5f6c30315f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206e203d2033202a20746861742e5f6c30315f61202a2028746861742e5f6c30315f61202b20746861742e5f6c31325f61293b0a202020207831203d20287831202a2061202d20746861742e5f7830202a20746861742e5f6c31325f3261202b20746861742e5f7832202a20746861742e5f6c30315f326129202f206e3b0a202020207931203d20287931202a2061202d20746861742e5f7930202a20746861742e5f6c31325f3261202b20746861742e5f7932202a20746861742e5f6c30315f326129202f206e3b0a20207d0a0a202069662028746861742e5f6c32335f61203e20657073696c6f6e243329207b0a202020207661722062203d2032202a20746861742e5f6c32335f3261202b2033202a20746861742e5f6c32335f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206d203d2033202a20746861742e5f6c32335f61202a2028746861742e5f6c32335f61202b20746861742e5f6c31325f61293b0a202020207832203d20287832202a2062202b20746861742e5f7831202a20746861742e5f6c32335f3261202d2078202a20746861742e5f6c31325f326129202f206d3b0a202020207932203d20287932202a2062202b20746861742e5f7931202a20746861742e5f6c32335f3261202d2079202a20746861742e5f6c31325f326129202f206d3b0a20207d0a0a2020746861742e5f636f6e746578742e62657a6965724375727665546f2878312c2079312c2078322c2079322c20746861742e5f78322c20746861742e5f7932293b0a7d0a0a66756e6374696f6e204361746d756c6c526f6d28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d28636f6e746578742c20616c70686129203a206e65772043617264696e616c28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d2928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d436c6f736564203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d24243128636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129203a206e65772043617264696e616c436c6f73656428636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2424312e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d2424313b0a7d2928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d4f70656e203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d24243128636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129203a206e65772043617264696e616c4f70656e28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2424312e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d2424313b0a7d2928302e35293b0a0a66756e6374696f6e204c696e656172436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e656172436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e636c6f73655061746828293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020656c736520746869732e5f706f696e74203d20312c20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a20207d0a7d3b0a0a66756e6374696f6e206c696e656172436c6f73656428636f6e7465787429207b0a202072657475726e206e6577204c696e656172436c6f73656428636f6e74657874293b0a7d0a0a66756e6374696f6e207369676e2431287829207b0a202072657475726e2078203c2030203f202d31203a20313b0a7d0a0a2f2f2043616c63756c6174652074686520736c6f706573206f66207468652074616e67656e747320284865726d6974652d7479706520696e746572706f6c6174696f6e29206261736564206f6e0a2f2f2074686520666f6c6c6f77696e672070617065723a205374656666656e2c204d2e20313939302e20412053696d706c65204d6574686f6420666f72204d6f6e6f746f6e69630a2f2f20496e746572706f6c6174696f6e20696e204f6e652044696d656e73696f6e2e20417374726f6e6f6d7920616e6420417374726f706879736963732c20566f6c2e203233392c204e4f2e0a2f2f204e4f56284949292c20502e203434332c20313939302e0a66756e6374696f6e20736c6f70653328746861742c2078322c20793229207b0a2020766172206830203d20746861742e5f7831202d20746861742e5f78302c0a2020202020206831203d207832202d20746861742e5f78312c0a2020202020207330203d2028746861742e5f7931202d20746861742e5f793029202f20286830207c7c206831203c2030202626202d30292c0a2020202020207331203d20287932202d20746861742e5f793129202f20286831207c7c206830203c2030202626202d30292c0a20202020202070203d20287330202a206831202b207331202a20683029202f20286830202b206831293b0a202072657475726e20287369676e243128733029202b207369676e24312873312929202a204d6174682e6d696e284d6174682e616273287330292c204d6174682e616273287331292c20302e35202a204d6174682e61627328702929207c7c20303b0a7d0a0a2f2f2043616c63756c6174652061206f6e652d736964656420736c6f70652e0a66756e6374696f6e20736c6f70653228746861742c207429207b0a20207661722068203d20746861742e5f7831202d20746861742e5f78303b0a202072657475726e2068203f202833202a2028746861742e5f7931202d20746861742e5f793029202f2068202d207429202f2032203a20743b0a7d0a0a2f2f204163636f7264696e6720746f2068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43756269635f4865726d6974655f73706c696e6523526570726573656e746174696f6e730a2f2f2022796f752063616e2065787072657373206375626963204865726d69746520696e746572706f6c6174696f6e20696e207465726d73206f662063756269632042c3a97a696572206375727665730a2f2f2077697468207265737065637420746f2074686520666f75722076616c7565732070302c207030202b206d30202f20332c207031202d206d31202f20332c207031222e0a66756e6374696f6e20706f696e74243528746861742c2074302c20743129207b0a2020766172207830203d20746861742e5f78302c0a2020202020207930203d20746861742e5f79302c0a2020202020207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020206478203d20287831202d20783029202f20333b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f287830202b2064782c207930202b206478202a2074302c207831202d2064782c207931202d206478202a2074312c2078312c207931293b0a7d0a0a66756e6374696f6e204d6f6e6f746f6e655828636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4d6f6e6f746f6e65582e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d0a20202020746869732e5f7430203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a2020202020206361736520333a20706f696e74243528746869732c20746869732e5f74302c20736c6f70653228746869732c20746869732e5f743029293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020766172207431203d204e614e3b0a0a2020202078203d202b782c2079203d202b793b0a202020206966202878203d3d3d20746869732e5f78312026262079203d3d3d20746869732e5f7931292072657475726e3b202f2f2049676e6f726520636f696e636964656e7420706f696e74732e0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20706f696e74243528746869732c20736c6f70653228746869732c207431203d20736c6f70653328746869732c20782c207929292c207431293b20627265616b3b0a20202020202064656661756c743a20706f696e74243528746869732c20746869732e5f74302c207431203d20736c6f70653328746869732c20782c207929293b20627265616b3b0a202020207d0a0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20202020746869732e5f7430203d2074313b0a20207d0a7d3b0a0a66756e6374696f6e204d6f6e6f746f6e655928636f6e7465787429207b0a2020746869732e5f636f6e74657874203d206e6577205265666c656374436f6e7465787428636f6e74657874293b0a7d0a0a284d6f6e6f746f6e65592e70726f746f74797065203d204f626a6563742e637265617465284d6f6e6f746f6e65582e70726f746f7479706529292e706f696e74203d2066756e6374696f6e28782c207929207b0a20204d6f6e6f746f6e65582e70726f746f747970652e706f696e742e63616c6c28746869732c20792c2078293b0a7d3b0a0a66756e6374696f6e205265666c656374436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a5265666c656374436f6e746578742e70726f746f74797065203d207b0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6d6f7665546f28792c2078293b207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b20746869732e5f636f6e746578742e636c6f73655061746828293b207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6c696e65546f28792c2078293b207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b20746869732e5f636f6e746578742e62657a6965724375727665546f2879312c2078312c2079322c2078322c20792c2078293b207d0a7d3b0a0a66756e6374696f6e206d6f6e6f746f6e655828636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655828636f6e74657874293b0a7d0a0a66756e6374696f6e206d6f6e6f746f6e655928636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655928636f6e74657874293b0a7d0a0a66756e6374696f6e204e61747572616c28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4e61747572616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206e203d20782e6c656e6774683b0a0a20202020696620286e29207b0a202020202020746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28785b305d2c20795b305d29203a20746869732e5f636f6e746578742e6d6f7665546f28785b305d2c20795b305d293b0a202020202020696620286e203d3d3d203229207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28785b315d2c20795b315d293b0a2020202020207d20656c7365207b0a2020202020202020766172207078203d20636f6e74726f6c506f696e74732878292c0a2020202020202020202020207079203d20636f6e74726f6c506f696e74732879293b0a2020202020202020666f722028766172206930203d20302c206931203d20313b206931203c206e3b202b2b69302c202b2b693129207b0a20202020202020202020746869732e5f636f6e746578742e62657a6965724375727665546f2870785b305d5b69305d2c2070795b305d5b69305d2c2070785b315d5b69305d2c2070795b315d5b69305d2c20785b69315d2c20795b69315d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d2030202626206e203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a2f2f205365652068747470733a2f2f7777772e7061727469636c65696e63656c6c2e636f6d2f323031322f62657a6965722d73706c696e65732f20666f722064657269766174696f6e2e0a66756e6374696f6e20636f6e74726f6c506f696e7473287829207b0a202076617220692c0a2020202020206e203d20782e6c656e677468202d20312c0a2020202020206d2c0a20202020202061203d206e6577204172726179286e292c0a20202020202062203d206e6577204172726179286e292c0a20202020202072203d206e6577204172726179286e293b0a2020615b305d203d20302c20625b305d203d20322c20725b305d203d20785b305d202b2032202a20785b315d3b0a2020666f72202869203d20313b2069203c206e202d20313b202b2b692920615b695d203d20312c20625b695d203d20342c20725b695d203d2034202a20785b695d202b2032202a20785b69202b20315d3b0a2020615b6e202d20315d203d20322c20625b6e202d20315d203d20372c20725b6e202d20315d203d2038202a20785b6e202d20315d202b20785b6e5d3b0a2020666f72202869203d20313b2069203c206e3b202b2b6929206d203d20615b695d202f20625b69202d20315d2c20625b695d202d3d206d2c20725b695d202d3d206d202a20725b69202d20315d3b0a2020615b6e202d20315d203d20725b6e202d20315d202f20625b6e202d20315d3b0a2020666f72202869203d206e202d20323b2069203e3d20303b202d2d692920615b695d203d2028725b695d202d20615b69202b20315d29202f20625b695d3b0a2020625b6e202d20315d203d2028785b6e5d202b20615b6e202d20315d29202f20323b0a2020666f72202869203d20303b2069203c206e202d20313b202b2b692920625b695d203d2032202a20785b69202b20315d202d20615b69202b20315d3b0a202072657475726e205b612c20625d3b0a7d0a0a66756e6374696f6e206e61747572616c28636f6e7465787429207b0a202072657475726e206e6577204e61747572616c28636f6e74657874293b0a7d0a0a66756e6374696f6e205374657028636f6e746578742c207429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f74203d20743b0a7d0a0a537465702e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d20746869732e5f79203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020206966202830203c20746869732e5f7420262620746869732e5f74203c203120262620746869732e5f706f696e74203d3d3d20322920746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c20746869732e5f79293b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202069662028746869732e5f6c696e65203e3d20302920746869732e5f74203d2031202d20746869732e5f742c20746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f74203c3d203029207b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c2079293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020202020207d20656c7365207b0a20202020202020202020766172207831203d20746869732e5f78202a202831202d20746869732e5f7429202b2078202a20746869732e5f743b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c20746869732e5f79293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c2079293b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20202020746869732e5f78203d20782c20746869732e5f79203d20793b0a20207d0a7d3b0a0a66756e6374696f6e207374657028636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c20302e35293b0a7d0a0a66756e6374696f6e20737465704265666f726528636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2030293b0a7d0a0a66756e6374696f6e2073746570416674657228636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2031293b0a7d0a0a66756e6374696f6e206e6f6e652431287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f7220287661722069203d20312c206a2c2073302c207331203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020207330203d2073312c207331203d207365726965735b6f726465725b695d5d3b0a20202020666f7220286a203d20303b206a203c206d3b202b2b6a29207b0a20202020202073315b6a5d5b315d202b3d2073315b6a5d5b305d203d2069734e614e2873305b6a5d5b315d29203f2073305b6a5d5b305d203a2073305b6a5d5b315d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e206e6f6e6524322873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c206f203d206e6577204172726179286e293b0a20207768696c6520282d2d6e203e3d203029206f5b6e5d203d206e3b0a202072657475726e206f3b0a7d0a0a66756e6374696f6e20737461636b56616c756528642c206b657929207b0a202072657475726e20645b6b65795d3b0a7d0a0a66756e6374696f6e20737461636b2829207b0a2020766172206b657973203d20636f6e7374616e74243131285b5d292c0a2020202020206f72646572203d206e6f6e6524322c0a2020202020206f6666736574203d206e6f6e6524312c0a20202020202076616c7565203d20737461636b56616c75653b0a0a202066756e6374696f6e20737461636b286461746129207b0a20202020766172206b7a203d206b6579732e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020692c0a20202020202020206d203d20646174612e6c656e6774682c0a20202020202020206e203d206b7a2e6c656e6774682c0a2020202020202020737a203d206e6577204172726179286e292c0a20202020202020206f7a3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020666f722028766172206b69203d206b7a5b695d2c207369203d20737a5b695d203d206e6577204172726179286d292c206a203d20302c2073696a3b206a203c206d3b202b2b6a29207b0a202020202020202073695b6a5d203d2073696a203d205b302c202b76616c756528646174615b6a5d2c206b692c206a2c2064617461295d3b0a202020202020202073696a2e64617461203d20646174615b6a5d3b0a2020202020207d0a20202020202073692e6b6579203d206b693b0a202020207d0a0a20202020666f72202869203d20302c206f7a203d206f7264657228737a293b2069203c206e3b202b2b6929207b0a202020202020737a5b6f7a5b695d5d2e696e646578203d20693b0a202020207d0a0a202020206f666673657428737a2c206f7a293b0a2020202072657475726e20737a3b0a20207d0a0a2020737461636b2e6b657973203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b657973203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424313128736c69636524362e63616c6c285f29292c20737461636b29203a206b6579733b0a20207d3b0a0a2020737461636b2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c20737461636b29203a2076616c75653b0a20207d3b0a0a2020737461636b2e6f72646572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f72646572203d205f203d3d206e756c6c203f206e6f6e652432203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424313128736c69636524362e63616c6c285f29292c20737461636b29203a206f726465723b0a20207d3b0a0a2020737461636b2e6f6666736574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f6666736574203d205f203d3d206e756c6c203f206e6f6e652431203a205f2c20737461636b29203a206f66667365743b0a20207d3b0a0a202072657475726e20737461636b3b0a7d0a0a66756e6374696f6e20657870616e64287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f72202876617220692c206e2c206a203d20302c206d203d207365726965735b305d2e6c656e6774682c20793b206a203c206d3b202b2b6a29207b0a20202020666f72202879203d2069203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202069662028792920666f72202869203d20303b2069203c206e3b202b2b6929207365726965735b695d5b6a5d5b315d202f3d20793b0a20207d0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20646976657267696e672431287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f72202876617220692c206a203d20302c20642c2064792c2079702c20796e2c206e2c206d203d207365726965735b6f726465725b305d5d2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287970203d20796e203d20302c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286479203d202864203d207365726965735b6f726465725b695d5d5b6a5d295b315d202d20645b305d29203e3d203029207b0a2020202020202020645b305d203d2079702c20645b315d203d207970202b3d2064793b0a2020202020207d20656c736520696620286479203c203029207b0a2020202020202020645b315d203d20796e2c20645b305d203d20796e202b3d2064793b0a2020202020207d20656c7365207b0a2020202020202020645b305d203d2079703b0a2020202020207d0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073696c686f7565747465287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f722028766172206a203d20302c207330203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073302e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c2079203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202073305b6a5d5b315d202b3d2073305b6a5d5b305d203d202d79202f20323b0a20207d0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20776967676c65287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029207c7c202128286d203d20287330203d207365726965735b6f726465725b305d5d292e6c656e67746829203e203029292072657475726e3b0a2020666f7220287661722079203d20302c206a203d20312c2073302c206d2c206e3b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207331203d20302c207332203d20303b2069203c206e3b202b2b6929207b0a202020202020766172207369203d207365726965735b6f726465725b695d5d2c0a2020202020202020202073696a30203d2073695b6a5d5b315d207c7c20302c0a2020202020202020202073696a31203d2073695b6a202d20315d5b315d207c7c20302c0a202020202020202020207333203d202873696a30202d2073696a3129202f20323b0a202020202020666f722028766172206b203d20303b206b203c20693b202b2b6b29207b0a202020202020202076617220736b203d207365726965735b6f726465725b6b5d5d2c0a202020202020202020202020736b6a30203d20736b5b6a5d5b315d207c7c20302c0a202020202020202020202020736b6a31203d20736b5b6a202d20315d5b315d207c7c20303b0a20202020202020207333202b3d20736b6a30202d20736b6a313b0a2020202020207d0a2020202020207331202b3d2073696a302c207332202b3d207333202a2073696a303b0a202020207d0a2020202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20202020696620287331292079202d3d207332202f2073313b0a20207d0a202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20617363656e64696e6724332873657269657329207b0a20207661722073756d73203d207365726965732e6d61702873756d2432293b0a202072657475726e206e6f6e65243228736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b615d202d2073756d735b625d3b207d293b0a7d0a0a66756e6374696f6e2073756d24322873657269657329207b0a20207661722073203d20302c2069203d202d312c206e203d207365726965732e6c656e6774682c20763b0a20207768696c6520282b2b69203c206e29206966202876203d202b7365726965735b695d5b315d292073202b3d20763b0a202072657475726e20733b0a7d0a0a66756e6374696f6e2064657363656e64696e6724322873657269657329207b0a202072657475726e20617363656e64696e67243328736572696573292e7265766572736528293b0a7d0a0a66756e6374696f6e20696e736964654f75742873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c0a202020202020692c0a2020202020206a2c0a20202020202073756d73203d207365726965732e6d61702873756d2432292c0a2020202020206f72646572203d206e6f6e65243228736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b625d202d2073756d735b615d3b207d292c0a202020202020746f70203d20302c0a202020202020626f74746f6d203d20302c0a202020202020746f7073203d205b5d2c0a202020202020626f74746f6d73203d205b5d3b0a0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206a203d206f726465725b695d3b0a2020202069662028746f70203c20626f74746f6d29207b0a202020202020746f70202b3d2073756d735b6a5d3b0a202020202020746f70732e70757368286a293b0a202020207d20656c7365207b0a202020202020626f74746f6d202b3d2073756d735b6a5d3b0a202020202020626f74746f6d732e70757368286a293b0a202020207d0a20207d0a0a202072657475726e20626f74746f6d732e7265766572736528292e636f6e63617428746f7073293b0a7d0a0a66756e6374696f6e20726576657273652873657269657329207b0a202072657475726e206e6f6e65243228736572696573292e7265766572736528293b0a7d0a0a66756e6374696f6e20636f6e7374616e74243132287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20782434286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e20792434286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20526564426c61636b547265652829207b0a2020746869732e5f203d206e756c6c3b202f2f20726f6f74206e6f64650a7d0a0a66756e6374696f6e20526564426c61636b4e6f6465286e6f646529207b0a20206e6f64652e55203d202f2f20706172656e74206e6f64650a20206e6f64652e43203d202f2f20636f6c6f72202d207472756520666f72207265642c2066616c736520666f7220626c61636b0a20206e6f64652e4c203d202f2f206c656674206e6f64650a20206e6f64652e52203d202f2f207269676874206e6f64650a20206e6f64652e50203d202f2f2070726576696f7573206e6f64650a20206e6f64652e4e203d206e756c6c3b202f2f206e657874206e6f64650a7d0a0a526564426c61636b547265652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20526564426c61636b547265652c0a0a2020696e736572743a2066756e6374696f6e2861667465722c206e6f646529207b0a2020202076617220706172656e742c206772616e6470612c20756e636c653b0a0a2020202069662028616674657229207b0a2020202020206e6f64652e50203d2061667465723b0a2020202020206e6f64652e4e203d2061667465722e4e3b0a2020202020206966202861667465722e4e292061667465722e4e2e50203d206e6f64653b0a20202020202061667465722e4e203d206e6f64653b0a2020202020206966202861667465722e5229207b0a20202020202020206166746572203d2061667465722e523b0a20202020202020207768696c65202861667465722e4c29206166746572203d2061667465722e4c3b0a202020202020202061667465722e4c203d206e6f64653b0a2020202020207d20656c7365207b0a202020202020202061667465722e52203d206e6f64653b0a2020202020207d0a202020202020706172656e74203d2061667465723b0a202020207d20656c73652069662028746869732e5f29207b0a2020202020206166746572203d20526564426c61636b466972737428746869732e5f293b0a2020202020206e6f64652e50203d206e756c6c3b0a2020202020206e6f64652e4e203d2061667465723b0a20202020202061667465722e50203d2061667465722e4c203d206e6f64653b0a202020202020706172656e74203d2061667465723b0a202020207d20656c7365207b0a2020202020206e6f64652e50203d206e6f64652e4e203d206e756c6c3b0a202020202020746869732e5f203d206e6f64653b0a202020202020706172656e74203d206e756c6c3b0a202020207d0a202020206e6f64652e4c203d206e6f64652e52203d206e756c6c3b0a202020206e6f64652e55203d20706172656e743b0a202020206e6f64652e43203d20747275653b0a0a202020206166746572203d206e6f64653b0a202020207768696c652028706172656e7420262620706172656e742e4329207b0a2020202020206772616e647061203d20706172656e742e553b0a20202020202069662028706172656e74203d3d3d206772616e6470612e4c29207b0a2020202020202020756e636c65203d206772616e6470612e523b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e5229207b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020756e636c65203d206772616e6470612e4c3b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e4c29207b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d0a202020202020706172656e74203d2061667465722e553b0a202020207d0a20202020746869732e5f2e43203d2066616c73653b0a20207d2c0a0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e4e29206e6f64652e4e2e50203d206e6f64652e503b0a20202020696620286e6f64652e5029206e6f64652e502e4e203d206e6f64652e4e3b0a202020206e6f64652e4e203d206e6f64652e50203d206e756c6c3b0a0a2020202076617220706172656e74203d206e6f64652e552c0a20202020202020207369626c696e672c0a20202020202020206c656674203d206e6f64652e4c2c0a20202020202020207269676874203d206e6f64652e522c0a20202020202020206e6578742c0a20202020202020207265643b0a0a2020202069662028216c65667429206e657874203d2072696768743b0a20202020656c7365206966202821726967687429206e657874203d206c6566743b0a20202020656c7365206e657874203d20526564426c61636b4669727374287269676874293b0a0a2020202069662028706172656e7429207b0a20202020202069662028706172656e742e4c203d3d3d206e6f64652920706172656e742e4c203d206e6578743b0a202020202020656c736520706172656e742e52203d206e6578743b0a202020207d20656c7365207b0a202020202020746869732e5f203d206e6578743b0a202020207d0a0a20202020696620286c65667420262620726967687429207b0a202020202020726564203d206e6578742e433b0a2020202020206e6578742e43203d206e6f64652e433b0a2020202020206e6578742e4c203d206c6566743b0a2020202020206c6566742e55203d206e6578743b0a202020202020696620286e65787420213d3d20726967687429207b0a2020202020202020706172656e74203d206e6578742e553b0a20202020202020206e6578742e55203d206e6f64652e553b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020202020706172656e742e4c203d206e6f64653b0a20202020202020206e6578742e52203d2072696768743b0a202020202020202072696768742e55203d206e6578743b0a2020202020207d20656c7365207b0a20202020202020206e6578742e55203d20706172656e743b0a2020202020202020706172656e74203d206e6578743b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020207d0a202020207d20656c7365207b0a202020202020726564203d206e6f64652e433b0a2020202020206e6f6465203d206e6578743b0a202020207d0a0a20202020696620286e6f646529206e6f64652e55203d20706172656e743b0a2020202069662028726564292072657475726e3b0a20202020696620286e6f6465202626206e6f64652e4329207b206e6f64652e43203d2066616c73653b2072657475726e3b207d0a0a20202020646f207b0a202020202020696620286e6f6465203d3d3d20746869732e5f2920627265616b3b0a202020202020696620286e6f6465203d3d3d20706172656e742e4c29207b0a20202020202020207369626c696e67203d20706172656e742e523b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e523b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a2020202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e52207c7c20217369626c696e672e522e4329207b0a2020202020202020202020207369626c696e672e4c2e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e523b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e522e43203d2066616c73653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d20656c7365207b0a20202020202020207369626c696e67203d20706172656e742e4c3b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e4c3b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e4c207c7c20217369626c696e672e4c2e4329207b0a2020202020202020202020207369626c696e672e522e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e4c3b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e4c2e43203d2066616c73653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020207369626c696e672e43203d20747275653b0a2020202020206e6f6465203d20706172656e743b0a202020202020706172656e74203d20706172656e742e553b0a202020207d207768696c652028216e6f64652e43293b0a0a20202020696620286e6f646529206e6f64652e43203d2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20526564426c61636b526f746174654c65667428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e522c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e52203d20712e4c3b0a202069662028702e522920702e522e55203d20703b0a2020712e4c203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b526f74617465526967687428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e4c2c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e4c203d20712e523b0a202069662028702e4c2920702e4c2e55203d20703b0a2020712e52203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b4669727374286e6f646529207b0a20207768696c6520286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e2063726561746545646765286c6566742c2072696768742c2076302c20763129207b0a20207661722065646765203d205b6e756c6c2c206e756c6c5d2c0a202020202020696e646578203d2065646765732e70757368286564676529202d20313b0a2020656467652e6c656674203d206c6566743b0a2020656467652e7269676874203d2072696768743b0a2020696620287630292073657445646765456e6428656467652c206c6566742c2072696768742c207630293b0a2020696620287631292073657445646765456e6428656467652c2072696768742c206c6566742c207631293b0a202063656c6c735b6c6566742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202063656c6c735b72696768742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e20637265617465426f7264657245646765286c6566742c2076302c20763129207b0a20207661722065646765203d205b76302c2076315d3b0a2020656467652e6c656674203d206c6566743b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e2073657445646765456e6428656467652c206c6566742c2072696768742c2076657274657829207b0a20206966202821656467655b305d2026262021656467655b315d29207b0a20202020656467655b305d203d207665727465783b0a20202020656467652e6c656674203d206c6566743b0a20202020656467652e7269676874203d2072696768743b0a20207d20656c73652069662028656467652e6c656674203d3d3d20726967687429207b0a20202020656467655b315d203d207665727465783b0a20207d20656c7365207b0a20202020656467655b305d203d207665727465783b0a20207d0a7d0a0a2f2f204c69616e67e28093426172736b79206c696e6520636c697070696e672e0a66756e6374696f6e20636c69704564676528656467652c2078302c2079302c2078312c20793129207b0a20207661722061203d20656467655b305d2c0a20202020202062203d20656467655b315d2c0a2020202020206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a20206966202821287430203e2030292026262021287431203c203129292072657475726e20747275653b202f2f20544f444f2042657474657220636865636b3f0a0a2020696620287430203e20302920656467655b305d203d205b6178202b207430202a2064782c206179202b207430202a2064795d3b0a2020696620287431203c20312920656467655b315d203d205b6178202b207431202a2064782c206179202b207431202a2064795d3b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636f6e6e6563744564676528656467652c2078302c2079302c2078312c20793129207b0a2020766172207631203d20656467655b315d3b0a2020696620287631292072657475726e20747275653b0a0a2020766172207630203d20656467655b305d2c0a2020202020206c656674203d20656467652e6c6566742c0a2020202020207269676874203d20656467652e72696768742c0a2020202020206c78203d206c6566745b305d2c0a2020202020206c79203d206c6566745b315d2c0a2020202020207278203d2072696768745b305d2c0a2020202020207279203d2072696768745b315d2c0a2020202020206678203d20286c78202b20727829202f20322c0a2020202020206679203d20286c79202b20727929202f20322c0a202020202020666d2c0a20202020202066623b0a0a2020696620287279203d3d3d206c7929207b0a20202020696620286678203c207830207c7c206678203e3d207831292072657475726e3b0a20202020696620286c78203e20727829207b0a2020202020206966202821763029207630203d205b66782c2079305d3b0a202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a2020202020207631203d205b66782c2079315d3b0a202020207d20656c7365207b0a2020202020206966202821763029207630203d205b66782c2079315d3b0a202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a2020202020207631203d205b66782c2079305d3b0a202020207d0a20207d20656c7365207b0a20202020666d203d20286c78202d20727829202f20287279202d206c79293b0a202020206662203d206679202d20666d202a2066783b0a2020202069662028666d203c202d31207c7c20666d203e203129207b0a202020202020696620286c78203e20727829207b0a20202020202020206966202821763029207630203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a20202020202020207631203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a20202020202020207631203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c79203c20727929207b0a20202020202020206966202821763029207630203d205b78302c20666d202a207830202b2066625d3b0a2020202020202020656c7365206966202876305b305d203e3d207831292072657475726e3b0a20202020202020207631203d205b78312c20666d202a207831202b2066625d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b78312c20666d202a207831202b2066625d3b0a2020202020202020656c7365206966202876305b305d203c207830292072657475726e3b0a20202020202020207631203d205b78302c20666d202a207830202b2066625d3b0a2020202020207d0a202020207d0a20207d0a0a2020656467655b305d203d2076303b0a2020656467655b315d203d2076313b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636c697045646765732878302c2079302c2078312c20793129207b0a20207661722069203d2065646765732e6c656e6774682c0a202020202020656467653b0a0a20207768696c652028692d2d29207b0a202020206966202821636f6e6e656374456467652865646765203d2065646765735b695d2c2078302c2079302c2078312c207931290a20202020202020207c7c2021636c69704564676528656467652c2078302c2079302c2078312c207931290a20202020202020207c7c2021284d6174682e61627328656467655b305d5b305d202d20656467655b315d5b305d29203e20657073696c6f6e24340a2020202020202020202020207c7c204d6174682e61627328656467655b305d5b315d202d20656467655b315d5b315d29203e20657073696c6f6e24342929207b0a20202020202064656c6574652065646765735b695d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2063726561746543656c6c287369746529207b0a202072657475726e2063656c6c735b736974652e696e6465785d203d207b0a20202020736974653a20736974652c0a2020202068616c6665646765733a205b5d0a20207d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765416e676c652863656c6c2c206564676529207b0a20207661722073697465203d2063656c6c2e736974652c0a2020202020207661203d20656467652e6c6566742c0a2020202020207662203d20656467652e72696768743b0a20206966202873697465203d3d3d20766229207662203d2076612c207661203d20736974653b0a2020696620287662292072657475726e204d6174682e6174616e322876625b315d202d2076615b315d2c2076625b305d202d2076615b305d293b0a20206966202873697465203d3d3d20766129207661203d20656467655b315d2c207662203d20656467655b305d3b0a2020656c7365207661203d20656467655b305d2c207662203d20656467655b315d3b0a202072657475726e204d6174682e6174616e322876615b305d202d2076625b305d2c2076625b315d202d2076615b315d293b0a7d0a0a66756e6374696f6e2063656c6c48616c666564676553746172742863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c65667420213d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765456e642863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c656674203d3d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e20736f727443656c6c48616c6665646765732829207b0a2020666f7220287661722069203d20302c206e203d2063656c6c732e6c656e6774682c2063656c6c2c2068616c6665646765732c206a2c206d3b2069203c206e3b202b2b6929207b0a20202020696620282863656c6c203d2063656c6c735b695d2920262620286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e6774682929207b0a20202020202076617220696e646578203d206e6577204172726179286d292c0a202020202020202020206172726179203d206e6577204172726179286d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a2920696e6465785b6a5d203d206a2c2061727261795b6a5d203d2063656c6c48616c6665646765416e676c652863656c6c2c2065646765735b68616c6665646765735b6a5d5d293b0a202020202020696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e2061727261795b6a5d202d2061727261795b695d3b207d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292061727261795b6a5d203d2068616c6665646765735b696e6465785b6a5d5d3b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292068616c6665646765735b6a5d203d2061727261795b6a5d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20636c697043656c6c732878302c2079302c2078312c20793129207b0a2020766172206e43656c6c73203d2063656c6c732e6c656e6774682c0a2020202020206943656c6c2c0a20202020202063656c6c2c0a202020202020736974652c0a2020202020206948616c66656467652c0a20202020202068616c6665646765732c0a2020202020206e48616c6665646765732c0a20202020202073746172742c0a2020202020207374617274582c0a2020202020207374617274592c0a202020202020656e642c0a202020202020656e64582c0a202020202020656e64592c0a202020202020636f766572203d20747275653b0a0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a20202020202073697465203d2063656c6c2e736974653b0a20202020202068616c666564676573203d2063656c6c2e68616c6665646765733b0a2020202020206948616c6665646765203d2068616c6665646765732e6c656e6774683b0a0a2020202020202f2f2052656d6f766520616e792064616e676c696e6720636c69707065642065646765732e0a2020202020207768696c6520286948616c66656467652d2d29207b0a2020202020202020696620282165646765735b68616c6665646765735b6948616c66656467655d5d29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c2031293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f20496e7365727420616e7920626f72646572206564676573206173206e65636573736172792e0a2020202020206948616c6665646765203d20302c206e48616c666564676573203d2068616c6665646765732e6c656e6774683b0a2020202020207768696c6520286948616c6665646765203c206e48616c66656467657329207b0a2020202020202020656e64203d2063656c6c48616c6665646765456e642863656c6c2c2065646765735b68616c6665646765735b6948616c66656467655d5d292c20656e6458203d20656e645b305d2c20656e6459203d20656e645b315d3b0a20202020202020207374617274203d2063656c6c48616c666564676553746172742863656c6c2c2065646765735b68616c6665646765735b2b2b6948616c66656467652025206e48616c6665646765735d5d292c20737461727458203d2073746172745b305d2c20737461727459203d2073746172745b315d3b0a2020202020202020696620284d6174682e61627328656e6458202d2073746172745829203e20657073696c6f6e2434207c7c204d6174682e61627328656e6459202d2073746172745929203e20657073696c6f6e243429207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c20302c2065646765732e7075736828637265617465426f726465724564676528736974652c20656e642c0a20202020202020202020202020204d6174682e61627328656e6458202d20783029203c20657073696c6f6e2434202626207931202d20656e6459203e20657073696c6f6e2434203f205b78302c204d6174682e61627328737461727458202d20783029203c20657073696c6f6e2434203f20737461727459203a2079315d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793129203c20657073696c6f6e2434202626207831202d20656e6458203e20657073696c6f6e2434203f205b4d6174682e61627328737461727459202d20793129203c20657073696c6f6e2434203f20737461727458203a2078312c2079315d0a20202020202020202020202020203a204d6174682e61627328656e6458202d20783129203c20657073696c6f6e243420262620656e6459202d207930203e20657073696c6f6e2434203f205b78312c204d6174682e61627328737461727458202d20783129203c20657073696c6f6e2434203f20737461727459203a2079305d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793029203c20657073696c6f6e243420262620656e6458202d207830203e20657073696c6f6e2434203f205b4d6174682e61627328737461727459202d20793029203c20657073696c6f6e2434203f20737461727458203a2078302c2079305d0a20202020202020202020202020203a206e756c6c2929202d2031293b0a202020202020202020202b2b6e48616c6665646765733b0a20202020202020207d0a2020202020207d0a0a202020202020696620286e48616c6665646765732920636f766572203d2066616c73653b0a202020207d0a20207d0a0a20202f2f20496620746865726520776572656ee280997420616e792065646765732c20686176652074686520636c6f73657374207369746520636f7665722074686520657874656e742e0a20202f2f20497420646f65736ee2809974206d617474657220776869636820636f726e6572206f662074686520657874656e74207765206d656173757265210a202069662028636f76657229207b0a202020207661722064782c2064792c2064322c206463203d20496e66696e6974793b0a0a20202020666f7220286943656c6c203d20302c20636f766572203d206e756c6c3b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a2020202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020202073697465203d2063656c6c2e736974653b0a20202020202020206478203d20736974655b305d202d2078303b0a20202020202020206479203d20736974655b315d202d2079303b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c20646329206463203d2064322c20636f766572203d2063656c6c3b0a2020202020207d0a202020207d0a0a2020202069662028636f76657229207b0a20202020202076617220763030203d205b78302c2079305d2c20763031203d205b78302c2079315d2c20763131203d205b78312c2079315d2c20763130203d205b78312c2079305d3b0a202020202020636f7665722e68616c6665646765732e70757368280a202020202020202065646765732e7075736828637265617465426f72646572456467652873697465203d20636f7665722e736974652c207630302c207630312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207630312c207631312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631312c207631302929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631302c207630302929202d20310a202020202020293b0a202020207d0a20207d0a0a20202f2f204c6173746c792064656c65746520616e792063656c6c732077697468206e6f2065646765733b207468657365207765726520656e746972656c7920636c69707065642e0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020696620282163656c6c2e68616c6665646765732e6c656e67746829207b0a202020202020202064656c6574652063656c6c735b6943656c6c5d3b0a2020202020207d0a202020207d0a20207d0a7d0a0a76617220636972636c65506f6f6c203d205b5d3b0a0a766172206669727374436972636c653b0a0a66756e6374696f6e20436972636c652829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e78203d0a2020746869732e79203d0a2020746869732e617263203d0a2020746869732e73697465203d0a2020746869732e6379203d206e756c6c3b0a7d0a0a66756e6374696f6e20617474616368436972636c652861726329207b0a2020766172206c417263203d206172632e502c0a20202020202072417263203d206172632e4e3b0a0a202069662028216c417263207c7c202172417263292072657475726e3b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206353697465203d206172632e736974652c0a2020202020207253697465203d20724172632e736974653b0a0a2020696620286c53697465203d3d3d207253697465292072657475726e3b0a0a2020766172206278203d2063536974655b305d2c0a2020202020206279203d2063536974655b315d2c0a2020202020206178203d206c536974655b305d202d2062782c0a2020202020206179203d206c536974655b315d202d2062792c0a2020202020206378203d2072536974655b305d202d2062782c0a2020202020206379203d2072536974655b315d202d2062793b0a0a20207661722064203d2032202a20286178202a206379202d206179202a206378293b0a20206966202864203e3d202d657073696c6f6e322432292072657475726e3b0a0a2020766172206861203d206178202a206178202b206179202a2061792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a20202020202078203d20286379202a206861202d206179202a20686329202f20642c0a20202020202079203d20286178202a206863202d206378202a20686129202f20643b0a0a202076617220636972636c65203d20636972636c65506f6f6c2e706f702829207c7c206e657720436972636c653b0a2020636972636c652e617263203d206172633b0a2020636972636c652e73697465203d2063536974653b0a2020636972636c652e78203d2078202b2062783b0a2020636972636c652e79203d2028636972636c652e6379203d2079202b20627929202b204d6174682e737172742878202a2078202b2079202a2079293b202f2f207920626f74746f6d0a0a20206172632e636972636c65203d20636972636c653b0a0a2020766172206265666f7265203d206e756c6c2c0a2020202020206e6f6465203d20636972636c65732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202069662028636972636c652e79203c206e6f64652e79207c7c2028636972636c652e79203d3d3d206e6f64652e7920262620636972636c652e78203c3d206e6f64652e782929207b0a202020202020696620286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202020202020656c7365207b206265666f7265203d206e6f64652e503b20627265616b3b207d0a202020207d20656c7365207b0a202020202020696620286e6f64652e5229206e6f6465203d206e6f64652e523b0a202020202020656c7365207b206265666f7265203d206e6f64653b20627265616b3b207d0a202020207d0a20207d0a0a2020636972636c65732e696e73657274286265666f72652c20636972636c65293b0a202069662028216265666f726529206669727374436972636c65203d20636972636c653b0a7d0a0a66756e6374696f6e20646574616368436972636c652861726329207b0a202076617220636972636c65203d206172632e636972636c653b0a202069662028636972636c6529207b0a202020206966202821636972636c652e5029206669727374436972636c65203d20636972636c652e4e3b0a20202020636972636c65732e72656d6f766528636972636c65293b0a20202020636972636c65506f6f6c2e7075736828636972636c65293b0a20202020526564426c61636b4e6f646528636972636c65293b0a202020206172632e636972636c65203d206e756c6c3b0a20207d0a7d0a0a766172206265616368506f6f6c203d205b5d3b0a0a66756e6374696f6e2042656163682829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e65646765203d0a2020746869732e73697465203d0a2020746869732e636972636c65203d206e756c6c3b0a7d0a0a66756e6374696f6e206372656174654265616368287369746529207b0a2020766172206265616368203d206265616368506f6f6c2e706f702829207c7c206e65772042656163683b0a202062656163682e73697465203d20736974653b0a202072657475726e2062656163683b0a7d0a0a66756e6374696f6e20646574616368426561636828626561636829207b0a2020646574616368436972636c65286265616368293b0a2020626561636865732e72656d6f7665286265616368293b0a20206265616368506f6f6c2e70757368286265616368293b0a2020526564426c61636b4e6f6465286265616368293b0a7d0a0a66756e6374696f6e2072656d6f7665426561636828626561636829207b0a202076617220636972636c65203d2062656163682e636972636c652c0a20202020202078203d20636972636c652e782c0a20202020202079203d20636972636c652e63792c0a202020202020766572746578203d205b782c20795d2c0a20202020202070726576696f7573203d2062656163682e502c0a2020202020206e657874203d2062656163682e4e2c0a202020202020646973617070656172696e67203d205b62656163685d3b0a0a20206465746163684265616368286265616368293b0a0a2020766172206c417263203d2070726576696f75733b0a20207768696c6520286c4172632e636972636c650a2020202020202626204d6174682e6162732878202d206c4172632e636972636c652e7829203c20657073696c6f6e24340a2020202020202626204d6174682e6162732879202d206c4172632e636972636c652e637929203c20657073696c6f6e243429207b0a2020202070726576696f7573203d206c4172632e503b0a20202020646973617070656172696e672e756e7368696674286c417263293b0a202020206465746163684265616368286c417263293b0a202020206c417263203d2070726576696f75733b0a20207d0a0a2020646973617070656172696e672e756e7368696674286c417263293b0a2020646574616368436972636c65286c417263293b0a0a20207661722072417263203d206e6578743b0a20207768696c652028724172632e636972636c650a2020202020202626204d6174682e6162732878202d20724172632e636972636c652e7829203c20657073696c6f6e24340a2020202020202626204d6174682e6162732879202d20724172632e636972636c652e637929203c20657073696c6f6e243429207b0a202020206e657874203d20724172632e4e3b0a20202020646973617070656172696e672e707573682872417263293b0a2020202064657461636842656163682872417263293b0a2020202072417263203d206e6578743b0a20207d0a0a2020646973617070656172696e672e707573682872417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206e41726373203d20646973617070656172696e672e6c656e6774682c0a202020202020694172633b0a2020666f72202869417263203d20313b2069417263203c206e417263733b202b2b6941726329207b0a2020202072417263203d20646973617070656172696e675b694172635d3b0a202020206c417263203d20646973617070656172696e675b69417263202d20315d3b0a2020202073657445646765456e6428724172632e656467652c206c4172632e736974652c20724172632e736974652c20766572746578293b0a20207d0a0a20206c417263203d20646973617070656172696e675b305d3b0a202072417263203d20646973617070656172696e675b6e41726373202d20315d3b0a2020724172632e65646765203d2063726561746545646765286c4172632e736974652c20724172632e736974652c206e756c6c2c20766572746578293b0a0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206164644265616368287369746529207b0a20207661722078203d20736974655b305d2c0a202020202020646972656374726978203d20736974655b315d2c0a2020202020206c4172632c0a202020202020724172632c0a20202020202064786c2c0a2020202020206478722c0a2020202020206e6f6465203d20626561636865732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202064786c203d206c656674427265616b506f696e74286e6f64652c2064697265637472697829202d20783b0a202020206966202864786c203e20657073696c6f6e243429206e6f6465203d206e6f64652e4c3b20656c7365207b0a202020202020647872203d2078202d207269676874427265616b506f696e74286e6f64652c20646972656374726978293b0a20202020202069662028647872203e20657073696c6f6e243429207b0a202020202020202069662028216e6f64652e5229207b0a202020202020202020206c417263203d206e6f64653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206e6f6465203d206e6f64652e523b0a2020202020207d20656c7365207b0a20202020202020206966202864786c203e202d657073696c6f6e243429207b0a202020202020202020206c417263203d206e6f64652e503b0a2020202020202020202072417263203d206e6f64653b0a20202020202020207d20656c73652069662028647872203e202d657073696c6f6e243429207b0a202020202020202020206c417263203d206e6f64653b0a2020202020202020202072417263203d206e6f64652e4e3b0a20202020202020207d20656c7365207b0a202020202020202020206c417263203d2072417263203d206e6f64653b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202063726561746543656c6c2873697465293b0a2020766172206e6577417263203d2063726561746542656163682873697465293b0a2020626561636865732e696e73657274286c4172632c206e6577417263293b0a0a202069662028216c417263202626202172417263292072657475726e3b0a0a2020696620286c417263203d3d3d207241726329207b0a20202020646574616368436972636c65286c417263293b0a2020202072417263203d206372656174654265616368286c4172632e73697465293b0a20202020626561636865732e696e73657274286e65774172632c2072417263293b0a202020206e65774172632e65646765203d20724172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a20202020617474616368436972636c65286c417263293b0a20202020617474616368436972636c652872417263293b0a2020202072657475726e3b0a20207d0a0a202069662028217241726329207b202f2f202626206c4172630a202020206e65774172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a2020202072657475726e3b0a20207d0a0a20202f2f20656c7365206c41726320213d3d20724172630a2020646574616368436972636c65286c417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206178203d206c536974655b305d2c0a2020202020206179203d206c536974655b315d2c0a2020202020206278203d20736974655b305d202d2061782c0a2020202020206279203d20736974655b315d202d2061792c0a2020202020207253697465203d20724172632e736974652c0a2020202020206378203d2072536974655b305d202d2061782c0a2020202020206379203d2072536974655b315d202d2061792c0a20202020202064203d2032202a20286278202a206379202d206279202a206378292c0a2020202020206862203d206278202a206278202b206279202a2062792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a202020202020766572746578203d205b286379202a206862202d206279202a20686329202f2064202b2061782c20286278202a206863202d206378202a20686229202f2064202b2061795d3b0a0a202073657445646765456e6428724172632e656467652c206c536974652c2072536974652c20766572746578293b0a20206e65774172632e65646765203d2063726561746545646765286c536974652c20736974652c206e756c6c2c20766572746578293b0a2020724172632e65646765203d206372656174654564676528736974652c2072536974652c206e756c6c2c20766572746578293b0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206c656674427265616b506f696e74286172632c2064697265637472697829207b0a20207661722073697465203d206172632e736974652c0a20202020202072666f6378203d20736974655b305d2c0a20202020202072666f6379203d20736974655b315d2c0a20202020202070627932203d2072666f6379202d206469726563747269783b0a0a2020696620282170627932292072657475726e2072666f63783b0a0a2020766172206c417263203d206172632e503b0a202069662028216c417263292072657475726e202d496e66696e6974793b0a0a202073697465203d206c4172632e736974653b0a2020766172206c666f6378203d20736974655b305d2c0a2020202020206c666f6379203d20736974655b315d2c0a202020202020706c627932203d206c666f6379202d206469726563747269783b0a0a20206966202821706c627932292072657475726e206c666f63783b0a0a202076617220686c203d206c666f6378202d2072666f63782c0a20202020202061627932203d2031202f2070627932202d2031202f20706c6279322c0a20202020202062203d20686c202f20706c6279323b0a0a20206966202861627932292072657475726e20282d62202b204d6174682e737172742862202a2062202d2032202a2061627932202a2028686c202a20686c202f20282d32202a20706c62793229202d206c666f6379202b20706c627932202f2032202b2072666f6379202d2070627932202f2032292929202f2061627932202b2072666f63783b0a0a202072657475726e202872666f6378202b206c666f637829202f20323b0a7d0a0a66756e6374696f6e207269676874427265616b506f696e74286172632c2064697265637472697829207b0a20207661722072417263203d206172632e4e3b0a20206966202872417263292072657475726e206c656674427265616b506f696e7428724172632c20646972656374726978293b0a20207661722073697465203d206172632e736974653b0a202072657475726e20736974655b315d203d3d3d20646972656374726978203f20736974655b305d203a20496e66696e6974793b0a7d0a0a76617220657073696c6f6e2434203d2031652d363b0a76617220657073696c6f6e322432203d2031652d31323b0a76617220626561636865733b0a7661722063656c6c733b0a76617220636972636c65733b0a7661722065646765733b0a0a66756e6374696f6e20747269616e676c654172656128612c20622c206329207b0a202072657475726e2028615b305d202d20635b305d29202a2028625b315d202d20615b315d29202d2028615b305d202d20625b305d29202a2028635b315d202d20615b315d293b0a7d0a0a66756e6374696f6e206c657869636f6772617068696328612c206229207b0a202072657475726e20625b315d202d20615b315d0a2020202020207c7c20625b305d202d20615b305d3b0a7d0a0a66756e6374696f6e204469616772616d2873697465732c20657874656e7429207b0a20207661722073697465203d2073697465732e736f7274286c657869636f67726170686963292e706f7028292c0a202020202020782c0a202020202020792c0a202020202020636972636c653b0a0a20206564676573203d205b5d3b0a202063656c6c73203d206e65772041727261792873697465732e6c656e677468293b0a202062656163686573203d206e657720526564426c61636b547265653b0a2020636972636c6573203d206e657720526564426c61636b547265653b0a0a20207768696c6520287472756529207b0a20202020636972636c65203d206669727374436972636c653b0a202020206966202873697465202626202821636972636c65207c7c20736974655b315d203c20636972636c652e79207c7c2028736974655b315d203d3d3d20636972636c652e7920262620736974655b305d203c20636972636c652e78292929207b0a20202020202069662028736974655b305d20213d3d2078207c7c20736974655b315d20213d3d207929207b0a202020202020202061646442656163682873697465293b0a202020202020202078203d20736974655b305d2c2079203d20736974655b315d3b0a2020202020207d0a20202020202073697465203d2073697465732e706f7028293b0a202020207d20656c73652069662028636972636c6529207b0a20202020202072656d6f7665426561636828636972636c652e617263293b0a202020207d20656c7365207b0a202020202020627265616b3b0a202020207d0a20207d0a0a2020736f727443656c6c48616c66656467657328293b0a0a202069662028657874656e7429207b0a20202020766172207830203d202b657874656e745b305d5b305d2c0a20202020202020207930203d202b657874656e745b305d5b315d2c0a20202020202020207831203d202b657874656e745b315d5b305d2c0a20202020202020207931203d202b657874656e745b315d5b315d3b0a20202020636c697045646765732878302c2079302c2078312c207931293b0a20202020636c697043656c6c732878302c2079302c2078312c207931293b0a20207d0a0a2020746869732e6564676573203d2065646765733b0a2020746869732e63656c6c73203d2063656c6c733b0a0a202062656163686573203d0a2020636972636c6573203d0a20206564676573203d0a202063656c6c73203d206e756c6c3b0a7d0a0a4469616772616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204469616772616d2c0a0a2020706f6c79676f6e733a2066756e6374696f6e2829207b0a20202020766172206564676573203d20746869732e65646765733b0a0a2020202072657475726e20746869732e63656c6c732e6d61702866756e6374696f6e2863656c6c29207b0a20202020202076617220706f6c79676f6e203d2063656c6c2e68616c6665646765732e6d61702866756e6374696f6e286929207b2072657475726e2063656c6c48616c666564676553746172742863656c6c2c2065646765735b695d293b207d293b0a202020202020706f6c79676f6e2e64617461203d2063656c6c2e736974652e646174613b0a20202020202072657475726e20706f6c79676f6e3b0a202020207d293b0a20207d2c0a0a2020747269616e676c65733a2066756e6374696f6e2829207b0a2020202076617220747269616e676c6573203d205b5d2c0a20202020202020206564676573203d20746869732e65646765733b0a0a20202020746869732e63656c6c732e666f72456163682866756e6374696f6e2863656c6c2c206929207b0a2020202020206966202821286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e67746829292072657475726e3b0a2020202020207661722073697465203d2063656c6c2e736974652c0a2020202020202020202068616c6665646765732c0a202020202020202020206a203d202d312c0a202020202020202020206d2c0a2020202020202020202073302c0a202020202020202020206531203d2065646765735b68616c6665646765735b6d202d20315d5d2c0a202020202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a20202020202020207330203d2073313b0a20202020202020206531203d2065646765735b68616c6665646765735b6a5d5d3b0a20202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a20202020202020206966202873302026262073312026262069203c2073302e696e6465782026262069203c2073312e696e64657820262620747269616e676c654172656128736974652c2073302c20733129203c203029207b0a20202020202020202020747269616e676c65732e70757368285b736974652e646174612c2073302e646174612c2073312e646174615d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e20747269616e676c65733b0a20207d2c0a0a20206c696e6b733a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e65646765732e66696c7465722866756e6374696f6e286564676529207b0a20202020202072657475726e20656467652e72696768743b0a202020207d292e6d61702866756e6374696f6e286564676529207b0a20202020202072657475726e207b0a2020202020202020736f757263653a20656467652e6c6566742e646174612c0a20202020202020207461726765743a20656467652e72696768742e646174610a2020202020207d3b0a202020207d293b0a20207d2c0a0a202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a202020207661722074686174203d20746869732c2069302c206931203d20746861742e5f666f756e64207c7c20302c206e203d20746861742e63656c6c732e6c656e6774682c2063656c6c3b0a0a202020202f2f20557365207468652070726576696f75736c792d666f756e642063656c6c2c206f72207374617274207769746820616e20617262697472617279206f6e652e0a202020207768696c652028212863656c6c203d20746861742e63656c6c735b69315d292920696620282b2b6931203e3d206e292072657475726e206e756c6c3b0a20202020766172206478203d2078202d2063656c6c2e736974655b305d2c206479203d2079202d2063656c6c2e736974655b315d2c206432203d206478202a206478202b206479202a2064793b0a0a202020202f2f205472617665727365207468652068616c662d656467657320746f2066696e64206120636c6f7365722063656c6c2c20696620616e792e0a20202020646f207b0a20202020202063656c6c203d20746861742e63656c6c735b6930203d2069315d2c206931203d206e756c6c3b0a20202020202063656c6c2e68616c6665646765732e666f72456163682866756e6374696f6e286529207b0a20202020202020207661722065646765203d20746861742e65646765735b655d2c2076203d20656467652e6c6566743b0a2020202020202020696620282876203d3d3d2063656c6c2e73697465207c7c2021762920262620212876203d20656467652e726967687429292072657475726e3b0a2020202020202020766172207678203d2078202d20765b305d2c207679203d2079202d20765b315d2c207632203d207678202a207678202b207679202a2076793b0a2020202020202020696620287632203c20643229206432203d2076322c206931203d20762e696e6465783b0a2020202020207d293b0a202020207d207768696c652028693120213d3d206e756c6c293b0a0a20202020746861742e5f666f756e64203d2069303b0a0a2020202072657475726e20726164697573203d3d206e756c6c207c7c206432203c3d20726164697573202a20726164697573203f2063656c6c2e73697465203a206e756c6c3b0a20207d0a7d3b0a0a66756e6374696f6e20766f726f6e6f692829207b0a20207661722078242431203d207824342c0a20202020202079242431203d207924342c0a202020202020657874656e74203d206e756c6c3b0a0a202066756e6374696f6e20766f726f6e6f69286461746129207b0a2020202072657475726e206e6577204469616772616d28646174612e6d61702866756e6374696f6e28642c206929207b0a2020202020207661722073203d205b4d6174682e726f756e64287824243128642c20692c206461746129202f20657073696c6f6e243429202a20657073696c6f6e24342c204d6174682e726f756e64287924243128642c20692c206461746129202f20657073696c6f6e243429202a20657073696c6f6e24345d3b0a202020202020732e696e646578203d20693b0a202020202020732e64617461203d20643b0a20202020202072657475726e20733b0a202020207d292c20657874656e74293b0a20207d0a0a2020766f726f6e6f692e706f6c79676f6e73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e706f6c79676f6e7328293b0a20207d3b0a0a2020766f726f6e6f692e6c696e6b73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e6c696e6b7328293b0a20207d3b0a0a2020766f726f6e6f692e747269616e676c6573203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e747269616e676c657328293b0a20207d3b0a0a2020766f726f6e6f692e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243132282b5f292c20766f726f6e6f6929203a20782424313b0a20207d3b0a0a2020766f726f6e6f692e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243132282b5f292c20766f726f6e6f6929203a20792424313b0a20207d3b0a0a2020766f726f6e6f692e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b5b657874656e745b305d5b305d2c20657874656e745b305d5b315d5d2c205b657874656e745b315d5b305d2c20657874656e745b315d5b315d5d5d3b0a20207d3b0a0a2020766f726f6e6f692e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b302c20305d2c205b2b5f5b305d2c202b5f5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b657874656e745b315d5b305d202d20657874656e745b305d5b305d2c20657874656e745b315d5b315d202d20657874656e745b305d5b315d5d3b0a20207d3b0a0a202072657475726e20766f726f6e6f693b0a7d0a0a66756e6374696f6e20636f6e7374616e74243133287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e205a6f6f6d4576656e74287461726765742c20747970652c207472616e73666f726d29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7472616e73666f726d203d207472616e73666f726d3b0a7d0a0a66756e6374696f6e205472616e73666f726d286b2c20782c207929207b0a2020746869732e6b203d206b3b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a7d0a0a5472616e73666f726d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d2c0a20207363616c653a2066756e6374696f6e286b29207b0a2020202072657475726e206b203d3d3d2031203f2074686973203a206e6577205472616e73666f726d28746869732e6b202a206b2c20746869732e782c20746869732e79293b0a20207d2c0a20207472616e736c6174653a2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d3d3d203020262079203d3d3d2030203f2074686973203a206e6577205472616e73666f726d28746869732e6b2c20746869732e78202b20746869732e6b202a20782c20746869732e79202b20746869732e6b202a2079293b0a20207d2c0a20206170706c793a2066756e6374696f6e28706f696e7429207b0a2020202072657475726e205b706f696e745b305d202a20746869732e6b202b20746869732e782c20706f696e745b315d202a20746869732e6b202b20746869732e795d3b0a20207d2c0a20206170706c79583a2066756e6374696f6e287829207b0a2020202072657475726e2078202a20746869732e6b202b20746869732e783b0a20207d2c0a20206170706c79593a2066756e6374696f6e287929207b0a2020202072657475726e2079202a20746869732e6b202b20746869732e793b0a20207d2c0a2020696e766572743a2066756e6374696f6e286c6f636174696f6e29207b0a2020202072657475726e205b286c6f636174696f6e5b305d202d20746869732e7829202f20746869732e6b2c20286c6f636174696f6e5b315d202d20746869732e7929202f20746869732e6b5d3b0a20207d2c0a2020696e76657274583a2066756e6374696f6e287829207b0a2020202072657475726e202878202d20746869732e7829202f20746869732e6b3b0a20207d2c0a2020696e76657274593a2066756e6374696f6e287929207b0a2020202072657475726e202879202d20746869732e7929202f20746869732e6b3b0a20207d2c0a202072657363616c65583a2066756e6374696f6e287829207b0a2020202072657475726e20782e636f707928292e646f6d61696e28782e72616e676528292e6d617028746869732e696e76657274582c2074686973292e6d617028782e696e766572742c207829293b0a20207d2c0a202072657363616c65593a2066756e6374696f6e287929207b0a2020202072657475726e20792e636f707928292e646f6d61696e28792e72616e676528292e6d617028746869732e696e76657274592c2074686973292e6d617028792e696e766572742c207929293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20227472616e736c6174652822202b20746869732e78202b20222c22202b20746869732e79202b202229207363616c652822202b20746869732e6b202b202229223b0a20207d0a7d3b0a0a766172206964656e746974792438203d206e6577205472616e73666f726d28312c20302c2030293b0a0a7472616e73666f726d24312e70726f746f74797065203d205472616e73666f726d2e70726f746f747970653b0a0a66756e6374696f6e207472616e73666f726d2431286e6f646529207b0a202072657475726e206e6f64652e5f5f7a6f6f6d207c7c206964656e7469747924383b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e24322829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e7424322829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c74657224322829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e7424312829207b0a20207661722065203d20746869732c20772c20683b0a2020696620286520696e7374616e63656f6620535647456c656d656e7429207b0a2020202065203d20652e6f776e6572535647456c656d656e74207c7c20653b0a2020202077203d20652e77696474682e6261736556616c2e76616c75653b0a2020202068203d20652e6865696768742e6261736556616c2e76616c75653b0a20207d20656c7365207b0a2020202077203d20652e636c69656e7457696474683b0a2020202068203d20652e636c69656e744865696768743b0a20207d0a202072657475726e205b5b302c20305d2c205b772c20685d5d3b0a7d0a0a66756e6374696f6e2064656661756c745472616e73666f726d2829207b0a202072657475726e20746869732e5f5f7a6f6f6d207c7c206964656e7469747924383b0a7d0a0a66756e6374696f6e2064656661756c74576865656c44656c74612829207b0a202072657475726e202d6578706f7274732e6576656e742e64656c746159202a20286578706f7274732e6576656e742e64656c74614d6f6465203f20313230203a203129202f203530303b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c6524312829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74436f6e73747261696e287472616e73666f726d2c20657874656e742c207472616e736c617465457874656e7429207b0a202076617220647830203d207472616e73666f726d2e696e766572745828657874656e745b305d5b305d29202d207472616e736c617465457874656e745b305d5b305d2c0a202020202020647831203d207472616e73666f726d2e696e766572745828657874656e745b315d5b305d29202d207472616e736c617465457874656e745b315d5b305d2c0a202020202020647930203d207472616e73666f726d2e696e766572745928657874656e745b305d5b315d29202d207472616e736c617465457874656e745b305d5b315d2c0a202020202020647931203d207472616e73666f726d2e696e766572745928657874656e745b315d5b315d29202d207472616e736c617465457874656e745b315d5b315d3b0a202072657475726e207472616e73666f726d2e7472616e736c617465280a20202020647831203e20647830203f2028647830202b2064783129202f2032203a204d6174682e6d696e28302c2064783029207c7c204d6174682e6d617828302c20647831292c0a20202020647931203e20647930203f2028647930202b2064793129202f2032203a204d6174682e6d696e28302c2064793029207c7c204d6174682e6d617828302c20647931290a2020293b0a7d0a0a66756e6374696f6e207a6f6f6d2829207b0a20207661722066696c746572203d2064656661756c7446696c74657224322c0a202020202020657874656e74203d2064656661756c74457874656e7424312c0a202020202020636f6e73747261696e203d2064656661756c74436f6e73747261696e2c0a202020202020776865656c44656c7461203d2064656661756c74576865656c44656c74612c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c6524312c0a2020202020207363616c65457874656e74203d205b302c20496e66696e6974795d2c0a2020202020207472616e736c617465457874656e74203d205b5b2d496e66696e6974792c202d496e66696e6974795d2c205b496e66696e6974792c20496e66696e6974795d5d2c0a2020202020206475726174696f6e203d203235302c0a202020202020696e746572706f6c617465203d20696e746572706f6c6174655a6f6f6d2c0a2020202020206765737475726573203d205b5d2c0a2020202020206c697374656e657273203d20646973706174636828227374617274222c20227a6f6f6d222c2022656e6422292c0a202020202020746f7563687374617274696e672c0a202020202020746f756368656e64696e672c0a202020202020746f75636844656c6179203d203530302c0a202020202020776865656c44656c6179203d203135302c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e207a6f6f6d2873656c656374696f6e24243129207b0a2020202073656c656374696f6e2424310a20202020202020202e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d290a20202020202020202e6f6e2822776865656c2e7a6f6f6d222c20776865656c6564290a20202020202020202e6f6e28226d6f757365646f776e2e7a6f6f6d222c206d6f757365646f776e6564290a20202020202020202e6f6e282264626c636c69636b2e7a6f6f6d222c2064626c636c69636b6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e7a6f6f6d222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e7a6f6f6d222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e7a6f6f6d20746f75636863616e63656c2e7a6f6f6d222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a20207a6f6f6d2e7472616e73666f726d203d2066756e6374696f6e28636f6c6c656374696f6e2c207472616e73666f726d29207b0a202020207661722073656c656374696f6e242431203d20636f6c6c656374696f6e2e73656c656374696f6e203f20636f6c6c656374696f6e2e73656c656374696f6e2829203a20636f6c6c656374696f6e3b0a2020202073656c656374696f6e2424312e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d293b0a2020202069662028636f6c6c656374696f6e20213d3d2073656c656374696f6e24243129207b0a2020202020207363686564756c6528636f6c6c656374696f6e2c207472616e73666f726d293b0a202020207d20656c7365207b0a20202020202073656c656374696f6e2424312e696e7465727275707428292e656163682866756e6374696f6e2829207b0a20202020202020206765737475726528746869732c20617267756d656e7473290a2020202020202020202020202e737461727428290a2020202020202020202020202e7a6f6f6d286e756c6c2c20747970656f66207472616e73666f726d203d3d3d202266756e6374696f6e22203f207472616e73666f726d2e6170706c7928746869732c20617267756d656e747329203a207472616e73666f726d290a2020202020202020202020202e656e6428293b0a2020202020207d293b0a202020207d0a20207d3b0a0a20207a6f6f6d2e7363616c654279203d2066756e6374696f6e2873656c656374696f6e2424312c206b29207b0a202020207a6f6f6d2e7363616c65546f2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a202020202020766172206b30203d20746869732e5f5f7a6f6f6d2e6b2c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e206b30202a206b313b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7363616c65546f203d2066756e6374696f6e2873656c656374696f6e2424312c206b29207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a202020202020202020207430203d20746869732e5f5f7a6f6f6d2c0a202020202020202020207030203d2063656e74726f69642865292c0a202020202020202020207031203d2074302e696e76657274287030292c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c6174654279203d2066756e6374696f6e2873656c656374696f6e2424312c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a20202020202072657475726e20636f6e73747261696e28746869732e5f5f7a6f6f6d2e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f20782e6170706c7928746869732c20617267756d656e747329203a20782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f20792e6170706c7928746869732c20617267756d656e747329203a20790a202020202020292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465546f203d2066756e6374696f6e2873656c656374696f6e2424312c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020202074203d20746869732e5f5f7a6f6f6d2c0a2020202020202020202070203d2063656e74726f69642865293b0a20202020202072657475726e20636f6e73747261696e286964656e7469747924382e7472616e736c61746528705b305d2c20705b315d292e7363616c6528742e6b292e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f202d782e6170706c7928746869732c20617267756d656e747329203a202d782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f202d792e6170706c7928746869732c20617267756d656e747329203a202d790a202020202020292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a202066756e6374696f6e207363616c65287472616e73666f726d2c206b29207b0a202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c206b29293b0a2020202072657475726e206b203d3d3d207472616e73666f726d2e6b203f207472616e73666f726d203a206e6577205472616e73666f726d286b2c207472616e73666f726d2e782c207472616e73666f726d2e79293b0a20207d0a0a202066756e6374696f6e207472616e736c617465287472616e73666f726d2c2070302c20703129207b0a202020207661722078203d2070305b305d202d2070315b305d202a207472616e73666f726d2e6b2c2079203d2070305b315d202d2070315b315d202a207472616e73666f726d2e6b3b0a2020202072657475726e2078203d3d3d207472616e73666f726d2e782026262079203d3d3d207472616e73666f726d2e79203f207472616e73666f726d203a206e6577205472616e73666f726d287472616e73666f726d2e6b2c20782c2079293b0a20207d0a0a202066756e6374696f6e2063656e74726f696428657874656e7429207b0a2020202072657475726e205b282b657874656e745b305d5b305d202b202b657874656e745b315d5b305d29202f20322c20282b657874656e745b305d5b315d202b202b657874656e745b315d5b315d29202f20325d3b0a20207d0a0a202066756e6374696f6e207363686564756c65287472616e736974696f6e2424312c207472616e73666f726d2c2063656e74657229207b0a202020207472616e736974696f6e2424310a20202020202020202e6f6e282273746172742e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e737461727428293b207d290a20202020202020202e6f6e2822696e746572727570742e7a6f6f6d20656e642e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e656e6428293b207d290a20202020202020202e747765656e28227a6f6f6d222c2066756e6374696f6e2829207b0a202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202067203d206765737475726528746861742c2061726773292c0a202020202020202020202020202065203d20657874656e742e6170706c7928746861742c2061726773292c0a202020202020202020202020202070203d2063656e746572207c7c2063656e74726f69642865292c0a202020202020202020202020202077203d204d6174682e6d617828655b315d5b305d202d20655b305d5b305d2c20655b315d5b315d202d20655b305d5b315d292c0a202020202020202020202020202061203d20746861742e5f5f7a6f6f6d2c0a202020202020202020202020202062203d20747970656f66207472616e73666f726d203d3d3d202266756e6374696f6e22203f207472616e73666f726d2e6170706c7928746861742c206172677329203a207472616e73666f726d2c0a202020202020202020202020202069203d20696e746572706f6c61746528612e696e766572742870292e636f6e6361742877202f20612e6b292c20622e696e766572742870292e636f6e6361742877202f20622e6b29293b0a2020202020202020202072657475726e2066756e6374696f6e287429207b0a2020202020202020202020206966202874203d3d3d2031292074203d20623b202f2f2041766f696420726f756e64696e67206572726f72206f6e20656e642e0a202020202020202020202020656c7365207b20766172206c203d20692874292c206b203d2077202f206c5b325d3b2074203d206e6577205472616e73666f726d286b2c20705b305d202d206c5b305d202a206b2c20705b315d202d206c5b315d202a206b293b207d0a202020202020202020202020672e7a6f6f6d286e756c6c2c2074293b0a202020202020202020207d3b0a20202020202020207d293b0a20207d0a0a202066756e6374696f6e206765737475726528746861742c206172677329207b0a20202020666f7220287661722069203d20302c206e203d2067657374757265732e6c656e6774682c20673b2069203c206e3b202b2b6929207b0a202020202020696620282867203d2067657374757265735b695d292e74686174203d3d3d207468617429207b0a202020202020202072657475726e20673b0a2020202020207d0a202020207d0a2020202072657475726e206e6577204765737475726528746861742c2061726773293b0a20207d0a0a202066756e6374696f6e204765737475726528746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e696e646578203d202d313b0a20202020746869732e616374697665203d20303b0a20202020746869732e657874656e74203d20657874656e742e6170706c7928746861742c2061726773293b0a20207d0a0a2020476573747572652e70726f746f74797065203d207b0a2020202073746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d203129207b0a2020202020202020746869732e696e646578203d2067657374757265732e70757368287468697329202d20313b0a2020202020202020746869732e656d69742822737461727422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a202020207a6f6f6d3a2066756e6374696f6e286b65792c207472616e73666f726d29207b0a20202020202069662028746869732e6d6f757365202626206b657920213d3d20226d6f757365222920746869732e6d6f7573655b315d203d207472616e73666f726d2e696e7665727428746869732e6d6f7573655b305d293b0a20202020202069662028746869732e746f75636830202626206b657920213d3d2022746f756368222920746869732e746f756368305b315d203d207472616e73666f726d2e696e7665727428746869732e746f756368305b305d293b0a20202020202069662028746869732e746f75636831202626206b657920213d3d2022746f756368222920746869732e746f756368315b315d203d207472616e73666f726d2e696e7665727428746869732e746f756368315b305d293b0a202020202020746869732e746861742e5f5f7a6f6f6d203d207472616e73666f726d3b0a202020202020746869732e656d697428227a6f6f6d22293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d203029207b0a202020202020202067657374757265732e73706c69636528746869732e696e6465782c2031293b0a2020202020202020746869732e696e646578203d202d313b0a2020202020202020746869732e656d69742822656e6422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020637573746f6d4576656e74286e6577205a6f6f6d4576656e74287a6f6f6d2c20747970652c20746869732e746861742e5f5f7a6f6f6d292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20776865656c65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202074203d20746869732e5f5f7a6f6f6d2c0a20202020202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c20742e6b202a204d6174682e706f7728322c20776865656c44656c74612e6170706c7928746869732c20617267756d656e7473292929292c0a202020202020202070203d206d6f7573652874686973293b0a0a202020202f2f20496620746865206d6f75736520697320696e207468652073616d65206c6f636174696f6e206173206265666f72652c2072657573652069742e0a202020202f2f204966207468657265207765726520726563656e7420776865656c206576656e74732c2072657365742074686520776865656c2069646c652074696d656f75742e0a2020202069662028672e776865656c29207b0a20202020202069662028672e6d6f7573655b305d5b305d20213d3d20705b305d207c7c20672e6d6f7573655b305d5b315d20213d3d20705b315d29207b0a2020202020202020672e6d6f7573655b315d203d20742e696e7665727428672e6d6f7573655b305d203d2070293b0a2020202020207d0a202020202020636c65617254696d656f757428672e776865656c293b0a202020207d0a0a202020202f2f204966207468697320776865656c206576656e7420776f6ee280997420747269676765722061207472616e73666f726d206368616e67652c2069676e6f72652069742e0a20202020656c73652069662028742e6b203d3d3d206b292072657475726e3b0a0a202020202f2f204f74686572776973652c206361707475726520746865206d6f75736520706f696e7420616e64206c6f636174696f6e206174207468652073746172742e0a20202020656c7365207b0a202020202020672e6d6f757365203d205b702c20742e696e766572742870295d3b0a202020202020696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a0a202020206e6f6576656e74243228293b0a20202020672e776865656c203d2073657454696d656f757428776865656c69646c65642c20776865656c44656c6179293b0a20202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c617465287363616c6528742c206b292c20672e6d6f7573655b305d2c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a0a2020202066756e6374696f6e20776865656c69646c65642829207b0a202020202020672e776865656c203d206e756c6c3b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202076203d2073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e7a6f6f6d222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e7a6f6f6d222c206d6f75736575707065642c2074727565292c0a202020202020202070203d206d6f7573652874686973292c0a20202020202020207830203d206578706f7274732e6576656e742e636c69656e74582c0a20202020202020207930203d206578706f7274732e6576656e742e636c69656e74593b0a0a202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e243228293b0a20202020672e6d6f757365203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870295d3b0a20202020696e746572727570742874686973293b0a20202020672e737461727428293b0a0a2020202066756e6374696f6e206d6f7573656d6f7665642829207b0a2020202020206e6f6576656e74243228293b0a2020202020206966202821672e6d6f76656429207b0a2020202020202020766172206478203d206578706f7274732e6576656e742e636c69656e7458202d2078302c206479203d206578706f7274732e6576656e742e636c69656e7459202d2079303b0a2020202020202020672e6d6f766564203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a2020202020207d0a202020202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c61746528672e746861742e5f5f7a6f6f6d2c20672e6d6f7573655b305d203d206d6f75736528672e74686174292c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a202020207d0a0a2020202066756e6374696f6e206d6f75736575707065642829207b0a202020202020762e6f6e28226d6f7573656d6f76652e7a6f6f6d206d6f75736575702e7a6f6f6d222c206e756c6c293b0a20202020202079657364726167286578706f7274732e6576656e742e766965772c20672e6d6f766564293b0a2020202020206e6f6576656e74243228293b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e2064626c636c69636b65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a20202020766172207430203d20746869732e5f5f7a6f6f6d2c0a20202020202020207030203d206d6f7573652874686973292c0a20202020202020207031203d2074302e696e76657274287030292c0a20202020202020206b31203d2074302e6b202a20286578706f7274732e6576656e742e73686966744b6579203f20302e35203a2032292c0a20202020202020207431203d20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a0a202020206e6f6576656e74243228293b0a20202020696620286475726174696f6e203e2030292073656c6563742874686973292e7472616e736974696f6e28292e6475726174696f6e286475726174696f6e292e63616c6c287363686564756c652c2074312c207030293b0a20202020656c73652073656c6563742874686973292e63616c6c287a6f6f6d2e7472616e73666f726d2c207431293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a2020202020202020737461727465642c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20742c20703b0a0a202020206e6f70726f7061676174696f6e243228293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d2c2070203d20746f75636828746869732c20746f75636865732424312c20742e6964656e746966696572293b0a20202020202070203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870292c20742e6964656e7469666965725d3b0a2020202020206966202821672e746f756368302920672e746f75636830203d20702c2073746172746564203d20747275653b0a202020202020656c7365206966202821672e746f756368312920672e746f75636831203d20703b0a202020207d0a0a202020202f2f204966207468697320697320612064626c7461702c207265726f75746520746f2074686520286f7074696f6e616c292064626c636c69636b2e7a6f6f6d2068616e646c65722e0a2020202069662028746f7563687374617274696e6729207b0a202020202020746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a2020202020206966202821672e746f7563683129207b0a2020202020202020672e656e6428293b0a202020202020202070203d2073656c6563742874686973292e6f6e282264626c636c69636b2e7a6f6f6d22293b0a202020202020202069662028702920702e6170706c7928746869732c20617267756d656e7473293b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a0a20202020696620287374617274656429207b0a202020202020746f7563687374617274696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f7563687374617274696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a202020202020696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20742c20702c206c3b0a0a202020206e6f6576656e74243228293b0a2020202069662028746f7563687374617274696e672920746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d2c2070203d20746f75636828746869732c20746f75636865732424312c20742e6964656e746966696572293b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e7469666965722920672e746f756368305b305d203d20703b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e7469666965722920672e746f756368315b305d203d20703b0a202020207d0a2020202074203d20672e746861742e5f5f7a6f6f6d3b0a2020202069662028672e746f7563683129207b0a202020202020766172207030203d20672e746f756368305b305d2c206c30203d20672e746f756368305b315d2c0a202020202020202020207031203d20672e746f756368315b305d2c206c31203d20672e746f756368315b315d2c0a202020202020202020206470203d20286470203d2070315b305d202d2070305b305d29202a206470202b20286470203d2070315b315d202d2070305b315d29202a2064702c0a20202020202020202020646c203d2028646c203d206c315b305d202d206c305b305d29202a20646c202b2028646c203d206c315b315d202d206c305b315d29202a20646c3b0a20202020202074203d207363616c6528742c204d6174682e73717274286470202f20646c29293b0a20202020202070203d205b2870305b305d202b2070315b305d29202f20322c202870305b315d202b2070315b315d29202f20325d3b0a2020202020206c203d205b286c305b305d202b206c315b305d29202f20322c20286c305b315d202b206c315b315d29202f20325d3b0a202020207d0a20202020656c73652069662028672e746f75636830292070203d20672e746f756368305b305d2c206c203d20672e746f756368305b315d3b0a20202020656c73652072657475726e3b0a20202020672e7a6f6f6d2822746f756368222c20636f6e73747261696e287472616e736c61746528742c20702c206c292c20672e657874656e742c207472616e736c617465457874656e7429293b0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20743b0a0a202020206e6f70726f7061676174696f6e243228293b0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d3b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368303b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368313b0a202020207d0a2020202069662028672e746f756368312026262021672e746f756368302920672e746f75636830203d20672e746f756368312c2064656c65746520672e746f756368313b0a2020202069662028672e746f756368302920672e746f756368305b315d203d20746869732e5f5f7a6f6f6d2e696e7665727428672e746f756368305b305d293b0a20202020656c736520672e656e6428293b0a20207d0a0a20207a6f6f6d2e776865656c44656c7461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028776865656c44656c7461203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243133282b5f292c207a6f6f6d29203a20776865656c44656c74613b0a20207d3b0a0a20207a6f6f6d2e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431332821215f292c207a6f6f6d29203a2066696c7465723b0a20207d3b0a0a20207a6f6f6d2e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431332821215f292c207a6f6f6d29203a20746f75636861626c653b0a20207d3b0a0a20207a6f6f6d2e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243133285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c207a6f6f6d29203a20657874656e743b0a20207d3b0a0a20207a6f6f6d2e7363616c65457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65457874656e745b305d203d202b5f5b305d2c207363616c65457874656e745b315d203d202b5f5b315d2c207a6f6f6d29203a205b7363616c65457874656e745b305d2c207363616c65457874656e745b315d5d3b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465457874656e745b305d5b305d203d202b5f5b305d5b305d2c207472616e736c617465457874656e745b315d5b305d203d202b5f5b315d5b305d2c207472616e736c617465457874656e745b305d5b315d203d202b5f5b305d5b315d2c207472616e736c617465457874656e745b315d5b315d203d202b5f5b315d5b315d2c207a6f6f6d29203a205b5b7472616e736c617465457874656e745b305d5b305d2c207472616e736c617465457874656e745b305d5b315d5d2c205b7472616e736c617465457874656e745b315d5b305d2c207472616e736c617465457874656e745b315d5b315d5d5d3b0a20207d3b0a0a20207a6f6f6d2e636f6e73747261696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e73747261696e203d205f2c207a6f6f6d29203a20636f6e73747261696e3b0a20207d3b0a0a20207a6f6f6d2e6475726174696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286475726174696f6e203d202b5f2c207a6f6f6d29203a206475726174696f6e3b0a20207d3b0a0a20207a6f6f6d2e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465203d205f2c207a6f6f6d29203a20696e746572706f6c6174653b0a20207d3b0a0a20207a6f6f6d2e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f207a6f6f6d203a2076616c75653b0a20207d3b0a0a20207a6f6f6d2e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c207a6f6f6d29203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e207a6f6f6d3b0a7d0a0a6578706f7274732e76657273696f6e203d2076657273696f6e3b0a6578706f7274732e626973656374203d2062697365637452696768743b0a6578706f7274732e6269736563745269676874203d2062697365637452696768743b0a6578706f7274732e6269736563744c656674203d206269736563744c6566743b0a6578706f7274732e617363656e64696e67203d20617363656e64696e673b0a6578706f7274732e6269736563746f72203d206269736563746f723b0a6578706f7274732e63726f7373203d2063726f73733b0a6578706f7274732e64657363656e64696e67203d2064657363656e64696e673b0a6578706f7274732e646576696174696f6e203d20646576696174696f6e3b0a6578706f7274732e657874656e74203d20657874656e743b0a6578706f7274732e686973746f6772616d203d20686973746f6772616d3b0a6578706f7274732e7468726573686f6c6446726565646d616e446961636f6e6973203d2066726565646d616e446961636f6e69733b0a6578706f7274732e7468726573686f6c6453636f7474203d2073636f74743b0a6578706f7274732e7468726573686f6c6453747572676573203d207468726573686f6c64537475726765733b0a6578706f7274732e6d6178203d206d61783b0a6578706f7274732e6d65616e203d206d65616e3b0a6578706f7274732e6d656469616e203d206d656469616e3b0a6578706f7274732e6d65726765203d206d657267653b0a6578706f7274732e6d696e203d206d696e3b0a6578706f7274732e7061697273203d2070616972733b0a6578706f7274732e7065726d757465203d207065726d7574653b0a6578706f7274732e7175616e74696c65203d207468726573686f6c643b0a6578706f7274732e72616e6765203d2073657175656e63653b0a6578706f7274732e7363616e203d207363616e3b0a6578706f7274732e73687566666c65203d2073687566666c653b0a6578706f7274732e73756d203d2073756d3b0a6578706f7274732e7469636b73203d207469636b733b0a6578706f7274732e7469636b496e6372656d656e74203d207469636b496e6372656d656e743b0a6578706f7274732e7469636b53746570203d207469636b537465703b0a6578706f7274732e7472616e73706f7365203d207472616e73706f73653b0a6578706f7274732e76617269616e6365203d2076617269616e63653b0a6578706f7274732e7a6970203d207a69703b0a6578706f7274732e61786973546f70203d2061786973546f703b0a6578706f7274732e617869735269676874203d206178697352696768743b0a6578706f7274732e61786973426f74746f6d203d2061786973426f74746f6d3b0a6578706f7274732e617869734c656674203d20617869734c6566743b0a6578706f7274732e6272757368203d2062727573683b0a6578706f7274732e627275736858203d206272757368583b0a6578706f7274732e627275736859203d206272757368593b0a6578706f7274732e627275736853656c656374696f6e203d20627275736853656c656374696f6e3b0a6578706f7274732e63686f7264203d2063686f72643b0a6578706f7274732e726962626f6e203d20726962626f6e3b0a6578706f7274732e6e657374203d206e6573743b0a6578706f7274732e736574203d2073657424323b0a6578706f7274732e6d6170203d206d617024313b0a6578706f7274732e6b657973203d206b6579733b0a6578706f7274732e76616c756573203d2076616c7565733b0a6578706f7274732e656e7472696573203d20656e74726965733b0a6578706f7274732e636f6c6f72203d20636f6c6f723b0a6578706f7274732e726762203d207267623b0a6578706f7274732e68736c203d2068736c3b0a6578706f7274732e6c6162203d206c61623b0a6578706f7274732e68636c203d2068636c3b0a6578706f7274732e6c6368203d206c63683b0a6578706f7274732e67726179203d20677261793b0a6578706f7274732e6375626568656c6978203d206375626568656c69783b0a6578706f7274732e636f6e746f757273203d20636f6e746f7572733b0a6578706f7274732e636f6e746f757244656e73697479203d2064656e736974793b0a6578706f7274732e6469737061746368203d2064697370617463683b0a6578706f7274732e64726167203d20647261673b0a6578706f7274732e6472616744697361626c65203d206472616744697361626c653b0a6578706f7274732e64726167456e61626c65203d20796573647261673b0a6578706f7274732e647376466f726d6174203d20647376466f726d61743b0a6578706f7274732e6373765061727365203d2063737650617273653b0a6578706f7274732e6373765061727365526f7773203d206373765061727365526f77733b0a6578706f7274732e637376466f726d6174203d20637376466f726d61743b0a6578706f7274732e637376466f726d6174526f7773203d20637376466f726d6174526f77733b0a6578706f7274732e7473765061727365203d2074737650617273653b0a6578706f7274732e7473765061727365526f7773203d207473765061727365526f77733b0a6578706f7274732e747376466f726d6174203d20747376466f726d61743b0a6578706f7274732e747376466f726d6174526f7773203d20747376466f726d6174526f77733b0a6578706f7274732e656173654c696e656172203d206c696e65617224313b0a6578706f7274732e6561736551756164203d2071756164496e4f75743b0a6578706f7274732e6561736551756164496e203d2071756164496e3b0a6578706f7274732e65617365517561644f7574203d20717561644f75743b0a6578706f7274732e6561736551756164496e4f7574203d2071756164496e4f75743b0a6578706f7274732e656173654375626963203d206375626963496e4f75743b0a6578706f7274732e656173654375626963496e203d206375626963496e3b0a6578706f7274732e6561736543756269634f7574203d2063756269634f75743b0a6578706f7274732e656173654375626963496e4f7574203d206375626963496e4f75743b0a6578706f7274732e65617365506f6c79203d20706f6c79496e4f75743b0a6578706f7274732e65617365506f6c79496e203d20706f6c79496e3b0a6578706f7274732e65617365506f6c794f7574203d20706f6c794f75743b0a6578706f7274732e65617365506f6c79496e4f7574203d20706f6c79496e4f75743b0a6578706f7274732e6561736553696e203d2073696e496e4f75743b0a6578706f7274732e6561736553696e496e203d2073696e496e3b0a6578706f7274732e6561736553696e4f7574203d2073696e4f75743b0a6578706f7274732e6561736553696e496e4f7574203d2073696e496e4f75743b0a6578706f7274732e65617365457870203d20657870496e4f75743b0a6578706f7274732e65617365457870496e203d20657870496e3b0a6578706f7274732e656173654578704f7574203d206578704f75743b0a6578706f7274732e65617365457870496e4f7574203d20657870496e4f75743b0a6578706f7274732e65617365436972636c65203d20636972636c65496e4f75743b0a6578706f7274732e65617365436972636c65496e203d20636972636c65496e3b0a6578706f7274732e65617365436972636c654f7574203d20636972636c654f75743b0a6578706f7274732e65617365436972636c65496e4f7574203d20636972636c65496e4f75743b0a6578706f7274732e65617365426f756e6365203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e203d20626f756e6365496e3b0a6578706f7274732e65617365426f756e63654f7574203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e4f7574203d20626f756e6365496e4f75743b0a6578706f7274732e656173654261636b203d206261636b496e4f75743b0a6578706f7274732e656173654261636b496e203d206261636b496e3b0a6578706f7274732e656173654261636b4f7574203d206261636b4f75743b0a6578706f7274732e656173654261636b496e4f7574203d206261636b496e4f75743b0a6578706f7274732e65617365456c6173746963203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e203d20656c6173746963496e3b0a6578706f7274732e65617365456c61737469634f7574203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e4f7574203d20656c6173746963496e4f75743b0a6578706f7274732e626c6f62203d20626c6f623b0a6578706f7274732e627566666572203d206275666665723b0a6578706f7274732e647376203d206473763b0a6578706f7274732e637376203d2063737624313b0a6578706f7274732e747376203d2074737624313b0a6578706f7274732e696d616765203d20696d6167653b0a6578706f7274732e6a736f6e203d206a736f6e3b0a6578706f7274732e74657874203d20746578743b0a6578706f7274732e786d6c203d20786d6c3b0a6578706f7274732e68746d6c203d2068746d6c3b0a6578706f7274732e737667203d207376673b0a6578706f7274732e666f72636543656e746572203d2063656e74657224313b0a6578706f7274732e666f726365436f6c6c696465203d20636f6c6c6964653b0a6578706f7274732e666f7263654c696e6b203d206c696e6b3b0a6578706f7274732e666f7263654d616e79426f6479203d206d616e79426f64793b0a6578706f7274732e666f72636552616469616c203d2072616469616c3b0a6578706f7274732e666f72636553696d756c6174696f6e203d2073696d756c6174696f6e3b0a6578706f7274732e666f72636558203d207824323b0a6578706f7274732e666f72636559203d207924323b0a6578706f7274732e666f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e666f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e666f726d6174537065636966696572203d20666f726d61745370656369666965723b0a6578706f7274732e707265636973696f6e4669786564203d20707265636973696f6e46697865643b0a6578706f7274732e707265636973696f6e507265666978203d20707265636973696f6e5072656669783b0a6578706f7274732e707265636973696f6e526f756e64203d20707265636973696f6e526f756e643b0a6578706f7274732e67656f41726561203d206172656124313b0a6578706f7274732e67656f426f756e6473203d20626f756e64733b0a6578706f7274732e67656f43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e67656f436972636c65203d20636972636c653b0a6578706f7274732e67656f436c6970416e74696d6572696469616e203d20636c6970416e74696d6572696469616e3b0a6578706f7274732e67656f436c6970436972636c65203d20636c6970436972636c653b0a6578706f7274732e67656f436c6970457874656e74203d20657874656e7424313b0a6578706f7274732e67656f436c697052656374616e676c65203d20636c697052656374616e676c653b0a6578706f7274732e67656f436f6e7461696e73203d20636f6e7461696e7324313b0a6578706f7274732e67656f44697374616e6365203d2064697374616e63653b0a6578706f7274732e67656f477261746963756c65203d20677261746963756c653b0a6578706f7274732e67656f477261746963756c653130203d20677261746963756c6531303b0a6578706f7274732e67656f496e746572706f6c617465203d20696e746572706f6c61746524313b0a6578706f7274732e67656f4c656e677468203d206c656e67746824313b0a6578706f7274732e67656f50617468203d20696e64657824313b0a6578706f7274732e67656f416c62657273203d20616c626572733b0a6578706f7274732e67656f416c62657273557361203d20616c626572735573613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561203d20617a696d757468616c457175616c417265613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561526177203d20617a696d757468616c457175616c417265615261773b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74203d20617a696d757468616c4571756964697374616e743b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74526177203d20617a696d757468616c4571756964697374616e745261773b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c203d20636f6e6963436f6e666f726d616c3b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c526177203d20636f6e6963436f6e666f726d616c5261773b0a6578706f7274732e67656f436f6e6963457175616c41726561203d20636f6e6963457175616c417265613b0a6578706f7274732e67656f436f6e6963457175616c41726561526177203d20636f6e6963457175616c417265615261773b0a6578706f7274732e67656f436f6e69634571756964697374616e74203d20636f6e69634571756964697374616e743b0a6578706f7274732e67656f436f6e69634571756964697374616e74526177203d20636f6e69634571756964697374616e745261773b0a6578706f7274732e67656f4571756972656374616e67756c6172203d206571756972656374616e67756c61723b0a6578706f7274732e67656f4571756972656374616e67756c6172526177203d206571756972656374616e67756c61725261773b0a6578706f7274732e67656f476e6f6d6f6e6963203d20676e6f6d6f6e69633b0a6578706f7274732e67656f476e6f6d6f6e6963526177203d20676e6f6d6f6e69635261773b0a6578706f7274732e67656f4964656e74697479203d206964656e7469747924353b0a6578706f7274732e67656f50726f6a656374696f6e203d2070726f6a656374696f6e3b0a6578706f7274732e67656f50726f6a656374696f6e4d757461746f72203d2070726f6a656374696f6e4d757461746f723b0a6578706f7274732e67656f4d65726361746f72203d206d65726361746f723b0a6578706f7274732e67656f4d65726361746f72526177203d206d65726361746f725261773b0a6578706f7274732e67656f4e61747572616c456172746831203d206e61747572616c4561727468313b0a6578706f7274732e67656f4e61747572616c456172746831526177203d206e61747572616c4561727468315261773b0a6578706f7274732e67656f4f7274686f67726170686963203d206f7274686f677261706869633b0a6578706f7274732e67656f4f7274686f67726170686963526177203d206f7274686f677261706869635261773b0a6578706f7274732e67656f53746572656f67726170686963203d2073746572656f677261706869633b0a6578706f7274732e67656f53746572656f67726170686963526177203d2073746572656f677261706869635261773b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72203d207472616e7376657273654d65726361746f723b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72526177203d207472616e7376657273654d65726361746f725261773b0a6578706f7274732e67656f526f746174696f6e203d20726f746174696f6e3b0a6578706f7274732e67656f53747265616d203d2067656f53747265616d3b0a6578706f7274732e67656f5472616e73666f726d203d207472616e73666f726d3b0a6578706f7274732e636c7573746572203d20636c75737465723b0a6578706f7274732e686965726172636879203d206869657261726368793b0a6578706f7274732e7061636b203d20696e64657824323b0a6578706f7274732e7061636b5369626c696e6773203d207369626c696e67733b0a6578706f7274732e7061636b456e636c6f7365203d20656e636c6f73653b0a6578706f7274732e706172746974696f6e203d20706172746974696f6e3b0a6578706f7274732e7374726174696679203d2073747261746966793b0a6578706f7274732e74726565203d20747265653b0a6578706f7274732e747265656d6170203d20696e64657824333b0a6578706f7274732e747265656d617042696e617279203d2062696e6172793b0a6578706f7274732e747265656d617044696365203d20747265656d6170446963653b0a6578706f7274732e747265656d6170536c696365203d20747265656d6170536c6963653b0a6578706f7274732e747265656d6170536c69636544696365203d20736c696365446963653b0a6578706f7274732e747265656d61705371756172696679203d2073717561726966793b0a6578706f7274732e747265656d617052657371756172696679203d20726573717561726966793b0a6578706f7274732e696e746572706f6c617465203d20696e746572706f6c61746556616c75653b0a6578706f7274732e696e746572706f6c6174654172726179203d20617272617924313b0a6578706f7274732e696e746572706f6c6174654261736973203d20626173697324313b0a6578706f7274732e696e746572706f6c6174654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746544617465203d20646174653b0a6578706f7274732e696e746572706f6c6174654e756d626572203d207265696e746572706f6c6174653b0a6578706f7274732e696e746572706f6c6174654f626a656374203d206f626a6563743b0a6578706f7274732e696e746572706f6c617465526f756e64203d20696e746572706f6c617465526f756e643b0a6578706f7274732e696e746572706f6c617465537472696e67203d20696e746572706f6c617465537472696e673b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d4373733b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d5376673b0a6578706f7274732e696e746572706f6c6174655a6f6f6d203d20696e746572706f6c6174655a6f6f6d3b0a6578706f7274732e696e746572706f6c617465526762203d20696e746572706f6c6174655267623b0a6578706f7274732e696e746572706f6c6174655267624261736973203d2072676242617369733b0a6578706f7274732e696e746572706f6c6174655267624261736973436c6f736564203d207267624261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746548736c203d2068736c24323b0a6578706f7274732e696e746572706f6c61746548736c4c6f6e67203d2068736c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654c6162203d206c616224313b0a6578706f7274732e696e746572706f6c61746548636c203d2068636c24323b0a6578706f7274732e696e746572706f6c61746548636c4c6f6e67203d2068636c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654375626568656c6978203d206375626568656c697824323b0a6578706f7274732e696e746572706f6c6174654375626568656c69784c6f6e67203d206375626568656c69784c6f6e673b0a6578706f7274732e706965636577697365203d207069656365776973653b0a6578706f7274732e7175616e74697a65203d207175616e74697a653b0a6578706f7274732e70617468203d20706174683b0a6578706f7274732e706f6c79676f6e41726561203d206172656124323b0a6578706f7274732e706f6c79676f6e43656e74726f6964203d2063656e74726f696424313b0a6578706f7274732e706f6c79676f6e48756c6c203d2068756c6c3b0a6578706f7274732e706f6c79676f6e436f6e7461696e73203d20636f6e7461696e7324323b0a6578706f7274732e706f6c79676f6e4c656e677468203d206c656e67746824323b0a6578706f7274732e7175616474726565203d2071756164747265653b0a6578706f7274732e72616e646f6d556e69666f726d203d20756e69666f726d3b0a6578706f7274732e72616e646f6d4e6f726d616c203d206e6f726d616c3b0a6578706f7274732e72616e646f6d4c6f674e6f726d616c203d206c6f674e6f726d616c3b0a6578706f7274732e72616e646f6d4261746573203d2062617465733b0a6578706f7274732e72616e646f6d497277696e48616c6c203d20697277696e48616c6c3b0a6578706f7274732e72616e646f6d4578706f6e656e7469616c203d206578706f6e656e7469616c24313b0a6578706f7274732e7363616c6542616e64203d2062616e643b0a6578706f7274732e7363616c65506f696e74203d20706f696e7424313b0a6578706f7274732e7363616c654964656e74697479203d206964656e7469747924363b0a6578706f7274732e7363616c654c696e656172203d206c696e65617224323b0a6578706f7274732e7363616c654c6f67203d206c6f6724313b0a6578706f7274732e7363616c654f7264696e616c203d206f7264696e616c3b0a6578706f7274732e7363616c65496d706c69636974203d20696d706c696369743b0a6578706f7274732e7363616c65506f77203d20706f7724313b0a6578706f7274732e7363616c6553717274203d207371727424313b0a6578706f7274732e7363616c655175616e74696c65203d207175616e74696c652424313b0a6578706f7274732e7363616c655175616e74697a65203d207175616e74697a6524313b0a6578706f7274732e7363616c655468726573686f6c64203d207468726573686f6c6424313b0a6578706f7274732e7363616c6554696d65203d2074696d653b0a6578706f7274732e7363616c65557463203d2075746354696d653b0a6578706f7274732e7363616c6553657175656e7469616c203d2073657175656e7469616c3b0a6578706f7274732e7363616c65446976657267696e67203d20646976657267696e673b0a6578706f7274732e736368656d6543617465676f72793130203d2063617465676f727931303b0a6578706f7274732e736368656d65416363656e74203d20416363656e743b0a6578706f7274732e736368656d654461726b32203d204461726b323b0a6578706f7274732e736368656d65506169726564203d205061697265643b0a6578706f7274732e736368656d6550617374656c31203d2050617374656c313b0a6578706f7274732e736368656d6550617374656c32203d2050617374656c323b0a6578706f7274732e736368656d6553657431203d20536574313b0a6578706f7274732e736368656d6553657432203d20536574323b0a6578706f7274732e736368656d6553657433203d20536574333b0a6578706f7274732e696e746572706f6c61746542724247203d20427242473b0a6578706f7274732e736368656d6542724247203d20736368656d653b0a6578706f7274732e696e746572706f6c6174655052476e203d205052476e3b0a6578706f7274732e736368656d655052476e203d20736368656d6524313b0a6578706f7274732e696e746572706f6c61746550695947203d20506959473b0a6578706f7274732e736368656d6550695947203d20736368656d6524323b0a6578706f7274732e696e746572706f6c61746550754f72203d2050754f723b0a6578706f7274732e736368656d6550754f72203d20736368656d6524333b0a6578706f7274732e696e746572706f6c61746552644275203d20526442753b0a6578706f7274732e736368656d6552644275203d20736368656d6524343b0a6578706f7274732e696e746572706f6c61746552644779203d20526447793b0a6578706f7274732e736368656d6552644779203d20736368656d6524353b0a6578706f7274732e696e746572706f6c6174655264596c4275203d205264596c42753b0a6578706f7274732e736368656d655264596c4275203d20736368656d6524363b0a6578706f7274732e696e746572706f6c6174655264596c476e203d205264596c476e3b0a6578706f7274732e736368656d655264596c476e203d20736368656d6524373b0a6578706f7274732e696e746572706f6c617465537065637472616c203d20537065637472616c3b0a6578706f7274732e736368656d65537065637472616c203d20736368656d6524383b0a6578706f7274732e696e746572706f6c6174654275476e203d204275476e3b0a6578706f7274732e736368656d654275476e203d20736368656d6524393b0a6578706f7274732e696e746572706f6c61746542755075203d20427550753b0a6578706f7274732e736368656d6542755075203d20736368656d652431303b0a6578706f7274732e696e746572706f6c617465476e4275203d20476e42753b0a6578706f7274732e736368656d65476e4275203d20736368656d652431313b0a6578706f7274732e696e746572706f6c6174654f725264203d204f7252643b0a6578706f7274732e736368656d654f725264203d20736368656d652431323b0a6578706f7274732e696e746572706f6c61746550754275476e203d2050754275476e3b0a6578706f7274732e736368656d6550754275476e203d20736368656d652431333b0a6578706f7274732e696e746572706f6c61746550754275203d20507542753b0a6578706f7274732e736368656d6550754275203d20736368656d652431343b0a6578706f7274732e696e746572706f6c61746550755264203d20507552643b0a6578706f7274732e736368656d6550755264203d20736368656d652431353b0a6578706f7274732e696e746572706f6c61746552645075203d20526450753b0a6578706f7274732e736368656d6552645075203d20736368656d652431363b0a6578706f7274732e696e746572706f6c617465596c476e4275203d20596c476e42753b0a6578706f7274732e736368656d65596c476e4275203d20736368656d652431373b0a6578706f7274732e696e746572706f6c617465596c476e203d20596c476e3b0a6578706f7274732e736368656d65596c476e203d20736368656d652431383b0a6578706f7274732e696e746572706f6c617465596c4f724272203d20596c4f7242723b0a6578706f7274732e736368656d65596c4f724272203d20736368656d652431393b0a6578706f7274732e696e746572706f6c617465596c4f725264203d20596c4f7252643b0a6578706f7274732e736368656d65596c4f725264203d20736368656d652432303b0a6578706f7274732e696e746572706f6c617465426c756573203d20426c7565733b0a6578706f7274732e736368656d65426c756573203d20736368656d652432313b0a6578706f7274732e696e746572706f6c617465477265656e73203d20477265656e733b0a6578706f7274732e736368656d65477265656e73203d20736368656d652432323b0a6578706f7274732e696e746572706f6c6174654772657973203d2047726579733b0a6578706f7274732e736368656d654772657973203d20736368656d652432333b0a6578706f7274732e696e746572706f6c617465507572706c6573203d20507572706c65733b0a6578706f7274732e736368656d65507572706c6573203d20736368656d652432343b0a6578706f7274732e696e746572706f6c61746552656473203d20526564733b0a6578706f7274732e736368656d6552656473203d20736368656d652432353b0a6578706f7274732e696e746572706f6c6174654f72616e676573203d204f72616e6765733b0a6578706f7274732e736368656d654f72616e676573203d20736368656d652432363b0a6578706f7274732e696e746572706f6c6174654375626568656c697844656661756c74203d206375626568656c697824333b0a6578706f7274732e696e746572706f6c6174655261696e626f77203d207261696e626f773b0a6578706f7274732e696e746572706f6c6174655761726d203d207761726d3b0a6578706f7274732e696e746572706f6c617465436f6f6c203d20636f6f6c3b0a6578706f7274732e696e746572706f6c61746553696e65626f77203d2073696e65626f773b0a6578706f7274732e696e746572706f6c61746556697269646973203d20766972696469733b0a6578706f7274732e696e746572706f6c6174654d61676d61203d206d61676d613b0a6578706f7274732e696e746572706f6c617465496e6665726e6f203d20696e6665726e6f3b0a6578706f7274732e696e746572706f6c617465506c61736d61203d20706c61736d613b0a6578706f7274732e637265617465203d206372656174653b0a6578706f7274732e63726561746f72203d2063726561746f723b0a6578706f7274732e6c6f63616c203d206c6f63616c3b0a6578706f7274732e6d617463686572203d206d61746368657224313b0a6578706f7274732e6d6f757365203d206d6f7573653b0a6578706f7274732e6e616d657370616365203d206e616d6573706163653b0a6578706f7274732e6e616d65737061636573203d206e616d657370616365733b0a6578706f7274732e636c69656e74506f696e74203d20706f696e743b0a6578706f7274732e73656c656374203d2073656c6563743b0a6578706f7274732e73656c656374416c6c203d2073656c656374416c6c3b0a6578706f7274732e73656c656374696f6e203d2073656c656374696f6e3b0a6578706f7274732e73656c6563746f72203d2073656c6563746f723b0a6578706f7274732e73656c6563746f72416c6c203d2073656c6563746f72416c6c3b0a6578706f7274732e7374796c65203d207374796c6556616c75653b0a6578706f7274732e746f756368203d20746f7563683b0a6578706f7274732e746f7563686573203d20746f75636865733b0a6578706f7274732e77696e646f77203d2064656661756c74566965773b0a6578706f7274732e637573746f6d4576656e74203d20637573746f6d4576656e743b0a6578706f7274732e617263203d206172633b0a6578706f7274732e61726561203d206172656124333b0a6578706f7274732e6c696e65203d206c696e653b0a6578706f7274732e706965203d207069653b0a6578706f7274732e6172656152616469616c203d206172656152616469616c3b0a6578706f7274732e72616469616c41726561203d206172656152616469616c3b0a6578706f7274732e6c696e6552616469616c203d206c696e6552616469616c24313b0a6578706f7274732e72616469616c4c696e65203d206c696e6552616469616c24313b0a6578706f7274732e706f696e7452616469616c203d20706f696e7452616469616c3b0a6578706f7274732e6c696e6b486f72697a6f6e74616c203d206c696e6b486f72697a6f6e74616c3b0a6578706f7274732e6c696e6b566572746963616c203d206c696e6b566572746963616c3b0a6578706f7274732e6c696e6b52616469616c203d206c696e6b52616469616c3b0a6578706f7274732e73796d626f6c203d2073796d626f6c3b0a6578706f7274732e73796d626f6c73203d2073796d626f6c733b0a6578706f7274732e73796d626f6c436972636c65203d20636972636c6524323b0a6578706f7274732e73796d626f6c43726f7373203d2063726f737324323b0a6578706f7274732e73796d626f6c4469616d6f6e64203d206469616d6f6e643b0a6578706f7274732e73796d626f6c537175617265203d207371756172653b0a6578706f7274732e73796d626f6c53746172203d20737461723b0a6578706f7274732e73796d626f6c547269616e676c65203d20747269616e676c653b0a6578706f7274732e73796d626f6c577965203d207779653b0a6578706f7274732e63757276654261736973436c6f736564203d206261736973436c6f73656424313b0a6578706f7274732e637572766542617369734f70656e203d2062617369734f70656e3b0a6578706f7274732e63757276654261736973203d20626173697324323b0a6578706f7274732e637572766542756e646c65203d2062756e646c653b0a6578706f7274732e637572766543617264696e616c436c6f736564203d2063617264696e616c436c6f7365643b0a6578706f7274732e637572766543617264696e616c4f70656e203d2063617264696e616c4f70656e3b0a6578706f7274732e637572766543617264696e616c203d2063617264696e616c3b0a6578706f7274732e63757276654361746d756c6c526f6d436c6f736564203d206361746d756c6c526f6d436c6f7365643b0a6578706f7274732e63757276654361746d756c6c526f6d4f70656e203d206361746d756c6c526f6d4f70656e3b0a6578706f7274732e63757276654361746d756c6c526f6d203d206361746d756c6c526f6d3b0a6578706f7274732e63757276654c696e656172436c6f736564203d206c696e656172436c6f7365643b0a6578706f7274732e63757276654c696e656172203d2063757276654c696e6561723b0a6578706f7274732e63757276654d6f6e6f746f6e6558203d206d6f6e6f746f6e65583b0a6578706f7274732e63757276654d6f6e6f746f6e6559203d206d6f6e6f746f6e65593b0a6578706f7274732e63757276654e61747572616c203d206e61747572616c3b0a6578706f7274732e637572766553746570203d20737465703b0a6578706f7274732e6375727665537465704166746572203d207374657041667465723b0a6578706f7274732e6375727665537465704265666f7265203d20737465704265666f72653b0a6578706f7274732e737461636b203d20737461636b3b0a6578706f7274732e737461636b4f6666736574457870616e64203d20657870616e643b0a6578706f7274732e737461636b4f6666736574446976657267696e67203d20646976657267696e6724313b0a6578706f7274732e737461636b4f66667365744e6f6e65203d206e6f6e6524313b0a6578706f7274732e737461636b4f666673657453696c686f7565747465203d2073696c686f75657474653b0a6578706f7274732e737461636b4f6666736574576967676c65203d20776967676c653b0a6578706f7274732e737461636b4f72646572417363656e64696e67203d20617363656e64696e6724333b0a6578706f7274732e737461636b4f7264657244657363656e64696e67203d2064657363656e64696e6724323b0a6578706f7274732e737461636b4f72646572496e736964654f7574203d20696e736964654f75743b0a6578706f7274732e737461636b4f726465724e6f6e65203d206e6f6e6524323b0a6578706f7274732e737461636b4f7264657252657665727365203d20726576657273653b0a6578706f7274732e74696d65496e74657276616c203d206e6577496e74657276616c3b0a6578706f7274732e74696d654d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e74696d654d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e7574634d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e7574634d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e74696d655365636f6e64203d207365636f6e643b0a6578706f7274732e74696d655365636f6e6473203d207365636f6e64733b0a6578706f7274732e7574635365636f6e64203d207365636f6e643b0a6578706f7274732e7574635365636f6e6473203d207365636f6e64733b0a6578706f7274732e74696d654d696e757465203d206d696e7574653b0a6578706f7274732e74696d654d696e75746573203d206d696e757465733b0a6578706f7274732e74696d65486f7572203d20686f75723b0a6578706f7274732e74696d65486f757273203d20686f7572733b0a6578706f7274732e74696d65446179203d206461793b0a6578706f7274732e74696d6544617973203d20646179733b0a6578706f7274732e74696d655765656b203d2073756e6461793b0a6578706f7274732e74696d655765656b73203d2073756e646179733b0a6578706f7274732e74696d6553756e646179203d2073756e6461793b0a6578706f7274732e74696d6553756e64617973203d2073756e646179733b0a6578706f7274732e74696d654d6f6e646179203d206d6f6e6461793b0a6578706f7274732e74696d654d6f6e64617973203d206d6f6e646179733b0a6578706f7274732e74696d6554756573646179203d20747565736461793b0a6578706f7274732e74696d655475657364617973203d2074756573646179733b0a6578706f7274732e74696d655765646e6573646179203d207765646e65736461793b0a6578706f7274732e74696d655765646e657364617973203d207765646e6573646179733b0a6578706f7274732e74696d655468757273646179203d2074687572736461793b0a6578706f7274732e74696d65546875727364617973203d207468757273646179733b0a6578706f7274732e74696d65467269646179203d206672696461793b0a6578706f7274732e74696d6546726964617973203d20667269646179733b0a6578706f7274732e74696d655361747572646179203d2073617475726461793b0a6578706f7274732e74696d65536174757264617973203d207361747572646179733b0a6578706f7274732e74696d654d6f6e7468203d206d6f6e74683b0a6578706f7274732e74696d654d6f6e746873203d206d6f6e7468733b0a6578706f7274732e74696d6559656172203d20796561723b0a6578706f7274732e74696d655965617273203d2079656172733b0a6578706f7274732e7574634d696e757465203d207574634d696e7574653b0a6578706f7274732e7574634d696e75746573203d207574634d696e757465733b0a6578706f7274732e757463486f7572203d20757463486f75723b0a6578706f7274732e757463486f757273203d20757463486f7572733b0a6578706f7274732e757463446179203d207574634461793b0a6578706f7274732e75746344617973203d20757463446179733b0a6578706f7274732e7574635765656b203d2075746353756e6461793b0a6578706f7274732e7574635765656b73203d2075746353756e646179733b0a6578706f7274732e75746353756e646179203d2075746353756e6461793b0a6578706f7274732e75746353756e64617973203d2075746353756e646179733b0a6578706f7274732e7574634d6f6e646179203d207574634d6f6e6461793b0a6578706f7274732e7574634d6f6e64617973203d207574634d6f6e646179733b0a6578706f7274732e75746354756573646179203d20757463547565736461793b0a6578706f7274732e7574635475657364617973203d2075746354756573646179733b0a6578706f7274732e7574635765646e6573646179203d207574635765646e65736461793b0a6578706f7274732e7574635765646e657364617973203d207574635765646e6573646179733b0a6578706f7274732e7574635468757273646179203d2075746354687572736461793b0a6578706f7274732e757463546875727364617973203d207574635468757273646179733b0a6578706f7274732e757463467269646179203d207574634672696461793b0a6578706f7274732e75746346726964617973203d20757463467269646179733b0a6578706f7274732e7574635361747572646179203d2075746353617475726461793b0a6578706f7274732e757463536174757264617973203d207574635361747572646179733b0a6578706f7274732e7574634d6f6e7468203d207574634d6f6e74683b0a6578706f7274732e7574634d6f6e746873203d207574634d6f6e7468733b0a6578706f7274732e75746359656172203d20757463596561723b0a6578706f7274732e7574635965617273203d2075746359656172733b0a6578706f7274732e74696d65466f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c6524313b0a6578706f7274732e74696d65466f726d61744c6f63616c65203d20666f726d61744c6f63616c6524313b0a6578706f7274732e69736f466f726d6174203d20666f726d617449736f3b0a6578706f7274732e69736f5061727365203d20706172736549736f3b0a6578706f7274732e6e6f77203d206e6f773b0a6578706f7274732e74696d6572203d2074696d65723b0a6578706f7274732e74696d6572466c757368203d2074696d6572466c7573683b0a6578706f7274732e74696d656f7574203d2074696d656f757424313b0a6578706f7274732e696e74657276616c203d20696e74657276616c24313b0a6578706f7274732e7472616e736974696f6e203d207472616e736974696f6e3b0a6578706f7274732e616374697665203d206163746976653b0a6578706f7274732e696e74657272757074203d20696e746572727570743b0a6578706f7274732e766f726f6e6f69203d20766f726f6e6f693b0a6578706f7274732e7a6f6f6d203d207a6f6f6d3b0a6578706f7274732e7a6f6f6d5472616e73666f726d203d207472616e73666f726d24313b0a6578706f7274732e7a6f6f6d4964656e74697479203d206964656e7469747924383b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a',0,0,'2018-08-28T20:50:21.951Z','2018-08-28T20:50:21.960Z','file','application/x-javascript','AuW/14f0Qf'); -INSERT INTO notes VALUES('bFTtwsnNgw9T','dagreD3',X'2866756e6374696f6e2866297b696628747970656f66206578706f7274733d3d3d226f626a656374222626747970656f66206d6f64756c65213d3d22756e646566696e656422297b6d6f64756c652e6578706f7274733d6628297d656c736520696628747970656f6620646566696e653d3d3d2266756e6374696f6e222626646566696e652e616d64297b646566696e65285b5d2c66297d656c73657b76617220673b696628747970656f662077696e646f77213d3d22756e646566696e656422297b673d77696e646f777d656c736520696628747970656f6620676c6f62616c213d3d22756e646566696e656422297b673d676c6f62616c7d656c736520696628747970656f662073656c66213d3d22756e646566696e656422297b673d73656c667d656c73657b673d746869737d672e64616772654433203d206628297d7d292866756e6374696f6e28297b76617220646566696e652c6d6f64756c652c6578706f7274733b72657475726e202866756e6374696f6e206528742c6e2c72297b66756e6374696f6e2073286f2c75297b696628216e5b6f5d297b69662821745b6f5d297b76617220613d747970656f6620726571756972653d3d2266756e6374696f6e222626726571756972653b69662821752626612972657475726e2061286f2c2130293b696628692972657475726e2069286f2c2130293b76617220663d6e6577204572726f72282243616e6e6f742066696e64206d6f64756c652027222b6f2b222722293b7468726f7720662e636f64653d224d4f44554c455f4e4f545f464f554e44222c667d766172206c3d6e5b6f5d3d7b6578706f7274733a7b7d7d3b745b6f5d5b305d2e63616c6c286c2e6578706f7274732c66756e6374696f6e2865297b766172206e3d745b6f5d5b315d5b655d3b72657475726e2073286e3f6e3a65297d2c6c2c6c2e6578706f7274732c652c742c6e2c72297d72657475726e206e5b6f5d2e6578706f7274737d76617220693d747970656f6620726571756972653d3d2266756e6374696f6e222626726571756972653b666f7228766172206f3d303b6f3c722e6c656e6774683b6f2b2b297328725b6f5d293b72657475726e20737d29287b313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2a0a202a20406c6963656e73650a202a20436f707972696768742028632920323031322d3230313320436872697320506574746974740a202a0a202a205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e67206120636f70790a202a206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468652022536f66747761726522292c20746f206465616c0a202a20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e6720776974686f7574206c696d69746174696f6e20746865207269676874730a202a20746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c0a202a20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d697420706572736f6e7320746f2077686f6d2074686520536f6674776172652069730a202a206675726e697368656420746f20646f20736f2c207375626a65637420746f2074686520666f6c6c6f77696e6720636f6e646974696f6e733a0a202a0a202a205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c7564656420696e0a202a20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a202a0a202a2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c2045585052455353204f520a202a20494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f46204d45524348414e544142494c4954592c0a202a204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e204e4f204556454e54205348414c4c205448450a202a20415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c2044414d41474553204f52204f544845520a202a204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f52204f54484552574953452c2041524953494e472046524f4d2c0a202a204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f522054484520555345204f52204f54484552204445414c494e475320494e0a202a2054484520534f4654574152452e0a202a2f0a6d6f64756c652e6578706f727473203d20207b0a202067726170686c69623a207265717569726528222e2f6c69622f67726170686c696222292c0a202064616772653a207265717569726528222e2f6c69622f646167726522292c0a2020696e746572736563743a207265717569726528222e2f6c69622f696e7465727365637422292c0a202072656e6465723a207265717569726528222e2f6c69622f72656e64657222292c0a20207574696c3a207265717569726528222e2f6c69622f7574696c22292c0a202076657273696f6e3a207265717569726528222e2f6c69622f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6c69622f6461677265223a382c222e2f6c69622f67726170686c6962223a392c222e2f6c69622f696e74657273656374223a31302c222e2f6c69622f72656e646572223a32352c222e2f6c69622f7574696c223a32372c222e2f6c69622f76657273696f6e223a32387d5d2c323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a20202264656661756c74223a206e6f726d616c2c0a2020226e6f726d616c223a206e6f726d616c2c0a202022766565223a207665652c0a202022756e6469726563746564223a20756e64697265637465640a7d3b0a0a66756e6374696f6e206e6f726d616c28706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302030204c2031302035204c2030203130207a22290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a66756e6374696f6e2076656528706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302030204c2031302035204c2030203130204c20342035207a22290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a66756e6374696f6e20756e646972656374656428706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302035204c203130203522290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a7d2c7b222e2f7574696c223a32377d5d2c333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22293b0a0a6d6f64756c652e6578706f727473203d20637265617465436c7573746572733b0a0a66756e6374696f6e20637265617465436c7573746572732873656c656374696f6e2c206729207b0a202076617220636c757374657273203d20672e6e6f64657328292e66696c7465722866756e6374696f6e287629207b2072657475726e207574696c2e6973537562677261706828672c2076293b207d292c0a202020202020737667436c757374657273203d2073656c656374696f6e2e73656c656374416c6c2822672e636c757374657222290a20202020202020202e6461746128636c7573746572732c2066756e6374696f6e287629207b2072657475726e20763b207d293b0a0a2020737667436c7573746572732e73656c656374416c6c28222a22292e72656d6f766528293b0a2020737667436c7573746572732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c2022636c757374657222290a2020202020202e6174747228226964222c66756e6374696f6e2876297b0a20202020202020202020766172206e6f6465203d20672e6e6f64652876293b0a2020202020202020202072657475726e206e6f64652e69643b0a2020202020207d290a2020202020202e7374796c6528226f706163697479222c2030293b0a20200a2020737667436c757374657273203d2073656c656374696f6e2e73656c656374416c6c2822672e636c757374657222293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667436c7573746572732c2067290a202020202e7374796c6528226f706163697479222c2031293b0a0a2020737667436c7573746572732e656163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020207468697347726f7570203d2064332e73656c6563742874686973293b0a2020202064332e73656c6563742874686973292e617070656e6428227265637422293b0a20202020766172206c6162656c47726f7570203d207468697347726f75702e617070656e6428226722292e617474722822636c617373222c20226c6162656c22293b0a202020206164644c6162656c286c6162656c47726f75702c206e6f64652c206e6f64652e636c75737465724c6162656c506f73293b0a20207d293b0a0a2020737667436c7573746572732e73656c656374416c6c28227265637422292e656163682866756e6374696f6e286329207b0a20202020766172206e6f6465203d20672e6e6f64652863293b0a2020202076617220646f6d436c7573746572203d2064332e73656c6563742874686973293b0a202020207574696c2e6170706c795374796c6528646f6d436c75737465722c206e6f64652e7374796c65293b0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667436c7573746572732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e20737667436c7573746572733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f7574696c223a32377d5d2c343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20637265617465456467654c6162656c733b0a0a66756e6374696f6e20637265617465456467654c6162656c732873656c656374696f6e2c206729207b0a202076617220737667456467654c6162656c73203d2073656c656374696f6e2e73656c656374416c6c2822672e656467654c6162656c22290a202020202e6461746128672e656467657328292c2066756e6374696f6e286529207b2072657475726e207574696c2e65646765546f49642865293b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a2020737667456467654c6162656c732e73656c656374416c6c28222a22292e72656d6f766528293b0a2020737667456467654c6162656c732e656e74657228290a202020202e617070656e6428226722290a2020202020202e636c61737365642822656467654c6162656c222c2074727565290a2020202020202e7374796c6528226f706163697479222c2030293b0a0a2020737667456467654c6162656c73203d2073656c656374696f6e2e73656c656374416c6c2822672e656467654c6162656c22293b0a20200a2020737667456467654c6162656c732e656163682866756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865292c0a20202020202020206c6162656c203d206164644c6162656c2864332e73656c6563742874686973292c20672e656467652865292c20302c2030292e636c617373656428226c6162656c222c2074727565292c0a202020202020202062626f78203d206c6162656c2e6e6f646528292e67657442426f7828293b0a0a2020202069662028656467652e6c6162656c496429207b206c6162656c2e6174747228226964222c20656467652e6c6162656c4964293b207d0a2020202069662028215f2e68617328656467652c20227769647468222929207b20656467652e7769647468203d2062626f782e77696474683b207d0a2020202069662028215f2e68617328656467652c2022686569676874222929207b20656467652e686569676874203d2062626f782e6865696768743b207d0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667456467654c6162656c732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e20737667456467654c6162656c733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020696e746572736563744e6f6465203d207265717569726528222e2f696e746572736563742f696e746572736563742d6e6f646522292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a6d6f64756c652e6578706f727473203d206372656174654564676550617468733b0a0a66756e6374696f6e206372656174654564676550617468732873656c656374696f6e2c20672c206172726f777329207b0a2020766172207376675061746873203d2073656c656374696f6e2e73656c656374416c6c2822672e656467655061746822290a202020202e6461746128672e656467657328292c2066756e6374696f6e286529207b2072657475726e207574696c2e65646765546f49642865293b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a2020656e7465722873766750617468732c2067293b0a2020657869742873766750617468732c2067293b0a0a20207376675061746873203d2073656c656374696f6e2e73656c656374416c6c2822672e656467655061746822293b0a0a20207574696c2e6170706c795472616e736974696f6e2873766750617468732c2067290a202020202e7374796c6528226f706163697479222c2031293b0a0a20202f2f205361766520444f4d20656c656d656e7420696e2074686520706174682067726f75702c20616e642073657420494420616e6420636c6173730a202073766750617468732e656163682866756e6374696f6e286529207b0a2020202076617220646f6d45646765203d2064332e73656c6563742874686973293b0a202020207661722065646765203d20672e656467652865293b0a20202020656467652e656c656d203d20746869733b0a0a2020202069662028656467652e696429207b0a202020202020646f6d456467652e6174747228226964222c20656467652e6964293b0a202020207d0a0a202020207574696c2e6170706c79436c61737328646f6d456467652c20656467655b22636c617373225d2c0a20202020202028646f6d456467652e636c617373656428227570646174652229203f20227570646174652022203a20222229202b2022656467655061746822293b0a20207d293b0a0a202073766750617468732e73656c656374416c6c2822706174682e7061746822290a202020202e656163682866756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865293b0a202020202020656467652e6172726f77686561644964203d205f2e756e69717565496428226172726f776865616422293b0a0a20202020202076617220646f6d45646765203d2064332e73656c6563742874686973290a20202020202020202e6174747228226d61726b65722d656e64222c2066756e6374696f6e2829207b0a20202020202020202020202072657475726e202275726c2822202b206d616b65467261676d656e74526566286c6f636174696f6e2e687265662c20656467652e6172726f7768656164496429202b202229223b0a20202020202020207d290a20202020202020202e7374796c65282266696c6c222c20226e6f6e6522293b0a0a2020202020207574696c2e6170706c795472616e736974696f6e28646f6d456467652c2067290a20202020202020202e61747472282264222c2066756e6374696f6e286529207b2072657475726e2063616c63506f696e747328672c2065293b207d293b0a0a2020202020207574696c2e6170706c795374796c6528646f6d456467652c20656467652e7374796c65293b0a202020207d293b0a0a202073766750617468732e73656c656374416c6c282264656673202a22292e72656d6f766528293b0a202073766750617468732e73656c656374416c6c28226465667322290a202020202e656163682866756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865292c0a202020202020202020206172726f7768656164203d206172726f77735b656467652e6172726f77686561645d3b0a2020202020206172726f77686561642864332e73656c6563742874686973292c20656467652e6172726f776865616449642c20656467652c20226172726f776865616422293b0a202020207d293b0a0a202072657475726e2073766750617468733b0a7d0a0a66756e6374696f6e206d616b65467261676d656e745265662875726c2c20667261676d656e74496429207b0a2020766172206261736555726c203d2075726c2e73706c697428222322295b305d3b0a202072657475726e206261736555726c202b20222322202b20667261676d656e7449643b0a7d0a0a66756e6374696f6e2063616c63506f696e747328672c206529207b0a20207661722065646765203d20672e656467652865292c0a2020202020207461696c203d20672e6e6f646528652e76292c0a20202020202068656164203d20672e6e6f646528652e77292c0a202020202020706f696e7473203d20656467652e706f696e74732e736c69636528312c20656467652e706f696e74732e6c656e677468202d2031293b0a2020706f696e74732e756e736869667428696e746572736563744e6f6465287461696c2c20706f696e74735b305d29293b0a2020706f696e74732e7075736828696e746572736563744e6f646528686561642c20706f696e74735b706f696e74732e6c656e677468202d20315d29293b0a0a202072657475726e206372656174654c696e6528656467652c20706f696e7473293b0a7d0a0a66756e6374696f6e206372656174654c696e6528656467652c20706f696e747329207b0a2020766172206c696e65203d2064332e6c696e6528290a202020202e782866756e6374696f6e286429207b2072657475726e20642e783b207d290a202020202e792866756e6374696f6e286429207b2072657475726e20642e793b207d293b0a20200a20206c696e652e637572766528656467652e6375727665293b0a0a202072657475726e206c696e6528706f696e7473293b0a7d0a0a66756e6374696f6e20676574436f6f72647328656c656d29207b0a20207661722062626f78203d20656c656d2e67657442426f7828292c0a2020202020206d6174726978203d20656c656d2e6f776e6572535647456c656d656e742e67657453637265656e43544d28290a20202020202020202e696e766572736528290a20202020202020202e6d756c7469706c7928656c656d2e67657453637265656e43544d2829290a20202020202020202e7472616e736c6174652862626f782e7769647468202f20322c2062626f782e686569676874202f2032293b0a202072657475726e207b20783a206d61747269782e652c20793a206d61747269782e66207d3b0a7d0a0a66756e6374696f6e20656e7465722873766750617468732c206729207b0a2020766172207376675061746873456e746572203d2073766750617468732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c2022656467655061746822290a2020202020202e7374796c6528226f706163697479222c2030293b0a20207376675061746873456e7465722e617070656e6428227061746822290a202020202e617474722822636c617373222c20227061746822290a202020202e61747472282264222c2066756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865292c0a20202020202020202020736f75726365456c656d203d20672e6e6f646528652e76292e656c656d2c0a20202020202020202020706f696e7473203d205f2e72616e676528656467652e706f696e74732e6c656e677468292e6d61702866756e6374696f6e2829207b2072657475726e20676574436f6f72647328736f75726365456c656d293b207d293b0a20202020202072657475726e206372656174654c696e6528656467652c20706f696e7473293b0a202020207d293b0a20207376675061746873456e7465722e617070656e6428226465667322293b0a7d0a0a66756e6374696f6e20657869742873766750617468732c206729207b0a2020766172207376675061746845786974203d2073766750617468732e6578697428293b0a20207574696c2e6170706c795472616e736974696f6e2873766750617468457869742c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a20207574696c2e6170706c795472616e736974696f6e2873766750617468457869742e73656c6563742822706174682e7061746822292c2067290a202020202e61747472282264222c2066756e6374696f6e286529207b0a20202020202076617220736f75726365203d20672e6e6f646528652e76293b0a0a20202020202069662028736f7572636529207b0a202020202020202076617220706f696e7473203d205f2e72616e676528746869732e676574546f74616c4c656e6774682829292e6d61702866756e6374696f6e2829207b2072657475726e20736f757263653b207d293b0a202020202020202072657475726e206372656174654c696e65287b7d2c20706f696e7473293b0a2020202020207d20656c7365207b0a202020202020202072657475726e2064332e73656c6563742874686973292e6174747228226422293b0a2020202020207d0a202020207d293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f696e746572736563742f696e746572736563742d6e6f6465223a31342c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d206372656174654e6f6465733b0a0a66756e6374696f6e206372656174654e6f6465732873656c656374696f6e2c20672c2073686170657329207b0a20207661722073696d706c654e6f646573203d20672e6e6f64657328292e66696c7465722866756e6374696f6e287629207b2072657475726e20217574696c2e6973537562677261706828672c2076293b207d293b0a2020766172207376674e6f646573203d2073656c656374696f6e2e73656c656374416c6c2822672e6e6f646522290a202020202e646174612873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20763b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a20207376674e6f6465732e73656c656374416c6c28222a22292e72656d6f766528293b0a0a20207376674e6f6465732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c20226e6f646522290a2020202020202e7374796c6528226f706163697479222c2030293b0a0a20207376674e6f646573203d2073656c656374696f6e2e73656c656374416c6c2822672e6e6f646522293b200a0a20207376674e6f6465732e656163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020207468697347726f7570203d2064332e73656c6563742874686973293b0a202020207574696c2e6170706c79436c617373287468697347726f75702c206e6f64655b22636c617373225d2c0a202020202020287468697347726f75702e636c617373656428227570646174652229203f20227570646174652022203a20222229202b20226e6f646522293b0a20202020766172206c6162656c47726f7570203d207468697347726f75702e617070656e6428226722292e617474722822636c617373222c20226c6162656c22292c0a20202020202020206c6162656c446f6d203d206164644c6162656c286c6162656c47726f75702c206e6f6465292c0a20202020202020207368617065203d207368617065735b6e6f64652e73686170655d2c0a202020202020202062626f78203d205f2e7069636b286c6162656c446f6d2e6e6f646528292e67657442426f7828292c20227769647468222c202268656967687422293b0a0a202020206e6f64652e656c656d203d20746869733b0a0a20202020696620286e6f64652e696429207b207468697347726f75702e6174747228226964222c206e6f64652e6964293b207d0a20202020696620286e6f64652e6c6162656c496429207b206c6162656c47726f75702e6174747228226964222c206e6f64652e6c6162656c4964293b207d0a0a20202020696620285f2e686173286e6f64652c20227769647468222929207b2062626f782e7769647468203d206e6f64652e77696474683b207d0a20202020696620285f2e686173286e6f64652c2022686569676874222929207b2062626f782e686569676874203d206e6f64652e6865696768743b207d0a0a2020202062626f782e7769647468202b3d206e6f64652e70616464696e674c656674202b206e6f64652e70616464696e6752696768743b0a2020202062626f782e686569676874202b3d206e6f64652e70616464696e67546f70202b206e6f64652e70616464696e67426f74746f6d3b0a202020206c6162656c47726f75702e6174747228227472616e73666f726d222c20227472616e736c6174652822202b0a20202020202028286e6f64652e70616464696e674c656674202d206e6f64652e70616464696e67526967687429202f203229202b20222c22202b0a20202020202028286e6f64652e70616464696e67546f70202d206e6f64652e70616464696e67426f74746f6d29202f203229202b20222922293b0a0a20202020766172207368617065537667203d2073686170652864332e73656c6563742874686973292c2062626f782c206e6f6465293b0a202020207574696c2e6170706c795374796c652873686170655376672c206e6f64652e7374796c65293b0a0a2020202076617220736861706542426f78203d2073686170655376672e6e6f646528292e67657442426f7828293b0a202020206e6f64652e7769647468203d20736861706542426f782e77696474683b0a202020206e6f64652e686569676874203d20736861706542426f782e6865696768743b0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e287376674e6f6465732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e207376674e6f6465733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f205374756220746f206765742044332065697468657220766961204e504d206f722066726f6d2074686520676c6f62616c206f626a6563740a7661722064333b0a0a6966202821643329207b0a2020696620287265717569726529207b0a20202020747279207b0a2020202020206433203d20726571756972652822643322293b0a202020207d0a20202020636174636820286529207b0a202020207d0a20207d0a7d0a0a6966202821643329207b0a20206433203d2077696e646f772e64333b0a7d0a0a6d6f64756c652e6578706f727473203d2064333b0a0a7d2c7b226433223a36397d5d2c383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722064616772653b0a0a696620287265717569726529207b0a2020747279207b0a202020206461677265203d20726571756972652822646167726522293b0a20207d20636174636820286529207b7d0a7d0a0a6966202821646167726529207b0a20206461677265203d2077696e646f772e64616772653b0a7d0a0a6d6f64756c652e6578706f727473203d2064616772653b0a0a7d2c7b226461677265223a37307d5d2c393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722067726170686c69623b0a0a696620287265717569726529207b0a2020747279207b0a2020202067726170686c6962203d2072657175697265282267726170686c696222293b0a20207d20636174636820286529207b7d0a7d0a0a696620282167726170686c696229207b0a202067726170686c6962203d2077696e646f772e67726170686c69623b0a7d0a0a6d6f64756c652e6578706f727473203d2067726170686c69623b0a0a7d2c7b2267726170686c6962223a3130307d5d2c31303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a20206e6f64653a207265717569726528222e2f696e746572736563742d6e6f646522292c0a2020636972636c653a207265717569726528222e2f696e746572736563742d636972636c6522292c0a2020656c6c697073653a207265717569726528222e2f696e746572736563742d656c6c6970736522292c0a2020706f6c79676f6e3a207265717569726528222e2f696e746572736563742d706f6c79676f6e22292c0a2020726563743a207265717569726528222e2f696e746572736563742d7265637422290a7d3b0a0a7d2c7b222e2f696e746572736563742d636972636c65223a31312c222e2f696e746572736563742d656c6c69707365223a31322c222e2f696e746572736563742d6e6f6465223a31342c222e2f696e746572736563742d706f6c79676f6e223a31352c222e2f696e746572736563742d72656374223a31367d5d2c31313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220696e74657273656374456c6c69707365203d207265717569726528222e2f696e746572736563742d656c6c6970736522293b0a0a6d6f64756c652e6578706f727473203d20696e74657273656374436972636c653b0a0a66756e6374696f6e20696e74657273656374436972636c65286e6f64652c2072782c20706f696e7429207b0a202072657475726e20696e74657273656374456c6c69707365286e6f64652c2072782c2072782c20706f696e74293b0a7d0a0a7d2c7b222e2f696e746572736563742d656c6c69707365223a31327d5d2c31323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e74657273656374456c6c697073653b0a0a66756e6374696f6e20696e74657273656374456c6c69707365286e6f64652c2072782c2072792c20706f696e7429207b0a20202f2f20466f726d756c61652066726f6d3a20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f456c6c697073652d4c696e65496e74657273656374696f6e2e68746d6c0a0a2020766172206378203d206e6f64652e783b0a2020766172206379203d206e6f64652e793b0a0a2020766172207078203d206378202d20706f696e742e783b0a2020766172207079203d206379202d20706f696e742e793b0a0a202076617220646574203d204d6174682e73717274287278202a207278202a207079202a207079202b207279202a207279202a207078202a207078293b0a0a2020766172206478203d204d6174682e616273287278202a207279202a207078202f20646574293b0a202069662028706f696e742e78203c20637829207b0a202020206478203d202d64783b0a20207d0a2020766172206479203d204d6174682e616273287278202a207279202a207079202f20646574293b0a202069662028706f696e742e79203c20637929207b0a202020206479203d202d64793b0a20207d0a0a202072657475726e207b783a206378202b2064782c20793a206379202b2064797d3b0a7d0a0a0a7d2c7b7d5d2c31333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e746572736563744c696e653b0a0a2f2a0a202a2052657475726e732074686520706f696e742061742077686963682074776f206c696e65732c207020616e6420712c20696e74657273656374206f722072657475726e730a202a20756e646566696e6564206966207468657920646f206e6f7420696e746572736563742e0a202a2f0a66756e6374696f6e20696e746572736563744c696e652870312c2070322c2071312c20713229207b0a20202f2f20416c676f726974686d2066726f6d204a2e204176726f2c202865642e292047726170686963732047656d732c204e6f20322c204d6f7267616e204b6175666d616e6e2c20313939342c0a20202f2f20703720616e6420703437332e0a0a20207661722061312c2061322c2062312c2062322c2063312c2063323b0a20207661722072312c207232202c2072332c2072343b0a20207661722064656e6f6d2c206f66667365742c206e756d3b0a202076617220782c20793b0a0a20202f2f20436f6d707574652061312c2062312c2063312c207768657265206c696e65206a6f696e696e6720706f696e7473203120616e642032206973204628782c7929203d2061312078202b0a20202f2f2062312079202b206331203d20302e0a20206131203d2070322e79202d2070312e793b0a20206231203d2070312e78202d2070322e783b0a20206331203d202870322e78202a2070312e7929202d202870312e78202a2070322e79293b0a0a20202f2f20436f6d7075746520723320616e642072342e0a20207233203d2028286131202a2071312e7829202b20286231202a2071312e7929202b206331293b0a20207234203d2028286131202a2071322e7829202b20286231202a2071322e7929202b206331293b0a0a20202f2f20436865636b207369676e73206f6620723320616e642072342e20496620626f746820706f696e74203320616e6420706f696e742034206c6965206f6e0a20202f2f2073616d652073696465206f66206c696e6520312c20746865206c696e65207365676d656e747320646f206e6f7420696e746572736563742e0a20206966202828723320213d3d2030292026262028723420213d3d2030292026262073616d655369676e2872332c2072342929207b0a2020202072657475726e202f2a444f4e545f494e544552534543542a2f3b0a20207d0a0a20202f2f20436f6d707574652061322c2062322c206332207768657265206c696e65206a6f696e696e6720706f696e7473203320616e642034206973204728782c7929203d2061322078202b2062322079202b206332203d20300a20206132203d2071322e79202d2071312e793b0a20206232203d2071312e78202d2071322e783b0a20206332203d202871322e78202a2071312e7929202d202871312e78202a2071322e79293b0a0a20202f2f20436f6d7075746520723120616e642072320a20207231203d20286132202a2070312e7829202b20286232202a2070312e7929202b2063323b0a20207232203d20286132202a2070322e7829202b20286232202a2070322e7929202b2063323b0a0a20202f2f20436865636b207369676e73206f6620723120616e642072322e20496620626f746820706f696e74203120616e6420706f696e742032206c69650a20202f2f206f6e2073616d652073696465206f66207365636f6e64206c696e65207365676d656e742c20746865206c696e65207365676d656e747320646f0a20202f2f206e6f7420696e746572736563742e0a20206966202828723120213d3d2030292026262028723220213d3d203029202626202873616d655369676e2872312c207232292929207b0a2020202072657475726e202f2a444f4e545f494e544552534543542a2f3b0a20207d0a0a20202f2f204c696e65207365676d656e747320696e746572736563743a20636f6d7075746520696e74657273656374696f6e20706f696e742e0a202064656e6f6d203d20286131202a20623229202d20286132202a206231293b0a20206966202864656e6f6d203d3d3d203029207b0a2020202072657475726e202f2a434f4c4c494e4541522a2f3b0a20207d0a0a20206f6666736574203d204d6174682e6162732864656e6f6d202f2032293b0a0a20202f2f205468652064656e6f6d2f3220697320746f2067657420726f756e64696e6720696e7374656164206f66207472756e636174696e672e2049740a20202f2f206973206164646564206f72207375627472616374656420746f20746865206e756d657261746f722c20646570656e64696e672075706f6e207468650a20202f2f207369676e206f6620746865206e756d657261746f722e0a20206e756d203d20286231202a20633229202d20286232202a206331293b0a202078203d20286e756d203c203029203f2028286e756d202d206f666673657429202f2064656e6f6d29203a2028286e756d202b206f666673657429202f2064656e6f6d293b0a0a20206e756d203d20286132202a20633129202d20286131202a206332293b0a202079203d20286e756d203c203029203f2028286e756d202d206f666673657429202f2064656e6f6d29203a2028286e756d202b206f666673657429202f2064656e6f6d293b0a0a202072657475726e207b20783a20782c20793a2079207d3b0a7d0a0a66756e6374696f6e2073616d655369676e2872312c20723229207b0a202072657475726e207231202a207232203e20303b0a7d0a0a7d2c7b7d5d2c31343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e746572736563744e6f64653b0a0a66756e6374696f6e20696e746572736563744e6f6465286e6f64652c20706f696e7429207b0a202072657475726e206e6f64652e696e7465727365637428706f696e74293b0a7d0a0a7d2c7b7d5d2c31353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220696e746572736563744c696e65203d207265717569726528222e2f696e746572736563742d6c696e6522293b0a0a6d6f64756c652e6578706f727473203d20696e74657273656374506f6c79676f6e3b0a0a2f2a0a202a2052657475726e732074686520706f696e7420287b782c20797d292061742077686963682074686520706f696e7420617267756d656e7420696e74657273656374732077697468207468650a202a206e6f646520617267756d656e7420617373756d696e67207468617420697420686173207468652073686170652073706563696669656420627920706f6c79676f6e2e0a202a2f0a66756e6374696f6e20696e74657273656374506f6c79676f6e286e6f64652c20706f6c79506f696e74732c20706f696e7429207b0a2020766172207831203d206e6f64652e783b0a2020766172207931203d206e6f64652e793b0a0a202076617220696e74657273656374696f6e73203d205b5d3b0a0a2020766172206d696e58203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d696e59203d204e756d6265722e504f5349544956455f494e46494e4954593b0a2020706f6c79506f696e74732e666f72456163682866756e6374696f6e28656e74727929207b0a202020206d696e58203d204d6174682e6d696e286d696e582c20656e7472792e78293b0a202020206d696e59203d204d6174682e6d696e286d696e592c20656e7472792e79293b0a20207d293b0a0a2020766172206c656674203d207831202d206e6f64652e7769647468202f2032202d206d696e583b0a202076617220746f70203d20207931202d206e6f64652e686569676874202f2032202d206d696e593b0a0a2020666f7220287661722069203d20303b2069203c20706f6c79506f696e74732e6c656e6774683b20692b2b29207b0a20202020766172207031203d20706f6c79506f696e74735b695d3b0a20202020766172207032203d20706f6c79506f696e74735b69203c20706f6c79506f696e74732e6c656e677468202d2031203f2069202b2031203a20305d3b0a2020202076617220696e74657273656374203d20696e746572736563744c696e65286e6f64652c20706f696e742c0a2020202020207b783a206c656674202b2070312e782c20793a20746f70202b2070312e797d2c207b783a206c656674202b2070322e782c20793a20746f70202b2070322e797d293b0a2020202069662028696e7465727365637429207b0a202020202020696e74657273656374696f6e732e7075736828696e74657273656374293b0a202020207d0a20207d0a0a20206966202821696e74657273656374696f6e732e6c656e67746829207b0a20202020636f6e736f6c652e6c6f6728224e4f20494e54455253454354494f4e20464f554e442c2052455455524e204e4f44452043454e544552222c206e6f6465293b0a2020202072657475726e206e6f64653b0a20207d0a0a202069662028696e74657273656374696f6e732e6c656e677468203e203129207b0a202020202f2f204d6f726520696e74657273656374696f6e732c2066696e6420746865206f6e65206e65617265737420746f206564676520656e6420706f696e740a20202020696e74657273656374696f6e732e736f72742866756e6374696f6e28702c207129207b0a20202020202076617220706478203d20702e78202d20706f696e742e782c0a20202020202020202020706479203d20702e79202d20706f696e742e792c0a202020202020202020206469737470203d204d6174682e7371727428706478202a20706478202b20706479202a20706479292c0a0a20202020202020202020716478203d20712e78202d20706f696e742e782c0a20202020202020202020716479203d20712e79202d20706f696e742e792c0a202020202020202020206469737471203d204d6174682e7371727428716478202a20716478202b20716479202a20716479293b0a0a20202020202072657475726e20286469737470203c20646973747129203f202d31203a20286469737470203d3d3d206469737471203f2030203a2031293b0a202020207d293b0a20207d0a202072657475726e20696e74657273656374696f6e735b305d3b0a7d0a0a7d2c7b222e2f696e746572736563742d6c696e65223a31337d5d2c31363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e74657273656374526563743b0a0a66756e6374696f6e20696e7465727365637452656374286e6f64652c20706f696e7429207b0a20207661722078203d206e6f64652e783b0a20207661722079203d206e6f64652e793b0a0a20202f2f2052656374616e676c6520696e74657273656374696f6e20616c676f726974686d2066726f6d3a0a20202f2f20687474703a2f2f6d6174682e737461636b65786368616e67652e636f6d2f7175657374696f6e732f3130383131332f66696e642d656467652d6265747765656e2d74776f2d626f7865730a2020766172206478203d20706f696e742e78202d20783b0a2020766172206479203d20706f696e742e79202d20793b0a20207661722077203d206e6f64652e7769647468202f20323b0a20207661722068203d206e6f64652e686569676874202f20323b0a0a20207661722073782c2073793b0a2020696620284d6174682e61627328647929202a2077203e204d6174682e61627328647829202a206829207b0a202020202f2f20496e74657273656374696f6e20697320746f70206f7220626f74746f6d206f6620726563742e0a20202020696620286479203c203029207b0a20202020202068203d202d683b0a202020207d0a202020207378203d206479203d3d3d2030203f2030203a2068202a206478202f2064793b0a202020207379203d20683b0a20207d20656c7365207b0a202020202f2f20496e74657273656374696f6e206973206c656674206f72207269676874206f6620726563742e0a20202020696620286478203c203029207b0a20202020202077203d202d773b0a202020207d0a202020207378203d20773b0a202020207379203d206478203d3d3d2030203f2030203a2077202a206479202f2064783b0a20207d0a0a202072657475726e207b783a2078202b2073782c20793a2079202b2073797d3b0a7d0a0a7d2c7b7d5d2c31373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d2061646448746d6c4c6162656c3b0a0a66756e6374696f6e2061646448746d6c4c6162656c28726f6f742c206e6f646529207b0a202076617220666f203d20726f6f740a202020202e617070656e642822666f726569676e4f626a65637422290a2020202020202e6174747228227769647468222c202231303030303022293b0a0a202076617220646976203d20666f0a202020202e617070656e6428227868746d6c3a64697622293b0a20206469762e617474722822786d6c6e73222c2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c22293b0a0a2020766172206c6162656c203d206e6f64652e6c6162656c3b0a202073776974636828747970656f66206c6162656c29207b0a2020202063617365202266756e6374696f6e223a0a2020202020206469762e696e73657274286c6162656c293b0a202020202020627265616b3b0a202020206361736520226f626a656374223a0a2020202020202f2f2043757272656e746c7920776520617373756d652074686973206973206120444f4d206f626a6563742e0a2020202020206469762e696e736572742866756e6374696f6e2829207b2072657475726e206c6162656c3b207d293b0a202020202020627265616b3b0a2020202064656661756c743a206469762e68746d6c286c6162656c293b0a20207d0a0a20207574696c2e6170706c795374796c65286469762c206e6f64652e6c6162656c5374796c65293b0a20206469762e7374796c652822646973706c6179222c2022696e6c696e652d626c6f636b22293b0a20202f2f2046697820666f722066697265666f780a20206469762e7374796c65282277686974652d7370616365222c20226e6f7772617022293b0a0a202076617220636c69656e74203d206469762e6e6f646528292e676574426f756e64696e67436c69656e745265637428293b0a2020666f0a202020202e6174747228227769647468222c20636c69656e742e7769647468290a202020202e617474722822686569676874222c20636c69656e742e686569676874293b200a0a202072657475726e20666f3b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c31383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220616464546578744c6162656c203d207265717569726528222e2f6164642d746578742d6c6162656c22292c0a2020202061646448746d6c4c6162656c203d207265717569726528222e2f6164642d68746d6c2d6c6162656c22292c0a202020206164645356474c6162656c20203d207265717569726528222e2f6164642d7376672d6c6162656c22293b0a0a6d6f64756c652e6578706f727473203d206164644c6162656c3b0a0a66756e6374696f6e206164644c6162656c28726f6f742c206e6f64652c206c6f636174696f6e29207b0a2020766172206c6162656c203d206e6f64652e6c6162656c3b0a2020766172206c6162656c537667203d20726f6f742e617070656e6428226722293b0a0a20202f2f20416c6c6f7720746865206c6162656c20746f206265206120737472696e672c20612066756e6374696f6e20746861742072657475726e73206120444f4d20656c656d656e742c206f720a20202f2f206120444f4d20656c656d656e7420697473656c662e0a2020696620286e6f64652e6c6162656c54797065203d3d3d20227376672229207b0a202020206164645356474c6162656c286c6162656c5376672c206e6f6465293b0a20207d20656c73652069662028747970656f66206c6162656c20213d3d2022737472696e6722207c7c206e6f64652e6c6162656c54797065203d3d3d202268746d6c2229207b0a2020202061646448746d6c4c6162656c286c6162656c5376672c206e6f6465293b0a20207d20656c7365207b0a20202020616464546578744c6162656c286c6162656c5376672c206e6f6465293b0a20207d0a0a2020766172206c6162656c42426f78203d206c6162656c5376672e6e6f646528292e67657442426f7828293b0a202076617220793b0a2020737769746368286c6f636174696f6e29207b0a20202020636173652022746f70223a0a20202020202079203d20282d6e6f64652e686569676874202f2032293b0a202020202020627265616b3b0a20202020636173652022626f74746f6d223a0a20202020202079203d20286e6f64652e686569676874202f203229202d206c6162656c42426f782e6865696768743b0a202020202020627265616b3b0a2020202064656661756c743a0a20202020202079203d20282d6c6162656c42426f782e686569676874202f2032293b0a20207d0a20206c6162656c5376672e6174747228227472616e73666f726d222c0a20202020202020202020202020202020227472616e736c6174652822202b20282d6c6162656c42426f782e7769647468202f203229202b20222c22202b2079202b20222922293b0a0a202072657475726e206c6162656c5376673b0a7d0a0a7d2c7b222e2f6164642d68746d6c2d6c6162656c223a31372c222e2f6164642d7376672d6c6162656c223a31392c222e2f6164642d746578742d6c6162656c223a32307d5d2c31393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d206164645356474c6162656c3b0a0a66756e6374696f6e206164645356474c6162656c28726f6f742c206e6f646529207b0a202076617220646f6d4e6f6465203d20726f6f743b0a0a2020646f6d4e6f64652e6e6f646528292e617070656e644368696c64286e6f64652e6c6162656c293b0a0a20207574696c2e6170706c795374796c6528646f6d4e6f64652c206e6f64652e6c6162656c5374796c65293b0a0a202072657475726e20646f6d4e6f64653b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c32303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20616464546578744c6162656c3b0a0a2f2a0a202a20417474616368657320612074657874206c6162656c20746f207468652073706563696669656420726f6f742e2048616e646c6573206573636170652073657175656e6365732e0a202a2f0a66756e6374696f6e20616464546578744c6162656c28726f6f742c206e6f646529207b0a202076617220646f6d4e6f6465203d20726f6f742e617070656e6428227465787422293b0a0a2020766172206c696e6573203d2070726f6365737345736361706553657175656e636573286e6f64652e6c6162656c292e73706c697428225c6e22293b0a2020666f7220287661722069203d20303b2069203c206c696e65732e6c656e6774683b20692b2b29207b0a20202020646f6d4e6f64650a2020202020202e617070656e642822747370616e22290a20202020202020202e617474722822786d6c3a7370616365222c2022707265736572766522290a20202020202020202e6174747228226479222c202231656d22290a20202020202020202e61747472282278222c20223122290a20202020202020202e74657874286c696e65735b695d293b0a20207d0a0a20207574696c2e6170706c795374796c6528646f6d4e6f64652c206e6f64652e6c6162656c5374796c65293b0a0a202072657475726e20646f6d4e6f64653b0a7d0a0a66756e6374696f6e2070726f6365737345736361706553657175656e636573287465787429207b0a2020766172206e657754657874203d2022222c0a20202020202065736361706564203d2066616c73652c0a20202020202063683b0a2020666f7220287661722069203d20303b2069203c20746578742e6c656e6774683b202b2b6929207b0a202020206368203d20746578745b695d3b0a20202020696620286573636170656429207b0a20202020202073776974636828636829207b0a20202020202020206361736520226e223a206e657754657874202b3d20225c6e223b20627265616b3b0a202020202020202064656661756c743a206e657754657874202b3d2063683b0a2020202020207d0a20202020202065736361706564203d2066616c73653b0a202020207d20656c736520696620286368203d3d3d20225c5c2229207b0a20202020202065736361706564203d20747275653b0a202020207d20656c7365207b0a2020202020206e657754657874202b3d2063683b0a202020207d0a20207d0a202072657475726e206e6577546578743b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c32313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a766172206c6f646173683b0a0a696620287265717569726529207b0a2020747279207b0a202020206c6f64617368203d207265717569726528226c6f6461736822293b0a20207d20636174636820286529207b7d0a7d0a0a69662028216c6f6461736829207b0a20206c6f64617368203d2077696e646f772e5f3b0a7d0a0a6d6f64756c652e6578706f727473203d206c6f646173683b0a0a7d2c7b226c6f64617368223a3132337d5d2c32323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e436c7573746572733b0a0a66756e6374696f6e20706f736974696f6e436c7573746572732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202072657475726e20227472616e736c6174652822202b206e6f64652e78202b20222c22202b206e6f64652e79202b202229223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a2020202020202e7374796c6528226f706163697479222c2031290a2020202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e28637265617465642e73656c656374416c6c28227265637422292c2067290a2020202020202e6174747228227769647468222c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e77696474683b207d290a2020202020202e617474722822686569676874222c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e6865696768743b207d290a2020202020202e61747472282278222c2066756e6374696f6e287629207b0a2020202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020202072657475726e202d6e6f64652e7769647468202f20323b0a2020202020207d290a2020202020202e61747472282279222c2066756e6374696f6e287629207b0a2020202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020202072657475726e202d6e6f64652e686569676874202f20323b0a2020202020207d293b0a0a7d0a0a7d2c7b222e2f6433223a372c222e2f7574696c223a32377d5d2c32333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322292c0a202020205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e456467654c6162656c733b0a0a66756e6374696f6e20706f736974696f6e456467654c6162656c732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202072657475726e205f2e68617328656467652c2022782229203f20227472616e736c6174652822202b20656467652e78202b20222c22202b20656467652e79202b20222922203a2022223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a202020202e7374796c6528226f706163697479222c2031290a202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c32343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e4e6f6465733b0a0a66756e6374696f6e20706f736974696f6e4e6f6465732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202072657475726e20227472616e736c6174652822202b206e6f64652e78202b20222c22202b206e6f64652e79202b202229223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a202020202e7374796c6528226f706163697479222c2031290a202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f7574696c223a32377d5d2c32353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206433203d207265717569726528222e2f643322292c0a202020206c61796f7574203d207265717569726528222e2f646167726522292e6c61796f75743b0a0a6d6f64756c652e6578706f727473203d2072656e6465723b0a0a2f2f20546869732064657369676e206973206261736564206f6e20687474703a2f2f626f73742e6f636b732e6f72672f6d696b652f63686172742f2e0a66756e6374696f6e2072656e6465722829207b0a2020766172206372656174654e6f646573203d207265717569726528222e2f6372656174652d6e6f64657322292c0a202020202020637265617465436c757374657273203d207265717569726528222e2f6372656174652d636c75737465727322292c0a202020202020637265617465456467654c6162656c73203d207265717569726528222e2f6372656174652d656467652d6c6162656c7322292c0a202020202020637265617465456467655061746873203d207265717569726528222e2f6372656174652d656467652d706174687322292c0a202020202020706f736974696f6e4e6f646573203d207265717569726528222e2f706f736974696f6e2d6e6f64657322292c0a202020202020706f736974696f6e456467654c6162656c73203d207265717569726528222e2f706f736974696f6e2d656467652d6c6162656c7322292c0a202020202020706f736974696f6e436c757374657273203d207265717569726528222e2f706f736974696f6e2d636c75737465727322292c0a202020202020736861706573203d207265717569726528222e2f73686170657322292c0a2020202020206172726f7773203d207265717569726528222e2f6172726f777322293b0a0a202076617220666e203d2066756e6374696f6e287376672c206729207b0a2020202070726550726f6365737347726170682867293b0a0a202020207376672e73656c656374416c6c28222a22292e72656d6f766528293b0a0a20202020766172206f757470757447726f7570203d206372656174654f7253656c65637447726f7570287376672c20226f757470757422292c0a2020202020202020636c75737465727347726f7570203d206372656174654f7253656c65637447726f7570286f757470757447726f75702c2022636c75737465727322292c0a202020202020202065646765506174687347726f7570203d206372656174654f7253656c65637447726f7570286f757470757447726f75702c202265646765506174687322292c0a2020202020202020656467654c6162656c73203d20637265617465456467654c6162656c73286372656174654f7253656c65637447726f7570286f757470757447726f75702c2022656467654c6162656c7322292c2067292c0a20202020202020206e6f646573203d206372656174654e6f646573286372656174654f7253656c65637447726f7570286f757470757447726f75702c20226e6f64657322292c20672c20736861706573293b0a0a202020206c61796f75742867293b0a0a20202020706f736974696f6e4e6f646573286e6f6465732c2067293b0a20202020706f736974696f6e456467654c6162656c7328656467654c6162656c732c2067293b0a202020206372656174654564676550617468732865646765506174687347726f75702c20672c206172726f7773293b0a0a2020202076617220636c757374657273203d20637265617465436c75737465727328636c75737465727347726f75702c2067293b0a20202020706f736974696f6e436c75737465727328636c7573746572732c2067293b0a0a20202020706f737450726f6365737347726170682867293b0a20207d3b0a0a2020666e2e6372656174654e6f646573203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206372656174654e6f6465733b0a202020206372656174654e6f646573203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465436c757374657273203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20637265617465436c7573746572733b0a20202020637265617465436c757374657273203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465456467654c6162656c73203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20637265617465456467654c6162656c733b0a20202020637265617465456467654c6162656c73203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465456467655061746873203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206372656174654564676550617468733b0a20202020637265617465456467655061746873203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e736861706573203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e207368617065733b0a20202020736861706573203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e6172726f7773203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206172726f77733b0a202020206172726f7773203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a202072657475726e20666e3b0a7d0a0a766172204e4f44455f44454641554c545f4154545253203d207b0a202070616464696e674c6566743a2031302c0a202070616464696e6752696768743a2031302c0a202070616464696e67546f703a2031302c0a202070616464696e67426f74746f6d3a2031302c0a202072783a20302c0a202072793a20302c0a202073686170653a202272656374220a7d3b0a0a76617220454447455f44454641554c545f4154545253203d207b0a20206172726f77686561643a20226e6f726d616c222c0a202063757276653a2064332e63757276654c696e6561720a7d3b0a0a66756e6374696f6e2070726550726f636573734772617068286729207b0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202069662028215f2e686173286e6f64652c20226c6162656c22292026262021672e6368696c6472656e2876292e6c656e67746829207b206e6f64652e6c6162656c203d20763b207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e6758222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e674c6566743a206e6f64652e70616464696e67582c0a202020202020202070616464696e6752696768743a206e6f64652e70616464696e67580a2020202020207d293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e6759222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e67546f703a206e6f64652e70616464696e67592c0a202020202020202070616464696e67426f74746f6d3a206e6f64652e70616464696e67590a2020202020207d293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e67222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e674c6566743a206e6f64652e70616464696e672c0a202020202020202070616464696e6752696768743a206e6f64652e70616464696e672c0a202020202020202070616464696e67546f703a206e6f64652e70616464696e672c0a202020202020202070616464696e67426f74746f6d3a206e6f64652e70616464696e670a2020202020207d293b0a202020207d0a0a202020205f2e64656661756c7473286e6f64652c204e4f44455f44454641554c545f4154545253293b0a0a202020205f2e65616368285b2270616464696e674c656674222c202270616464696e675269676874222c202270616464696e67546f70222c202270616464696e67426f74746f6d225d2c2066756e6374696f6e286b29207b0a2020202020206e6f64655b6b5d203d204e756d626572286e6f64655b6b5d293b0a202020207d293b0a0a202020202f2f20536176652064696d656e73696f6e7320666f7220726573746f726520647572696e6720706f73742d70726f63657373696e670a20202020696620285f2e686173286e6f64652c20227769647468222929207b206e6f64652e5f707265765769647468203d206e6f64652e77696474683b207d0a20202020696620285f2e686173286e6f64652c2022686569676874222929207b206e6f64652e5f70726576486569676874203d206e6f64652e6865696768743b207d0a20207d293b0a0a2020672e656467657328292e666f72456163682866756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028215f2e68617328656467652c20226c6162656c222929207b20656467652e6c6162656c203d2022223b207d0a202020205f2e64656661756c747328656467652c20454447455f44454641554c545f4154545253293b0a20207d293b0a7d0a0a66756e6374696f6e20706f737450726f636573734772617068286729207b0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a0a202020202f2f20526573746f7265206f726967696e616c2064696d656e73696f6e730a20202020696620285f2e686173286e6f64652c20225f707265765769647468222929207b0a2020202020206e6f64652e7769647468203d206e6f64652e5f7072657657696474683b0a202020207d20656c7365207b0a20202020202064656c657465206e6f64652e77696474683b0a202020207d0a0a20202020696620285f2e686173286e6f64652c20225f70726576486569676874222929207b0a2020202020206e6f64652e686569676874203d206e6f64652e5f707265764865696768743b0a202020207d20656c7365207b0a20202020202064656c657465206e6f64652e6865696768743b0a202020207d0a0a2020202064656c657465206e6f64652e5f7072657657696474683b0a2020202064656c657465206e6f64652e5f707265764865696768743b0a20207d293b0a7d0a0a66756e6374696f6e206372656174654f7253656c65637447726f757028726f6f742c206e616d6529207b0a20207661722073656c656374696f6e203d20726f6f742e73656c6563742822672e22202b206e616d65293b0a20206966202873656c656374696f6e2e656d707479282929207b0a2020202073656c656374696f6e203d20726f6f742e617070656e6428226722292e617474722822636c617373222c206e616d65293b0a20207d0a202072657475726e2073656c656374696f6e3b0a7d0a0a7d2c7b222e2f6172726f7773223a322c222e2f6372656174652d636c757374657273223a332c222e2f6372656174652d656467652d6c6162656c73223a342c222e2f6372656174652d656467652d7061746873223a352c222e2f6372656174652d6e6f646573223a362c222e2f6433223a372c222e2f6461677265223a382c222e2f6c6f64617368223a32312c222e2f706f736974696f6e2d636c757374657273223a32322c222e2f706f736974696f6e2d656467652d6c6162656c73223a32332c222e2f706f736974696f6e2d6e6f646573223a32342c222e2f736861706573223a32367d5d2c32363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a76617220696e7465727365637452656374203d207265717569726528222e2f696e746572736563742f696e746572736563742d7265637422292c0a20202020696e74657273656374456c6c69707365203d207265717569726528222e2f696e746572736563742f696e746572736563742d656c6c6970736522292c0a20202020696e74657273656374436972636c65203d207265717569726528222e2f696e746572736563742f696e746572736563742d636972636c6522292c0a20202020696e74657273656374506f6c79676f6e203d207265717569726528222e2f696e746572736563742f696e746572736563742d706f6c79676f6e22293b0a0a6d6f64756c652e6578706f727473203d207b0a2020726563743a20726563742c0a2020656c6c697073653a20656c6c697073652c0a2020636972636c653a20636972636c652c0a20206469616d6f6e643a206469616d6f6e640a7d3b0a0a66756e6374696f6e207265637428706172656e742c2062626f782c206e6f646529207b0a2020766172207368617065537667203d20706172656e742e696e73657274282272656374222c20223a66697273742d6368696c6422290a20202020202020202e6174747228227278222c206e6f64652e7278290a20202020202020202e6174747228227279222c206e6f64652e7279290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e6174747228227769647468222c2062626f782e7769647468290a20202020202020202e617474722822686569676874222c2062626f782e686569676874293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e7465727365637452656374286e6f64652c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a66756e6374696f6e20656c6c6970736528706172656e742c2062626f782c206e6f646529207b0a2020766172207278203d2062626f782e7769647468202f20322c0a2020202020207279203d2062626f782e686569676874202f20322c0a2020202020207368617065537667203d20706172656e742e696e736572742822656c6c69707365222c20223a66697273742d6368696c6422290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e6174747228227278222c207278290a20202020202020202e6174747228227279222c207279293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e74657273656374456c6c69707365286e6f64652c2072782c2072792c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a66756e6374696f6e20636972636c6528706172656e742c2062626f782c206e6f646529207b0a20207661722072203d204d6174682e6d61782862626f782e77696474682c2062626f782e68656967687429202f20322c0a2020202020207368617065537667203d20706172656e742e696e736572742822636972636c65222c20223a66697273742d6368696c6422290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e61747472282272222c2072293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e74657273656374436972636c65286e6f64652c20722c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a2f2f2043697263756d73637269626520616e20656c6c6970736520666f722074686520626f756e64696e6720626f7820776974682061206469616d6f6e642073686170652e204920646572697665640a2f2f207468652066756e6374696f6e20746f2063616c63756c61746520746865206469616d6f6e642073686170652066726f6d3a0a2f2f20687474703a2f2f6d617468666f72756d2e6f72672f6b622f6d6573736167652e6a7370613f6d65737361676549443d333735303233360a66756e6374696f6e206469616d6f6e6428706172656e742c2062626f782c206e6f646529207b0a20207661722077203d202862626f782e7769647468202a204d6174682e535152543229202f20322c0a20202020202068203d202862626f782e686569676874202a204d6174682e535152543229202f20322c0a202020202020706f696e7473203d205b0a20202020202020207b20783a2020302c20793a202d68207d2c0a20202020202020207b20783a202d772c20793a202030207d2c0a20202020202020207b20783a2020302c20793a202068207d2c0a20202020202020207b20783a2020772c20793a202030207d0a2020202020205d2c0a2020202020207368617065537667203d20706172656e742e696e736572742822706f6c79676f6e222c20223a66697273742d6368696c6422290a20202020202020202e617474722822706f696e7473222c20706f696e74732e6d61702866756e6374696f6e287029207b2072657475726e20702e78202b20222c22202b20702e793b207d292e6a6f696e2822202229293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e287029207b0a2020202072657475726e20696e74657273656374506f6c79676f6e286e6f64652c20706f696e74732c2070293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a7d2c7b222e2f696e746572736563742f696e746572736563742d636972636c65223a31312c222e2f696e746572736563742f696e746572736563742d656c6c69707365223a31322c222e2f696e746572736563742f696e746572736563742d706f6c79676f6e223a31352c222e2f696e746572736563742f696e746572736563742d72656374223a31367d5d2c32373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a2f2f205075626c6963207574696c6974792066756e6374696f6e730a6d6f64756c652e6578706f727473203d207b0a2020697353756267726170683a20697353756267726170682c0a202065646765546f49643a2065646765546f49642c0a20206170706c795374796c653a206170706c795374796c652c0a20206170706c79436c6173733a206170706c79436c6173732c0a20206170706c795472616e736974696f6e3a206170706c795472616e736974696f6e0a7d3b0a0a2f2a0a202a2052657475726e7320747275652069662074686520737065636966696564206e6f646520696e207468652067726170682069732061207375626772617068206e6f64652e20410a202a207375626772617068206e6f6465206973206f6e65207468617420636f6e7461696e73206f74686572206e6f6465732e0a202a2f0a66756e6374696f6e206973537562677261706828672c207629207b0a202072657475726e202121672e6368696c6472656e2876292e6c656e6774683b0a7d0a0a66756e6374696f6e2065646765546f4964286529207b0a202072657475726e20657363617065496428652e7629202b20223a22202b20657363617065496428652e7729202b20223a22202b20657363617065496428652e6e616d65293b0a7d0a0a7661722049445f44454c494d203d202f3a2f673b0a66756e6374696f6e2065736361706549642873747229207b0a202072657475726e20737472203f20537472696e6728737472292e7265706c6163652849445f44454c494d2c20225c5c3a2229203a2022223b0a7d0a0a66756e6374696f6e206170706c795374796c6528646f6d2c207374796c65466e29207b0a2020696620287374796c65466e29207b0a20202020646f6d2e6174747228227374796c65222c207374796c65466e293b0a20207d0a7d0a0a66756e6374696f6e206170706c79436c61737328646f6d2c20636c617373466e2c206f74686572436c617373657329207b0a202069662028636c617373466e29207b0a20202020646f6d0a2020202020202e617474722822636c617373222c20636c617373466e290a2020202020202e617474722822636c617373222c206f74686572436c6173736573202b20222022202b20646f6d2e617474722822636c6173732229293b0a20207d0a7d0a0a66756e6374696f6e206170706c795472616e736974696f6e2873656c656374696f6e2c206729207b0a2020766172206772617068203d20672e677261706828293b0a0a2020696620285f2e6973506c61696e4f626a6563742867726170682929207b0a20202020766172207472616e736974696f6e203d2067726170682e7472616e736974696f6e3b0a20202020696620285f2e697346756e6374696f6e287472616e736974696f6e2929207b0a20202020202072657475726e207472616e736974696f6e2873656c656374696f6e293b0a202020207d0a20207d0a0a202072657475726e2073656c656374696f6e3b0a7d0a0a7d2c7b222e2f6c6f64617368223a32317d5d2c32383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2022302e362e31223b0a0a7d2c7b7d5d2c32393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a0a7d2c7b7d5d2c33303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a617267756d656e74735b345d5b32395d5b305d2e6170706c79286578706f7274732c617267756d656e7473290a7d2c7b22647570223a32397d5d2c33313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374270a0a6578706f7274732e627974654c656e677468203d20627974654c656e6774680a6578706f7274732e746f427974654172726179203d20746f4279746541727261790a6578706f7274732e66726f6d427974654172726179203d2066726f6d4279746541727261790a0a766172206c6f6f6b7570203d205b5d0a766172207265764c6f6f6b7570203d205b5d0a76617220417272203d20747970656f662055696e7438417272617920213d3d2027756e646566696e656427203f2055696e74384172726179203a2041727261790a0a76617220636f6465203d20274142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f270a666f7220287661722069203d20302c206c656e203d20636f64652e6c656e6774683b2069203c206c656e3b202b2b6929207b0a20206c6f6f6b75705b695d203d20636f64655b695d0a20207265764c6f6f6b75705b636f64652e63686172436f646541742869295d203d20690a7d0a0a7265764c6f6f6b75705b272d272e63686172436f646541742830295d203d2036320a7265764c6f6f6b75705b275f272e63686172436f646541742830295d203d2036330a0a66756e6374696f6e20706c616365486f6c64657273436f756e74202862363429207b0a2020766172206c656e203d206236342e6c656e6774680a2020696620286c656e20252034203e203029207b0a202020207468726f77206e6577204572726f722827496e76616c696420737472696e672e204c656e677468206d7573742062652061206d756c7469706c65206f66203427290a20207d0a0a20202f2f20746865206e756d626572206f6620657175616c207369676e732028706c61636520686f6c64657273290a20202f2f206966207468657265206172652074776f20706c616365686f6c646572732c207468616e207468652074776f2063686172616374657273206265666f72652069740a20202f2f20726570726573656e74206f6e6520627974650a20202f2f206966207468657265206973206f6e6c79206f6e652c207468656e207468652074687265652063686172616374657273206265666f726520697420726570726573656e7420322062797465730a20202f2f2074686973206973206a7573742061206368656170206861636b20746f206e6f7420646f20696e6465784f662074776963650a202072657475726e206236345b6c656e202d20325d203d3d3d20273d27203f2032203a206236345b6c656e202d20315d203d3d3d20273d27203f2031203a20300a7d0a0a66756e6374696f6e20627974654c656e677468202862363429207b0a20202f2f2062617365363420697320342f33202b20757020746f2074776f2063686172616374657273206f6620746865206f726967696e616c20646174610a202072657475726e20286236342e6c656e677468202a2033202f203429202d20706c616365486f6c64657273436f756e7428623634290a7d0a0a66756e6374696f6e20746f427974654172726179202862363429207b0a202076617220692c206c2c20746d702c20706c616365486f6c646572732c206172720a2020766172206c656e203d206236342e6c656e6774680a2020706c616365486f6c64657273203d20706c616365486f6c64657273436f756e7428623634290a0a2020617272203d206e65772041727228286c656e202a2033202f203429202d20706c616365486f6c64657273290a0a20202f2f2069662074686572652061726520706c616365686f6c646572732c206f6e6c792067657420757020746f20746865206c61737420636f6d706c65746520342063686172730a20206c203d20706c616365486f6c64657273203e2030203f206c656e202d2034203a206c656e0a0a2020766172204c203d20300a0a2020666f72202869203d20303b2069203c206c3b2069202b3d203429207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c20313829207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203c3c20313229207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2032295d203c3c203629207c207265764c6f6f6b75705b6236342e63686172436f646541742869202b2033295d0a202020206172725b4c2b2b5d203d2028746d70203e3e20313629202620307846460a202020206172725b4c2b2b5d203d2028746d70203e3e203829202620307846460a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d0a0a202069662028706c616365486f6c64657273203d3d3d203229207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c203229207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203e3e2034290a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d20656c73652069662028706c616365486f6c64657273203d3d3d203129207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c20313029207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203c3c203429207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2032295d203e3e2032290a202020206172725b4c2b2b5d203d2028746d70203e3e203829202620307846460a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d0a0a202072657475726e206172720a7d0a0a66756e6374696f6e20747269706c6574546f42617365363420286e756d29207b0a202072657475726e206c6f6f6b75705b6e756d203e3e203138202620307833465d202b206c6f6f6b75705b6e756d203e3e203132202620307833465d202b206c6f6f6b75705b6e756d203e3e2036202620307833465d202b206c6f6f6b75705b6e756d202620307833465d0a7d0a0a66756e6374696f6e20656e636f64654368756e6b202875696e74382c2073746172742c20656e6429207b0a202076617220746d700a2020766172206f7574707574203d205b5d0a2020666f7220287661722069203d2073746172743b2069203c20656e643b2069202b3d203329207b0a20202020746d70203d202875696e74385b695d203c3c20313629202b202875696e74385b69202b20315d203c3c203829202b202875696e74385b69202b20325d290a202020206f75747075742e7075736828747269706c6574546f42617365363428746d7029290a20207d0a202072657475726e206f75747075742e6a6f696e282727290a7d0a0a66756e6374696f6e2066726f6d427974654172726179202875696e743829207b0a202076617220746d700a2020766172206c656e203d2075696e74382e6c656e6774680a20207661722065787472614279746573203d206c656e20252033202f2f206966207765206861766520312062797465206c6566742c2070616420322062797465730a2020766172206f7574707574203d2027270a2020766172207061727473203d205b5d0a2020766172206d61784368756e6b4c656e677468203d203136333833202f2f206d757374206265206d756c7469706c65206f6620330a0a20202f2f20676f207468726f756768207468652061727261792065766572792074687265652062797465732c207765276c6c206465616c207769746820747261696c696e67207374756666206c617465720a2020666f7220287661722069203d20302c206c656e32203d206c656e202d20657874726142797465733b2069203c206c656e323b2069202b3d206d61784368756e6b4c656e67746829207b0a2020202070617274732e7075736828656e636f64654368756e6b2875696e74382c20692c202869202b206d61784368756e6b4c656e67746829203e206c656e32203f206c656e32203a202869202b206d61784368756e6b4c656e6774682929290a20207d0a0a20202f2f207061642074686520656e642077697468207a65726f732c20627574206d616b65207375726520746f206e6f7420666f72676574207468652065787472612062797465730a20206966202865787472614279746573203d3d3d203129207b0a20202020746d70203d2075696e74385b6c656e202d20315d0a202020206f7574707574202b3d206c6f6f6b75705b746d70203e3e20325d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203c3c203429202620307833465d0a202020206f7574707574202b3d20273d3d270a20207d20656c7365206966202865787472614279746573203d3d3d203229207b0a20202020746d70203d202875696e74385b6c656e202d20325d203c3c203829202b202875696e74385b6c656e202d20315d290a202020206f7574707574202b3d206c6f6f6b75705b746d70203e3e2031305d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203e3e203429202620307833465d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203c3c203229202620307833465d0a202020206f7574707574202b3d20273d270a20207d0a0a202070617274732e70757368286f7574707574290a0a202072657475726e2070617274732e6a6f696e282727290a7d0a0a7d2c7b7d5d2c33323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a210a202a2054686520627566666572206d6f64756c652066726f6d206e6f64652e6a732c20666f72207468652062726f777365722e0a202a0a202a2040617574686f722020204665726f73732041626f756b686164696a6568203c68747470733a2f2f6665726f73732e6f72673e0a202a20406c6963656e736520204d49540a202a2f0a2f2a2065736c696e742d64697361626c65206e6f2d70726f746f202a2f0a0a2775736520737472696374270a0a76617220626173653634203d207265717569726528276261736536342d6a7327290a7661722069656565373534203d207265717569726528276965656537353427290a0a6578706f7274732e427566666572203d204275666665720a6578706f7274732e536c6f77427566666572203d20536c6f774275666665720a6578706f7274732e494e53504543545f4d41585f4259544553203d2035300a0a766172204b5f4d41585f4c454e475448203d20307837666666666666660a6578706f7274732e6b4d61784c656e677468203d204b5f4d41585f4c454e4754480a0a2f2a2a0a202a20496620604275666665722e54595045445f41525241595f535550504f5254603a0a202a2020203d3d3d2074727565202020205573652055696e7438417272617920696d706c656d656e746174696f6e202866617374657374290a202a2020203d3d3d2066616c73652020205072696e74207761726e696e6720616e64207265636f6d6d656e64207573696e672060627566666572602076342e782077686963682068617320616e204f626a6563740a202a202020202020202020202020202020696d706c656d656e746174696f6e20286d6f737420636f6d70617469626c652c206576656e20494536290a202a0a202a2042726f7773657273207468617420737570706f727420747970656420617272617973206172652049452031302b2c2046697265666f7820342b2c204368726f6d6520372b2c2053616661726920352e312b2c0a202a204f706572612031312e362b2c20694f5320342e322b2e0a202a0a202a205765207265706f72742074686174207468652062726f7773657220646f6573206e6f7420737570706f7274207479706564206172726179732069662074686520617265206e6f7420737562636c61737361626c650a202a207573696e67205f5f70726f746f5f5f2e2046697265666f7820342d3239206c61636b7320737570706f727420666f7220616464696e67206e65772070726f7065727469657320746f206055696e74384172726179600a202a20285365653a2068747470733a2f2f6275677a696c6c612e6d6f7a696c6c612e6f72672f73686f775f6275672e6367693f69643d363935343338292e204945203130206c61636b7320737570706f72740a202a20666f72205f5f70726f746f5f5f20616e6420686173206120627567677920747970656420617272617920696d706c656d656e746174696f6e2e0a202a2f0a4275666665722e54595045445f41525241595f535550504f5254203d2074797065644172726179537570706f727428290a0a69662028214275666665722e54595045445f41525241595f535550504f525420262620747970656f6620636f6e736f6c6520213d3d2027756e646566696e6564272026260a20202020747970656f6620636f6e736f6c652e6572726f72203d3d3d202766756e6374696f6e2729207b0a2020636f6e736f6c652e6572726f72280a2020202027546869732062726f77736572206c61636b73207479706564206172726179202855696e743841727261792920737570706f72742077686963682069732072657175697265642062792027202b0a202020202760627566666572602076352e782e205573652060627566666572602076342e7820696620796f752072657175697265206f6c642062726f7773657220737570706f72742e270a2020290a7d0a0a66756e6374696f6e2074797065644172726179537570706f7274202829207b0a20202f2f2043616e20747970656420617272617920696e7374616e6365732063616e206265206175676d656e7465643f0a2020747279207b0a2020202076617220617272203d206e65772055696e743841727261792831290a202020206172722e5f5f70726f746f5f5f203d207b5f5f70726f746f5f5f3a2055696e743841727261792e70726f746f747970652c20666f6f3a2066756e6374696f6e202829207b2072657475726e203432207d7d0a2020202072657475726e206172722e666f6f2829203d3d3d2034320a20207d20636174636820286529207b0a2020202072657475726e2066616c73650a20207d0a7d0a0a66756e6374696f6e2063726561746542756666657220286c656e67746829207b0a2020696620286c656e677468203e204b5f4d41585f4c454e47544829207b0a202020207468726f77206e65772052616e67654572726f722827496e76616c6964207479706564206172726179206c656e67746827290a20207d0a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a202076617220627566203d206e65772055696e74384172726179286c656e677468290a20206275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206275660a7d0a0a2f2a2a0a202a205468652042756666657220636f6e7374727563746f722072657475726e7320696e7374616e636573206f66206055696e7438417272617960207468617420686176652074686569720a202a2070726f746f74797065206368616e67656420746f20604275666665722e70726f746f74797065602e20467572746865726d6f72652c206042756666657260206973206120737562636c617373206f660a202a206055696e74384172726179602c20736f207468652072657475726e656420696e7374616e6365732077696c6c206861766520616c6c20746865206e6f6465206042756666657260206d6574686f64730a202a20616e6420746865206055696e7438417272617960206d6574686f64732e2053717561726520627261636b6574206e6f746174696f6e20776f726b73206173206578706563746564202d2d2069740a202a2072657475726e7320612073696e676c65206f637465742e0a202a0a202a20546865206055696e74384172726179602070726f746f747970652072656d61696e7320756e6d6f6469666965642e0a202a2f0a0a66756e6374696f6e2042756666657220286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a20202f2f20436f6d6d6f6e20636173652e0a202069662028747970656f6620617267203d3d3d20276e756d6265722729207b0a2020202069662028747970656f6620656e636f64696e674f724f6666736574203d3d3d2027737472696e672729207b0a2020202020207468726f77206e6577204572726f72280a202020202020202027496620656e636f64696e6720697320737065636966696564207468656e2074686520666972737420617267756d656e74206d757374206265206120737472696e67270a202020202020290a202020207d0a2020202072657475726e20616c6c6f63556e7361666528617267290a20207d0a202072657475726e2066726f6d286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f20466978207375626172726179282920696e204553323031362e205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f70756c6c2f39370a69662028747970656f662053796d626f6c20213d3d2027756e646566696e6564272026262053796d626f6c2e737065636965732026260a202020204275666665725b53796d626f6c2e737065636965735d203d3d3d2042756666657229207b0a20204f626a6563742e646566696e6550726f7065727479284275666665722c2053796d626f6c2e737065636965732c207b0a2020202076616c75653a206e756c6c2c0a20202020636f6e666967757261626c653a20747275652c0a20202020656e756d657261626c653a2066616c73652c0a202020207772697461626c653a2066616c73650a20207d290a7d0a0a4275666665722e706f6f6c53697a65203d2038313932202f2f206e6f742075736564206279207468697320696d706c656d656e746174696f6e0a0a66756e6374696f6e2066726f6d202876616c75652c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202069662028747970656f662076616c7565203d3d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f7228272276616c75652220617267756d656e74206d757374206e6f742062652061206e756d62657227290a20207d0a0a202069662028697341727261794275666665722876616c75652929207b0a2020202072657475726e2066726f6d41727261794275666665722876616c75652c20656e636f64696e674f724f66667365742c206c656e677468290a20207d0a0a202069662028747970656f662076616c7565203d3d3d2027737472696e672729207b0a2020202072657475726e2066726f6d537472696e672876616c75652c20656e636f64696e674f724f6666736574290a20207d0a0a202072657475726e2066726f6d4f626a6563742876616c7565290a7d0a0a2f2a2a0a202a2046756e6374696f6e616c6c79206571756976616c656e7420746f20427566666572286172672c20656e636f64696e672920627574207468726f7773206120547970654572726f720a202a2069662076616c75652069732061206e756d6265722e0a202a204275666665722e66726f6d287374725b2c20656e636f64696e675d290a202a204275666665722e66726f6d286172726179290a202a204275666665722e66726f6d28627566666572290a202a204275666665722e66726f6d2861727261794275666665725b2c20627974654f66667365745b2c206c656e6774685d5d290a202a2a2f0a4275666665722e66726f6d203d2066756e6374696f6e202876616c75652c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202072657475726e2066726f6d2876616c75652c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f204e6f74653a204368616e67652070726f746f74797065202a61667465722a204275666665722e66726f6d20697320646566696e656420746f20776f726b61726f756e64204368726f6d65206275673a0a2f2f2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f70756c6c2f3134380a4275666665722e70726f746f747970652e5f5f70726f746f5f5f203d2055696e743841727261792e70726f746f747970650a4275666665722e5f5f70726f746f5f5f203d2055696e743841727261790a0a66756e6374696f6e2061737365727453697a65202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f7228272273697a652220617267756d656e74206d7573742062652061206e756d62657227290a20207d20656c7365206966202873697a65203c203029207b0a202020207468726f77206e65772052616e67654572726f7228272273697a652220617267756d656e74206d757374206e6f74206265206e6567617469766527290a20207d0a7d0a0a66756e6374696f6e20616c6c6f63202873697a652c2066696c6c2c20656e636f64696e6729207b0a202061737365727453697a652873697a65290a20206966202873697a65203c3d203029207b0a2020202072657475726e206372656174654275666665722873697a65290a20207d0a20206966202866696c6c20213d3d20756e646566696e656429207b0a202020202f2f204f6e6c792070617920617474656e74696f6e20746f20656e636f64696e672069662069742773206120737472696e672e20546869730a202020202f2f2070726576656e7473206163636964656e74616c6c792073656e64696e6720696e2061206e756d626572207468617420776f756c640a202020202f2f20626520696e746572707265747465642061732061207374617274206f66667365742e0a2020202072657475726e20747970656f6620656e636f64696e67203d3d3d2027737472696e67270a2020202020203f206372656174654275666665722873697a65292e66696c6c2866696c6c2c20656e636f64696e67290a2020202020203a206372656174654275666665722873697a65292e66696c6c2866696c6c290a20207d0a202072657475726e206372656174654275666665722873697a65290a7d0a0a2f2a2a0a202a20437265617465732061206e65772066696c6c65642042756666657220696e7374616e63652e0a202a20616c6c6f632873697a655b2c2066696c6c5b2c20656e636f64696e675d5d290a202a2a2f0a4275666665722e616c6c6f63203d2066756e6374696f6e202873697a652c2066696c6c2c20656e636f64696e6729207b0a202072657475726e20616c6c6f632873697a652c2066696c6c2c20656e636f64696e67290a7d0a0a66756e6374696f6e20616c6c6f63556e73616665202873697a6529207b0a202061737365727453697a652873697a65290a202072657475726e206372656174654275666665722873697a65203c2030203f2030203a20636865636b65642873697a6529207c2030290a7d0a0a2f2a2a0a202a204571756976616c656e7420746f20427566666572286e756d292c2062792064656661756c7420637265617465732061206e6f6e2d7a65726f2d66696c6c65642042756666657220696e7374616e63652e0a202a202a2f0a4275666665722e616c6c6f63556e73616665203d2066756e6374696f6e202873697a6529207b0a202072657475726e20616c6c6f63556e736166652873697a65290a7d0a2f2a2a0a202a204571756976616c656e7420746f20536c6f77427566666572286e756d292c2062792064656661756c7420637265617465732061206e6f6e2d7a65726f2d66696c6c65642042756666657220696e7374616e63652e0a202a2f0a4275666665722e616c6c6f63556e73616665536c6f77203d2066756e6374696f6e202873697a6529207b0a202072657475726e20616c6c6f63556e736166652873697a65290a7d0a0a66756e6374696f6e2066726f6d537472696e672028737472696e672c20656e636f64696e6729207b0a202069662028747970656f6620656e636f64696e6720213d3d2027737472696e6727207c7c20656e636f64696e67203d3d3d20272729207b0a20202020656e636f64696e67203d202775746638270a20207d0a0a202069662028214275666665722e6973456e636f64696e6728656e636f64696e672929207b0a202020207468726f77206e657720547970654572726f72282722656e636f64696e6722206d75737420626520612076616c696420737472696e6720656e636f64696e6727290a20207d0a0a2020766172206c656e677468203d20627974654c656e67746828737472696e672c20656e636f64696e6729207c20300a202076617220627566203d20637265617465427566666572286c656e677468290a0a20207661722061637475616c203d206275662e777269746528737472696e672c20656e636f64696e67290a0a20206966202861637475616c20213d3d206c656e67746829207b0a202020202f2f2057726974696e6720612068657820737472696e672c20666f72206578616d706c652c207468617420636f6e7461696e7320696e76616c696420636861726163746572732077696c6c0a202020202f2f2063617573652065766572797468696e672061667465722074686520666972737420696e76616c69642063686172616374657220746f2062652069676e6f7265642e2028652e672e0a202020202f2f2027616278786364272077696c6c20626520747265617465642061732027616227290a20202020627566203d206275662e736c69636528302c2061637475616c290a20207d0a0a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d41727261794c696b652028617272617929207b0a2020766172206c656e677468203d2061727261792e6c656e677468203c2030203f2030203a20636865636b65642861727261792e6c656e67746829207c20300a202076617220627566203d20637265617465427566666572286c656e677468290a2020666f7220287661722069203d20303b2069203c206c656e6774683b2069202b3d203129207b0a202020206275665b695d203d2061727261795b695d2026203235350a20207d0a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d4172726179427566666572202861727261792c20627974654f66667365742c206c656e67746829207b0a202069662028627974654f6666736574203c2030207c7c2061727261792e627974654c656e677468203c20627974654f666673657429207b0a202020207468726f77206e65772052616e67654572726f7228275c276f66667365745c27206973206f7574206f6620626f756e647327290a20207d0a0a20206966202861727261792e627974654c656e677468203c20627974654f6666736574202b20286c656e677468207c7c20302929207b0a202020207468726f77206e65772052616e67654572726f7228275c276c656e6774685c27206973206f7574206f6620626f756e647327290a20207d0a0a2020766172206275660a202069662028627974654f6666736574203d3d3d20756e646566696e6564202626206c656e677468203d3d3d20756e646566696e656429207b0a20202020627566203d206e65772055696e74384172726179286172726179290a20207d20656c736520696620286c656e677468203d3d3d20756e646566696e656429207b0a20202020627566203d206e65772055696e743841727261792861727261792c20627974654f6666736574290a20207d20656c7365207b0a20202020627566203d206e65772055696e743841727261792861727261792c20627974654f66667365742c206c656e677468290a20207d0a0a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a20206275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d4f626a65637420286f626a29207b0a2020696620284275666665722e6973427566666572286f626a2929207b0a20202020766172206c656e203d20636865636b6564286f626a2e6c656e67746829207c20300a2020202076617220627566203d20637265617465427566666572286c656e290a0a20202020696620286275662e6c656e677468203d3d3d203029207b0a20202020202072657475726e206275660a202020207d0a0a202020206f626a2e636f7079286275662c20302c20302c206c656e290a2020202072657475726e206275660a20207d0a0a2020696620286f626a29207b0a20202020696620286973417272617942756666657256696577286f626a29207c7c20276c656e6774682720696e206f626a29207b0a20202020202069662028747970656f66206f626a2e6c656e67746820213d3d20276e756d62657227207c7c206e756d62657249734e614e286f626a2e6c656e6774682929207b0a202020202020202072657475726e206372656174654275666665722830290a2020202020207d0a20202020202072657475726e2066726f6d41727261794c696b65286f626a290a202020207d0a0a20202020696620286f626a2e74797065203d3d3d2027427566666572272026262041727261792e69734172726179286f626a2e646174612929207b0a20202020202072657475726e2066726f6d41727261794c696b65286f626a2e64617461290a202020207d0a20207d0a0a20207468726f77206e657720547970654572726f722827466972737420617267756d656e74206d757374206265206120737472696e672c204275666665722c2041727261794275666665722c2041727261792c206f722061727261792d6c696b65206f626a6563742e27290a7d0a0a66756e6374696f6e20636865636b656420286c656e67746829207b0a20202f2f204e6f74653a2063616e6e6f742075736520606c656e677468203c204b5f4d41585f4c454e47544860206865726520626563617573652074686174206661696c73207768656e0a20202f2f206c656e677468206973204e614e20287768696368206973206f746865727769736520636f657263656420746f207a65726f2e290a2020696620286c656e677468203e3d204b5f4d41585f4c454e47544829207b0a202020207468726f77206e65772052616e67654572726f722827417474656d707420746f20616c6c6f6361746520427566666572206c6172676572207468616e206d6178696d756d2027202b0a202020202020202020202020202020202020202020202020202773697a653a20307827202b204b5f4d41585f4c454e4754482e746f537472696e6728313629202b202720627974657327290a20207d0a202072657475726e206c656e677468207c20300a7d0a0a66756e6374696f6e20536c6f7742756666657220286c656e67746829207b0a2020696620282b6c656e67746820213d206c656e67746829207b202f2f2065736c696e742d64697361626c652d6c696e65206571657165710a202020206c656e677468203d20300a20207d0a202072657475726e204275666665722e616c6c6f63282b6c656e677468290a7d0a0a4275666665722e6973427566666572203d2066756e6374696f6e20697342756666657220286229207b0a202072657475726e206220213d206e756c6c20262620622e5f6973427566666572203d3d3d20747275650a7d0a0a4275666665722e636f6d70617265203d2066756e6374696f6e20636f6d706172652028612c206229207b0a202069662028214275666665722e6973427566666572286129207c7c20214275666665722e697342756666657228622929207b0a202020207468726f77206e657720547970654572726f722827417267756d656e7473206d757374206265204275666665727327290a20207d0a0a20206966202861203d3d3d2062292072657475726e20300a0a20207661722078203d20612e6c656e6774680a20207661722079203d20622e6c656e6774680a0a2020666f7220287661722069203d20302c206c656e203d204d6174682e6d696e28782c2079293b2069203c206c656e3b202b2b6929207b0a2020202069662028615b695d20213d3d20625b695d29207b0a20202020202078203d20615b695d0a20202020202079203d20625b695d0a202020202020627265616b0a202020207d0a20207d0a0a20206966202878203c2079292072657475726e202d310a20206966202879203c2078292072657475726e20310a202072657475726e20300a7d0a0a4275666665722e6973456e636f64696e67203d2066756e6374696f6e206973456e636f64696e672028656e636f64696e6729207b0a20207377697463682028537472696e6728656e636f64696e67292e746f4c6f77657243617365282929207b0a20202020636173652027686578273a0a2020202063617365202775746638273a0a202020206361736520277574662d38273a0a202020206361736520276173636969273a0a202020206361736520276c6174696e31273a0a2020202063617365202762696e617279273a0a20202020636173652027626173653634273a0a2020202063617365202775637332273a0a202020206361736520277563732d32273a0a2020202063617365202775746631366c65273a0a202020206361736520277574662d31366c65273a0a20202020202072657475726e20747275650a2020202064656661756c743a0a20202020202072657475726e2066616c73650a20207d0a7d0a0a4275666665722e636f6e636174203d2066756e6374696f6e20636f6e63617420286c6973742c206c656e67746829207b0a2020696620282141727261792e69734172726179286c6973742929207b0a202020207468726f77206e657720547970654572726f722827226c6973742220617267756d656e74206d75737420626520616e204172726179206f66204275666665727327290a20207d0a0a2020696620286c6973742e6c656e677468203d3d3d203029207b0a2020202072657475726e204275666665722e616c6c6f632830290a20207d0a0a202076617220690a2020696620286c656e677468203d3d3d20756e646566696e656429207b0a202020206c656e677468203d20300a20202020666f72202869203d20303b2069203c206c6973742e6c656e6774683b202b2b6929207b0a2020202020206c656e677468202b3d206c6973745b695d2e6c656e6774680a202020207d0a20207d0a0a202076617220627566666572203d204275666665722e616c6c6f63556e73616665286c656e677468290a202076617220706f73203d20300a2020666f72202869203d20303b2069203c206c6973742e6c656e6774683b202b2b6929207b0a2020202076617220627566203d206c6973745b695d0a2020202069662028214275666665722e6973427566666572286275662929207b0a2020202020207468726f77206e657720547970654572726f722827226c6973742220617267756d656e74206d75737420626520616e204172726179206f66204275666665727327290a202020207d0a202020206275662e636f7079286275666665722c20706f73290a20202020706f73202b3d206275662e6c656e6774680a20207d0a202072657475726e206275666665720a7d0a0a66756e6374696f6e20627974654c656e6774682028737472696e672c20656e636f64696e6729207b0a2020696620284275666665722e697342756666657228737472696e672929207b0a2020202072657475726e20737472696e672e6c656e6774680a20207d0a202069662028697341727261794275666665725669657728737472696e6729207c7c206973417272617942756666657228737472696e672929207b0a2020202072657475726e20737472696e672e627974654c656e6774680a20207d0a202069662028747970656f6620737472696e6720213d3d2027737472696e672729207b0a20202020737472696e67203d202727202b20737472696e670a20207d0a0a2020766172206c656e203d20737472696e672e6c656e6774680a2020696620286c656e203d3d3d2030292072657475726e20300a0a20202f2f20557365206120666f72206c6f6f7020746f2061766f696420726563757273696f6e0a2020766172206c6f776572656443617365203d2066616c73650a2020666f7220283b3b29207b0a202020207377697463682028656e636f64696e6729207b0a2020202020206361736520276173636969273a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c656e0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a2020202020206361736520756e646566696e65643a0a202020202020202072657475726e2075746638546f427974657328737472696e67292e6c656e6774680a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e206c656e202a20320a202020202020636173652027686578273a0a202020202020202072657475726e206c656e203e3e3e20310a202020202020636173652027626173653634273a0a202020202020202072657475726e20626173653634546f427974657328737472696e67292e6c656e6774680a20202020202064656661756c743a0a2020202020202020696620286c6f776572656443617365292072657475726e2075746638546f427974657328737472696e67292e6c656e677468202f2f20617373756d6520757466380a2020202020202020656e636f64696e67203d20282727202b20656e636f64696e67292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a4275666665722e627974654c656e677468203d20627974654c656e6774680a0a66756e6374696f6e20736c6f77546f537472696e672028656e636f64696e672c2073746172742c20656e6429207b0a2020766172206c6f776572656443617365203d2066616c73650a0a20202f2f204e6f206e65656420746f2076657269667920746861742022746869732e6c656e677468203c3d204d41585f55494e543332222073696e63652069742773206120726561642d6f6e6c790a20202f2f2070726f7065727479206f6620612074797065642061727261792e0a0a20202f2f20546869732062656861766573206e656974686572206c696b6520537472696e67206e6f722055696e7438417272617920696e2074686174207765207365742073746172742f656e640a20202f2f20746f2074686569722075707065722f6c6f77657220626f756e6473206966207468652076616c756520706173736564206973206f7574206f662072616e67652e0a20202f2f20756e646566696e65642069732068616e646c6564207370656369616c6c79206173207065722045434d412d323632203674682045646974696f6e2c0a20202f2f2053656374696f6e2031332e332e332e372052756e74696d652053656d616e746963733a204b6579656442696e64696e67496e697469616c697a6174696f6e2e0a2020696620287374617274203d3d3d20756e646566696e6564207c7c207374617274203c203029207b0a202020207374617274203d20300a20207d0a20202f2f2052657475726e206561726c79206966207374617274203e20746869732e6c656e6774682e20446f6e65206865726520746f2070726576656e7420706f74656e7469616c2075696e7433320a20202f2f20636f657263696f6e206661696c2062656c6f772e0a2020696620287374617274203e20746869732e6c656e67746829207b0a2020202072657475726e2027270a20207d0a0a202069662028656e64203d3d3d20756e646566696e6564207c7c20656e64203e20746869732e6c656e67746829207b0a20202020656e64203d20746869732e6c656e6774680a20207d0a0a202069662028656e64203c3d203029207b0a2020202072657475726e2027270a20207d0a0a20202f2f20466f72636520636f657273696f6e20746f2075696e7433322e20546869732077696c6c20616c736f20636f657263652066616c7365792f4e614e2076616c75657320746f20302e0a2020656e64203e3e3e3d20300a20207374617274203e3e3e3d20300a0a202069662028656e64203c3d20737461727429207b0a2020202072657475726e2027270a20207d0a0a20206966202821656e636f64696e672920656e636f64696e67203d202775746638270a0a20207768696c6520287472756529207b0a202020207377697463682028656e636f64696e6729207b0a202020202020636173652027686578273a0a202020202020202072657475726e20686578536c69636528746869732c2073746172742c20656e64290a0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e2075746638536c69636528746869732c2073746172742c20656e64290a0a2020202020206361736520276173636969273a0a202020202020202072657475726e206173636969536c69636528746869732c2073746172742c20656e64290a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c6174696e31536c69636528746869732c2073746172742c20656e64290a0a202020202020636173652027626173653634273a0a202020202020202072657475726e20626173653634536c69636528746869732c2073746172742c20656e64290a0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e2075746631366c65536c69636528746869732c2073746172742c20656e64290a0a20202020202064656661756c743a0a2020202020202020696620286c6f77657265644361736529207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a2020202020202020656e636f64696e67203d2028656e636f64696e67202b202727292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a0a2f2f20546869732070726f7065727479206973207573656420627920604275666665722e6973427566666572602028616e6420746865206069732d62756666657260206e706d207061636b616765290a2f2f20746f2064657465637420612042756666657220696e7374616e63652e2049742773206e6f7420706f737369626c6520746f207573652060696e7374616e63656f6620427566666572600a2f2f2072656c6961626c7920696e20612062726f7773657269667920636f6e74657874206265636175736520746865726520636f756c64206265206d756c7469706c6520646966666572656e740a2f2f20636f70696573206f6620746865202762756666657227207061636b61676520696e207573652e2054686973206d6574686f6420776f726b73206576656e20666f72204275666665720a2f2f20696e7374616e6365732074686174207765726520637265617465642066726f6d20616e6f7468657220636f7079206f6620746865206062756666657260207061636b6167652e0a2f2f205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f6973737565732f3135340a4275666665722e70726f746f747970652e5f6973427566666572203d20747275650a0a66756e6374696f6e20737761702028622c206e2c206d29207b0a20207661722069203d20625b6e5d0a2020625b6e5d203d20625b6d5d0a2020625b6d5d203d20690a7d0a0a4275666665722e70726f746f747970652e737761703136203d2066756e6374696f6e20737761703136202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203220213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662031362d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203229207b0a202020207377617028746869732c20692c2069202b2031290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e737761703332203d2066756e6374696f6e20737761703332202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203420213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662033322d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203429207b0a202020207377617028746869732c20692c2069202b2033290a202020207377617028746869732c2069202b20312c2069202b2032290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e737761703634203d2066756e6374696f6e20737761703634202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203820213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662036342d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203829207b0a202020207377617028746869732c20692c2069202b2037290a202020207377617028746869732c2069202b20312c2069202b2036290a202020207377617028746869732c2069202b20322c2069202b2035290a202020207377617028746869732c2069202b20332c2069202b2034290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e20746f537472696e67202829207b0a2020766172206c656e677468203d20746869732e6c656e6774680a2020696620286c656e677468203d3d3d2030292072657475726e2027270a202069662028617267756d656e74732e6c656e677468203d3d3d2030292072657475726e2075746638536c69636528746869732c20302c206c656e677468290a202072657475726e20736c6f77546f537472696e672e6170706c7928746869732c20617267756d656e7473290a7d0a0a4275666665722e70726f746f747970652e657175616c73203d2066756e6374696f6e20657175616c7320286229207b0a202069662028214275666665722e697342756666657228622929207468726f77206e657720547970654572726f722827417267756d656e74206d75737420626520612042756666657227290a20206966202874686973203d3d3d2062292072657475726e20747275650a202072657475726e204275666665722e636f6d7061726528746869732c206229203d3d3d20300a7d0a0a4275666665722e70726f746f747970652e696e7370656374203d2066756e6374696f6e20696e7370656374202829207b0a202076617220737472203d2027270a2020766172206d6178203d206578706f7274732e494e53504543545f4d41585f42595445530a202069662028746869732e6c656e677468203e203029207b0a20202020737472203d20746869732e746f537472696e672827686578272c20302c206d6178292e6d61746368282f2e7b327d2f67292e6a6f696e28272027290a2020202069662028746869732e6c656e677468203e206d61782920737472202b3d2027202e2e2e20270a20207d0a202072657475726e20273c4275666665722027202b20737472202b20273e270a7d0a0a4275666665722e70726f746f747970652e636f6d70617265203d2066756e6374696f6e20636f6d7061726520287461726765742c2073746172742c20656e642c207468697353746172742c2074686973456e6429207b0a202069662028214275666665722e6973427566666572287461726765742929207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d75737420626520612042756666657227290a20207d0a0a2020696620287374617274203d3d3d20756e646566696e656429207b0a202020207374617274203d20300a20207d0a202069662028656e64203d3d3d20756e646566696e656429207b0a20202020656e64203d20746172676574203f207461726765742e6c656e677468203a20300a20207d0a202069662028746869735374617274203d3d3d20756e646566696e656429207b0a20202020746869735374617274203d20300a20207d0a20206966202874686973456e64203d3d3d20756e646566696e656429207b0a2020202074686973456e64203d20746869732e6c656e6774680a20207d0a0a2020696620287374617274203c2030207c7c20656e64203e207461726765742e6c656e677468207c7c20746869735374617274203c2030207c7c2074686973456e64203e20746869732e6c656e67746829207b0a202020207468726f77206e65772052616e67654572726f7228276f7574206f662072616e676520696e64657827290a20207d0a0a202069662028746869735374617274203e3d2074686973456e64202626207374617274203e3d20656e6429207b0a2020202072657475726e20300a20207d0a202069662028746869735374617274203e3d2074686973456e6429207b0a2020202072657475726e202d310a20207d0a2020696620287374617274203e3d20656e6429207b0a2020202072657475726e20310a20207d0a0a20207374617274203e3e3e3d20300a2020656e64203e3e3e3d20300a2020746869735374617274203e3e3e3d20300a202074686973456e64203e3e3e3d20300a0a20206966202874686973203d3d3d20746172676574292072657475726e20300a0a20207661722078203d2074686973456e64202d207468697353746172740a20207661722079203d20656e64202d2073746172740a2020766172206c656e203d204d6174682e6d696e28782c2079290a0a20207661722074686973436f7079203d20746869732e736c696365287468697353746172742c2074686973456e64290a202076617220746172676574436f7079203d207461726765742e736c6963652873746172742c20656e64290a0a2020666f7220287661722069203d20303b2069203c206c656e3b202b2b6929207b0a202020206966202874686973436f70795b695d20213d3d20746172676574436f70795b695d29207b0a20202020202078203d2074686973436f70795b695d0a20202020202079203d20746172676574436f70795b695d0a202020202020627265616b0a202020207d0a20207d0a0a20206966202878203c2079292072657475726e202d310a20206966202879203c2078292072657475726e20310a202072657475726e20300a7d0a0a2f2f2046696e6473206569746865722074686520666972737420696e646578206f66206076616c6020696e206062756666657260206174206f6666736574203e3d2060627974654f6666736574602c0a2f2f204f5220746865206c61737420696e646578206f66206076616c6020696e206062756666657260206174206f6666736574203c3d2060627974654f6666736574602e0a2f2f0a2f2f20417267756d656e74733a0a2f2f202d20627566666572202d20612042756666657220746f207365617263680a2f2f202d2076616c202d206120737472696e672c204275666665722c206f72206e756d6265720a2f2f202d20627974654f6666736574202d20616e20696e64657820696e746f2060627566666572603b2077696c6c20626520636c616d70656420746f20616e20696e7433320a2f2f202d20656e636f64696e67202d20616e206f7074696f6e616c20656e636f64696e672c2072656c6576616e742069732076616c206973206120737472696e670a2f2f202d20646972202d207472756520666f7220696e6465784f662c2066616c736520666f72206c617374496e6465784f660a66756e6374696f6e206269646972656374696f6e616c496e6465784f6620286275666665722c2076616c2c20627974654f66667365742c20656e636f64696e672c2064697229207b0a20202f2f20456d70747920627566666572206d65616e73206e6f206d617463680a2020696620286275666665722e6c656e677468203d3d3d2030292072657475726e202d310a0a20202f2f204e6f726d616c697a6520627974654f66667365740a202069662028747970656f6620627974654f6666736574203d3d3d2027737472696e672729207b0a20202020656e636f64696e67203d20627974654f66667365740a20202020627974654f6666736574203d20300a20207d20656c73652069662028627974654f6666736574203e203078376666666666666629207b0a20202020627974654f6666736574203d20307837666666666666660a20207d20656c73652069662028627974654f6666736574203c202d3078383030303030303029207b0a20202020627974654f6666736574203d202d307838303030303030300a20207d0a2020627974654f6666736574203d202b627974654f666673657420202f2f20436f6572636520746f204e756d6265722e0a2020696620286e756d62657249734e614e28627974654f66667365742929207b0a202020202f2f20627974654f66667365743a206974206974277320756e646566696e65642c206e756c6c2c204e614e2c2022666f6f222c206574632c207365617263682077686f6c65206275666665720a20202020627974654f6666736574203d20646972203f2030203a20286275666665722e6c656e677468202d2031290a20207d0a0a20202f2f204e6f726d616c697a6520627974654f66667365743a206e65676174697665206f6666736574732073746172742066726f6d2074686520656e64206f6620746865206275666665720a202069662028627974654f6666736574203c20302920627974654f6666736574203d206275666665722e6c656e677468202b20627974654f66667365740a202069662028627974654f6666736574203e3d206275666665722e6c656e67746829207b0a2020202069662028646972292072657475726e202d310a20202020656c736520627974654f6666736574203d206275666665722e6c656e677468202d20310a20207d20656c73652069662028627974654f6666736574203c203029207b0a20202020696620286469722920627974654f6666736574203d20300a20202020656c73652072657475726e202d310a20207d0a0a20202f2f204e6f726d616c697a652076616c0a202069662028747970656f662076616c203d3d3d2027737472696e672729207b0a2020202076616c203d204275666665722e66726f6d2876616c2c20656e636f64696e67290a20207d0a0a20202f2f2046696e616c6c792c207365617263682065697468657220696e6465784f662028696620646972206973207472756529206f72206c617374496e6465784f660a2020696620284275666665722e69734275666665722876616c2929207b0a202020202f2f205370656369616c20636173653a206c6f6f6b696e6720666f7220656d70747920737472696e672f62756666657220616c77617973206661696c730a202020206966202876616c2e6c656e677468203d3d3d203029207b0a20202020202072657475726e202d310a202020207d0a2020202072657475726e206172726179496e6465784f66286275666665722c2076616c2c20627974654f66667365742c20656e636f64696e672c20646972290a20207d20656c73652069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a2020202076616c203d2076616c20262030784646202f2f2053656172636820666f72206120627974652076616c7565205b302d3235355d0a2020202069662028747970656f662055696e743841727261792e70726f746f747970652e696e6465784f66203d3d3d202766756e6374696f6e2729207b0a2020202020206966202864697229207b0a202020202020202072657475726e2055696e743841727261792e70726f746f747970652e696e6465784f662e63616c6c286275666665722c2076616c2c20627974654f6666736574290a2020202020207d20656c7365207b0a202020202020202072657475726e2055696e743841727261792e70726f746f747970652e6c617374496e6465784f662e63616c6c286275666665722c2076616c2c20627974654f6666736574290a2020202020207d0a202020207d0a2020202072657475726e206172726179496e6465784f66286275666665722c205b2076616c205d2c20627974654f66667365742c20656e636f64696e672c20646972290a20207d0a0a20207468726f77206e657720547970654572726f72282776616c206d75737420626520737472696e672c206e756d626572206f722042756666657227290a7d0a0a66756e6374696f6e206172726179496e6465784f6620286172722c2076616c2c20627974654f66667365742c20656e636f64696e672c2064697229207b0a202076617220696e64657853697a65203d20310a2020766172206172724c656e677468203d206172722e6c656e6774680a20207661722076616c4c656e677468203d2076616c2e6c656e6774680a0a202069662028656e636f64696e6720213d3d20756e646566696e656429207b0a20202020656e636f64696e67203d20537472696e6728656e636f64696e67292e746f4c6f7765724361736528290a2020202069662028656e636f64696e67203d3d3d20277563733227207c7c20656e636f64696e67203d3d3d20277563732d3227207c7c0a2020202020202020656e636f64696e67203d3d3d202775746631366c6527207c7c20656e636f64696e67203d3d3d20277574662d31366c652729207b0a202020202020696620286172722e6c656e677468203c2032207c7c2076616c2e6c656e677468203c203229207b0a202020202020202072657475726e202d310a2020202020207d0a202020202020696e64657853697a65203d20320a2020202020206172724c656e677468202f3d20320a20202020202076616c4c656e677468202f3d20320a202020202020627974654f6666736574202f3d20320a202020207d0a20207d0a0a202066756e6374696f6e207265616420286275662c206929207b0a2020202069662028696e64657853697a65203d3d3d203129207b0a20202020202072657475726e206275665b695d0a202020207d20656c7365207b0a20202020202072657475726e206275662e7265616455496e74313642452869202a20696e64657853697a65290a202020207d0a20207d0a0a202076617220690a20206966202864697229207b0a2020202076617220666f756e64496e646578203d202d310a20202020666f72202869203d20627974654f66667365743b2069203c206172724c656e6774683b20692b2b29207b0a2020202020206966202872656164286172722c206929203d3d3d20726561642876616c2c20666f756e64496e646578203d3d3d202d31203f2030203a2069202d20666f756e64496e6465782929207b0a202020202020202069662028666f756e64496e646578203d3d3d202d312920666f756e64496e646578203d20690a20202020202020206966202869202d20666f756e64496e646578202b2031203d3d3d2076616c4c656e677468292072657475726e20666f756e64496e646578202a20696e64657853697a650a2020202020207d20656c7365207b0a202020202020202069662028666f756e64496e64657820213d3d202d31292069202d3d2069202d20666f756e64496e6465780a2020202020202020666f756e64496e646578203d202d310a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202069662028627974654f6666736574202b2076616c4c656e677468203e206172724c656e6774682920627974654f6666736574203d206172724c656e677468202d2076616c4c656e6774680a20202020666f72202869203d20627974654f66667365743b2069203e3d20303b20692d2d29207b0a20202020202076617220666f756e64203d20747275650a202020202020666f722028766172206a203d20303b206a203c2076616c4c656e6774683b206a2b2b29207b0a20202020202020206966202872656164286172722c2069202b206a2920213d3d20726561642876616c2c206a2929207b0a20202020202020202020666f756e64203d2066616c73650a20202020202020202020627265616b0a20202020202020207d0a2020202020207d0a20202020202069662028666f756e64292072657475726e20690a202020207d0a20207d0a0a202072657475726e202d310a7d0a0a4275666665722e70726f746f747970652e696e636c75646573203d2066756e6374696f6e20696e636c75646573202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e20746869732e696e6465784f662876616c2c20627974654f66667365742c20656e636f64696e672920213d3d202d310a7d0a0a4275666665722e70726f746f747970652e696e6465784f66203d2066756e6374696f6e20696e6465784f66202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e206269646972656374696f6e616c496e6465784f6628746869732c2076616c2c20627974654f66667365742c20656e636f64696e672c2074727565290a7d0a0a4275666665722e70726f746f747970652e6c617374496e6465784f66203d2066756e6374696f6e206c617374496e6465784f66202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e206269646972656374696f6e616c496e6465784f6628746869732c2076616c2c20627974654f66667365742c20656e636f64696e672c2066616c7365290a7d0a0a66756e6374696f6e20686578577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a20206f6666736574203d204e756d626572286f666673657429207c7c20300a20207661722072656d61696e696e67203d206275662e6c656e677468202d206f66667365740a202069662028216c656e67746829207b0a202020206c656e677468203d2072656d61696e696e670a20207d20656c7365207b0a202020206c656e677468203d204e756d626572286c656e677468290a20202020696620286c656e677468203e2072656d61696e696e6729207b0a2020202020206c656e677468203d2072656d61696e696e670a202020207d0a20207d0a0a20202f2f206d75737420626520616e206576656e206e756d626572206f66206469676974730a2020766172207374724c656e203d20737472696e672e6c656e6774680a2020696620287374724c656e2025203220213d3d203029207468726f77206e657720547970654572726f722827496e76616c69642068657820737472696e6727290a0a2020696620286c656e677468203e207374724c656e202f203229207b0a202020206c656e677468203d207374724c656e202f20320a20207d0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a2020202076617220706172736564203d207061727365496e7428737472696e672e7375627374722869202a20322c2032292c203136290a20202020696620286e756d62657249734e614e2870617273656429292072657475726e20690a202020206275665b6f6666736574202b20695d203d207061727365640a20207d0a202072657475726e20690a7d0a0a66756e6374696f6e2075746638577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c69744275666665722875746638546f427974657328737472696e672c206275662e6c656e677468202d206f6666736574292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e206173636969577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c6974427566666572286173636969546f427974657328737472696e67292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e206c6174696e31577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e2061736369695772697465286275662c20737472696e672c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e20626173653634577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c697442756666657228626173653634546f427974657328737472696e67292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e2075637332577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c69744275666665722875746631366c65546f427974657328737472696e672c206275662e6c656e677468202d206f6666736574292c206275662c206f66667365742c206c656e677468290a7d0a0a4275666665722e70726f746f747970652e7772697465203d2066756e6374696f6e2077726974652028737472696e672c206f66667365742c206c656e6774682c20656e636f64696e6729207b0a20202f2f2042756666657223777269746528737472696e67290a2020696620286f6666736574203d3d3d20756e646566696e656429207b0a20202020656e636f64696e67203d202775746638270a202020206c656e677468203d20746869732e6c656e6774680a202020206f6666736574203d20300a20202f2f2042756666657223777269746528737472696e672c20656e636f64696e67290a20207d20656c736520696620286c656e677468203d3d3d20756e646566696e656420262620747970656f66206f6666736574203d3d3d2027737472696e672729207b0a20202020656e636f64696e67203d206f66667365740a202020206c656e677468203d20746869732e6c656e6774680a202020206f6666736574203d20300a20202f2f2042756666657223777269746528737472696e672c206f66667365745b2c206c656e6774685d5b2c20656e636f64696e675d290a20207d20656c73652069662028697346696e697465286f66667365742929207b0a202020206f6666736574203d206f6666736574203e3e3e20300a2020202069662028697346696e697465286c656e6774682929207b0a2020202020206c656e677468203d206c656e677468203e3e3e20300a20202020202069662028656e636f64696e67203d3d3d20756e646566696e65642920656e636f64696e67203d202775746638270a202020207d20656c7365207b0a202020202020656e636f64696e67203d206c656e6774680a2020202020206c656e677468203d20756e646566696e65640a202020207d0a20207d20656c7365207b0a202020207468726f77206e6577204572726f72280a202020202020274275666665722e777269746528737472696e672c20656e636f64696e672c206f66667365745b2c206c656e6774685d29206973206e6f206c6f6e67657220737570706f72746564270a20202020290a20207d0a0a20207661722072656d61696e696e67203d20746869732e6c656e677468202d206f66667365740a2020696620286c656e677468203d3d3d20756e646566696e6564207c7c206c656e677468203e2072656d61696e696e6729206c656e677468203d2072656d61696e696e670a0a20206966202828737472696e672e6c656e677468203e203020262620286c656e677468203c2030207c7c206f6666736574203c20302929207c7c206f6666736574203e20746869732e6c656e67746829207b0a202020207468726f77206e65772052616e67654572726f722827417474656d707420746f207772697465206f7574736964652062756666657220626f756e647327290a20207d0a0a20206966202821656e636f64696e672920656e636f64696e67203d202775746638270a0a2020766172206c6f776572656443617365203d2066616c73650a2020666f7220283b3b29207b0a202020207377697463682028656e636f64696e6729207b0a202020202020636173652027686578273a0a202020202020202072657475726e20686578577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e2075746638577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a2020202020206361736520276173636969273a0a202020202020202072657475726e206173636969577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c6174696e31577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a202020202020636173652027626173653634273a0a20202020202020202f2f205761726e696e673a206d61784c656e677468206e6f742074616b656e20696e746f206163636f756e7420696e2062617365363457726974650a202020202020202072657475726e20626173653634577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e2075637332577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202064656661756c743a0a2020202020202020696620286c6f77657265644361736529207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a2020202020202020656e636f64696e67203d20282727202b20656e636f64696e67292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a0a4275666665722e70726f746f747970652e746f4a534f4e203d2066756e6374696f6e20746f4a534f4e202829207b0a202072657475726e207b0a20202020747970653a2027427566666572272c0a20202020646174613a2041727261792e70726f746f747970652e736c6963652e63616c6c28746869732e5f617272207c7c20746869732c2030290a20207d0a7d0a0a66756e6374696f6e20626173653634536c69636520286275662c2073746172742c20656e6429207b0a2020696620287374617274203d3d3d203020262620656e64203d3d3d206275662e6c656e67746829207b0a2020202072657475726e206261736536342e66726f6d42797465417272617928627566290a20207d20656c7365207b0a2020202072657475726e206261736536342e66726f6d427974654172726179286275662e736c6963652873746172742c20656e6429290a20207d0a7d0a0a66756e6374696f6e2075746638536c69636520286275662c2073746172742c20656e6429207b0a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a202076617220726573203d205b5d0a0a20207661722069203d2073746172740a20207768696c65202869203c20656e6429207b0a2020202076617220666972737442797465203d206275665b695d0a2020202076617220636f6465506f696e74203d206e756c6c0a2020202076617220627974657350657253657175656e6365203d2028666972737442797465203e203078454629203f20340a2020202020203a2028666972737442797465203e203078444629203f20330a2020202020203a2028666972737442797465203e203078424629203f20320a2020202020203a20310a0a202020206966202869202b20627974657350657253657175656e6365203c3d20656e6429207b0a202020202020766172207365636f6e64427974652c207468697264427974652c20666f75727468427974652c2074656d70436f6465506f696e740a0a2020202020207377697463682028627974657350657253657175656e636529207b0a20202020202020206361736520313a0a2020202020202020202069662028666972737442797465203c203078383029207b0a202020202020202020202020636f6465506f696e74203d206669727374427974650a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520323a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d20286669727374427974652026203078314629203c3c20307836207c20287365636f6e644279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078374629207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520333a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a20202020202020202020746869726442797465203d206275665b69202b20325d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383020262620287468697264427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d202866697273744279746520262030784629203c3c20307843207c20287365636f6e64427974652026203078334629203c3c20307836207c202874686972644279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078374646202626202874656d70436f6465506f696e74203c20307844383030207c7c2074656d70436f6465506f696e74203e203078444646462929207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520343a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a20202020202020202020746869726442797465203d206275665b69202b20325d0a20202020202020202020666f7572746842797465203d206275665b69202b20335d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383020262620287468697264427974652026203078433029203d3d3d20307838302026262028666f75727468427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d202866697273744279746520262030784629203c3c2030783132207c20287365636f6e64427974652026203078334629203c3c20307843207c20287468697264427974652026203078334629203c3c20307836207c2028666f757274684279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078464646462026262074656d70436f6465506f696e74203c20307831313030303029207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028636f6465506f696e74203d3d3d206e756c6c29207b0a2020202020202f2f20776520646964206e6f742067656e657261746520612076616c696420636f6465506f696e7420736f20696e7365727420610a2020202020202f2f207265706c6163656d656e7420636861722028552b464646442920616e6420616476616e6365206f6e6c79203120627974650a202020202020636f6465506f696e74203d203078464646440a202020202020627974657350657253657175656e6365203d20310a202020207d20656c73652069662028636f6465506f696e74203e2030784646464629207b0a2020202020202f2f20656e636f646520746f2075746631362028737572726f6761746520706169722064616e6365290a202020202020636f6465506f696e74202d3d20307831303030300a2020202020207265732e7075736828636f6465506f696e74203e3e3e2031302026203078334646207c20307844383030290a202020202020636f6465506f696e74203d20307844433030207c20636f6465506f696e7420262030783346460a202020207d0a0a202020207265732e7075736828636f6465506f696e74290a2020202069202b3d20627974657350657253657175656e63650a20207d0a0a202072657475726e206465636f6465436f6465506f696e7473417272617928726573290a7d0a0a2f2f204261736564206f6e20687474703a2f2f737461636b6f766572666c6f772e636f6d2f612f32323734373237322f3638303734322c207468652062726f7773657220776974680a2f2f20746865206c6f77657374206c696d6974206973204368726f6d652c2077697468203078313030303020617267732e0a2f2f20576520676f2031206d61676e6974756465206c6573732c20666f72207361666574790a766172204d41585f415247554d454e54535f4c454e475448203d203078313030300a0a66756e6374696f6e206465636f6465436f6465506f696e747341727261792028636f6465506f696e747329207b0a2020766172206c656e203d20636f6465506f696e74732e6c656e6774680a2020696620286c656e203c3d204d41585f415247554d454e54535f4c454e47544829207b0a2020202072657475726e20537472696e672e66726f6d43686172436f64652e6170706c7928537472696e672c20636f6465506f696e747329202f2f2061766f696420657874726120736c69636528290a20207d0a0a20202f2f204465636f646520696e206368756e6b7320746f2061766f6964202263616c6c20737461636b2073697a65206578636565646564222e0a202076617220726573203d2027270a20207661722069203d20300a20207768696c65202869203c206c656e29207b0a20202020726573202b3d20537472696e672e66726f6d43686172436f64652e6170706c79280a202020202020537472696e672c0a202020202020636f6465506f696e74732e736c69636528692c2069202b3d204d41585f415247554d454e54535f4c454e475448290a20202020290a20207d0a202072657475726e207265730a7d0a0a66756e6374696f6e206173636969536c69636520286275662c2073746172742c20656e6429207b0a202076617220726574203d2027270a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a0a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a20202020726574202b3d20537472696e672e66726f6d43686172436f6465286275665b695d20262030783746290a20207d0a202072657475726e207265740a7d0a0a66756e6374696f6e206c6174696e31536c69636520286275662c2073746172742c20656e6429207b0a202076617220726574203d2027270a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a0a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a20202020726574202b3d20537472696e672e66726f6d43686172436f6465286275665b695d290a20207d0a202072657475726e207265740a7d0a0a66756e6374696f6e20686578536c69636520286275662c2073746172742c20656e6429207b0a2020766172206c656e203d206275662e6c656e6774680a0a202069662028217374617274207c7c207374617274203c203029207374617274203d20300a20206966202821656e64207c7c20656e64203c2030207c7c20656e64203e206c656e2920656e64203d206c656e0a0a2020766172206f7574203d2027270a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a202020206f7574202b3d20746f486578286275665b695d290a20207d0a202072657475726e206f75740a7d0a0a66756e6374696f6e2075746631366c65536c69636520286275662c2073746172742c20656e6429207b0a2020766172206279746573203d206275662e736c6963652873746172742c20656e64290a202076617220726573203d2027270a2020666f7220287661722069203d20303b2069203c2062797465732e6c656e6774683b2069202b3d203229207b0a20202020726573202b3d20537472696e672e66726f6d43686172436f64652862797465735b695d202b202862797465735b69202b20315d202a2032353629290a20207d0a202072657475726e207265730a7d0a0a4275666665722e70726f746f747970652e736c696365203d2066756e6374696f6e20736c696365202873746172742c20656e6429207b0a2020766172206c656e203d20746869732e6c656e6774680a20207374617274203d207e7e73746172740a2020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e203a207e7e656e640a0a2020696620287374617274203c203029207b0a202020207374617274202b3d206c656e0a20202020696620287374617274203c203029207374617274203d20300a20207d20656c736520696620287374617274203e206c656e29207b0a202020207374617274203d206c656e0a20207d0a0a202069662028656e64203c203029207b0a20202020656e64202b3d206c656e0a2020202069662028656e64203c20302920656e64203d20300a20207d20656c73652069662028656e64203e206c656e29207b0a20202020656e64203d206c656e0a20207d0a0a202069662028656e64203c2073746172742920656e64203d2073746172740a0a2020766172206e6577427566203d20746869732e73756261727261792873746172742c20656e64290a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a20206e65774275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206e65774275660a7d0a0a2f2a0a202a204e65656420746f206d616b6520737572652074686174206275666665722069736e277420747279696e6720746f207772697465206f7574206f6620626f756e64732e0a202a2f0a66756e6374696f6e20636865636b4f666673657420286f66667365742c206578742c206c656e67746829207b0a202069662028286f6666736574202520312920213d3d2030207c7c206f6666736574203c203029207468726f77206e65772052616e67654572726f7228276f6666736574206973206e6f742075696e7427290a2020696620286f6666736574202b20657874203e206c656e67746829207468726f77206e65772052616e67654572726f722827547279696e6720746f20616363657373206265796f6e6420627566666572206c656e67746827290a7d0a0a4275666665722e70726f746f747970652e7265616455496e744c45203d2066756e6374696f6e207265616455496e744c4520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722076616c203d20746869735b6f66667365745d0a2020766172206d756c203d20310a20207661722069203d20300a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b20695d202a206d756c0a20207d0a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e7265616455496e744245203d2066756e6374696f6e207265616455496e74424520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a20207d0a0a20207661722076616c203d20746869735b6f6666736574202b202d2d627974654c656e6774685d0a2020766172206d756c203d20310a20207768696c652028627974654c656e677468203e203020262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b202d2d627974654c656e6774685d202a206d756c0a20207d0a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7438203d2066756e6374696f6e207265616455496e743820286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20312c20746869732e6c656e677468290a202072657475726e20746869735b6f66667365745d0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7431364c45203d2066756e6374696f6e207265616455496e7431364c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a202072657475726e20746869735b6f66667365745d207c2028746869735b6f6666736574202b20315d203c3c2038290a7d0a0a4275666665722e70726f746f747970652e7265616455496e7431364245203d2066756e6374696f6e207265616455496e743136424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a202072657475726e2028746869735b6f66667365745d203c3c203829207c20746869735b6f6666736574202b20315d0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7433324c45203d2066756e6374696f6e207265616455496e7433324c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e202828746869735b6f66667365745d29207c0a20202020202028746869735b6f6666736574202b20315d203c3c203829207c0a20202020202028746869735b6f6666736574202b20325d203c3c2031362929202b0a20202020202028746869735b6f6666736574202b20335d202a20307831303030303030290a7d0a0a4275666665722e70726f746f747970652e7265616455496e7433324245203d2066756e6374696f6e207265616455496e743332424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d202a2030783130303030303029202b0a202020202828746869735b6f6666736574202b20315d203c3c20313629207c0a2020202028746869735b6f6666736574202b20325d203c3c203829207c0a20202020746869735b6f6666736574202b20335d290a7d0a0a4275666665722e70726f746f747970652e72656164496e744c45203d2066756e6374696f6e2072656164496e744c4520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722076616c203d20746869735b6f66667365745d0a2020766172206d756c203d20310a20207661722069203d20300a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b20695d202a206d756c0a20207d0a20206d756c202a3d20307838300a0a20206966202876616c203e3d206d756c292076616c202d3d204d6174682e706f7728322c2038202a20627974654c656e677468290a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e744245203d2066756e6374696f6e2072656164496e74424520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722069203d20627974654c656e6774680a2020766172206d756c203d20310a20207661722076616c203d20746869735b6f6666736574202b202d2d695d0a20207768696c65202869203e203020262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b202d2d695d202a206d756c0a20207d0a20206d756c202a3d20307838300a0a20206966202876616c203e3d206d756c292076616c202d3d204d6174682e706f7728322c2038202a20627974654c656e677468290a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7438203d2066756e6374696f6e2072656164496e743820286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20312c20746869732e6c656e677468290a2020696620282128746869735b6f66667365745d2026203078383029292072657475726e2028746869735b6f66667365745d290a202072657475726e20282830786666202d20746869735b6f66667365745d202b203129202a202d31290a7d0a0a4275666665722e70726f746f747970652e72656164496e7431364c45203d2066756e6374696f6e2072656164496e7431364c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a20207661722076616c203d20746869735b6f66667365745d207c2028746869735b6f6666736574202b20315d203c3c2038290a202072657475726e202876616c20262030783830303029203f2076616c207c2030784646464630303030203a2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7431364245203d2066756e6374696f6e2072656164496e743136424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a20207661722076616c203d20746869735b6f6666736574202b20315d207c2028746869735b6f66667365745d203c3c2038290a202072657475726e202876616c20262030783830303029203f2076616c207c2030784646464630303030203a2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7433324c45203d2066756e6374696f6e2072656164496e7433324c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d29207c0a2020202028746869735b6f6666736574202b20315d203c3c203829207c0a2020202028746869735b6f6666736574202b20325d203c3c20313629207c0a2020202028746869735b6f6666736574202b20335d203c3c203234290a7d0a0a4275666665722e70726f746f747970652e72656164496e7433324245203d2066756e6374696f6e2072656164496e743332424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d203c3c20323429207c0a2020202028746869735b6f6666736574202b20315d203c3c20313629207c0a2020202028746869735b6f6666736574202b20325d203c3c203829207c0a2020202028746869735b6f6666736574202b20335d290a7d0a0a4275666665722e70726f746f747970652e72656164466c6f61744c45203d2066756e6374696f6e2072656164466c6f61744c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c20747275652c2032332c2034290a7d0a0a4275666665722e70726f746f747970652e72656164466c6f61744245203d2066756e6374696f6e2072656164466c6f6174424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c2066616c73652c2032332c2034290a7d0a0a4275666665722e70726f746f747970652e72656164446f75626c654c45203d2066756e6374696f6e2072656164446f75626c654c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20382c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c20747275652c2035322c2038290a7d0a0a4275666665722e70726f746f747970652e72656164446f75626c654245203d2066756e6374696f6e2072656164446f75626c65424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20382c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c2066616c73652c2035322c2038290a7d0a0a66756e6374696f6e20636865636b496e7420286275662c2076616c75652c206f66667365742c206578742c206d61782c206d696e29207b0a202069662028214275666665722e6973427566666572286275662929207468726f77206e657720547970654572726f722827226275666665722220617267756d656e74206d75737420626520612042756666657220696e7374616e636527290a20206966202876616c7565203e206d6178207c7c2076616c7565203c206d696e29207468726f77206e65772052616e67654572726f7228272276616c75652220617267756d656e74206973206f7574206f6620626f756e647327290a2020696620286f6666736574202b20657874203e206275662e6c656e67746829207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a7d0a0a4275666665722e70726f746f747970652e777269746555496e744c45203d2066756e6374696f6e20777269746555496e744c45202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206d61784279746573203d204d6174682e706f7728322c2038202a20627974654c656e67746829202d20310a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206d617842797465732c2030290a20207d0a0a2020766172206d756c203d20310a20207661722069203d20300a2020746869735b6f66667365745d203d2076616c7565202620307846460a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a20202020746869735b6f6666736574202b20695d203d202876616c7565202f206d756c29202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e777269746555496e744245203d2066756e6374696f6e20777269746555496e744245202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206d61784279746573203d204d6174682e706f7728322c2038202a20627974654c656e67746829202d20310a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206d617842797465732c2030290a20207d0a0a20207661722069203d20627974654c656e677468202d20310a2020766172206d756c203d20310a2020746869735b6f6666736574202b20695d203d2076616c7565202620307846460a20207768696c6520282d2d69203e3d203020262620286d756c202a3d2030783130302929207b0a20202020746869735b6f6666736574202b20695d203d202876616c7565202f206d756c29202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e777269746555496e7438203d2066756e6374696f6e20777269746555496e7438202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20312c20307866662c2030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20310a7d0a0a4275666665722e70726f746f747970652e777269746555496e7431364c45203d2066756e6374696f6e20777269746555496e7431364c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078666666662c2030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e777269746555496e7431364245203d2066756e6374696f6e20777269746555496e7431364245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078666666662c2030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20315d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e777269746555496e7433324c45203d2066756e6374696f6e20777269746555496e7433324c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307866666666666666662c2030290a2020746869735b6f6666736574202b20335d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e777269746555496e7433324245203d2066756e6374696f6e20777269746555496e7433324245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307866666666666666662c2030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20335d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465496e744c45203d2066756e6374696f6e207772697465496e744c45202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206c696d6974203d204d6174682e706f7728322c202838202a20627974654c656e67746829202d2031290a0a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206c696d6974202d20312c202d6c696d6974290a20207d0a0a20207661722069203d20300a2020766172206d756c203d20310a202076617220737562203d20300a2020746869735b6f66667365745d203d2076616c7565202620307846460a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a202020206966202876616c7565203c203020262620737562203d3d3d203020262620746869735b6f6666736574202b2069202d20315d20213d3d203029207b0a202020202020737562203d20310a202020207d0a20202020746869735b6f6666736574202b20695d203d20282876616c7565202f206d756c29203e3e203029202d20737562202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e7772697465496e744245203d2066756e6374696f6e207772697465496e744245202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206c696d6974203d204d6174682e706f7728322c202838202a20627974654c656e67746829202d2031290a0a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206c696d6974202d20312c202d6c696d6974290a20207d0a0a20207661722069203d20627974654c656e677468202d20310a2020766172206d756c203d20310a202076617220737562203d20300a2020746869735b6f6666736574202b20695d203d2076616c7565202620307846460a20207768696c6520282d2d69203e3d203020262620286d756c202a3d2030783130302929207b0a202020206966202876616c7565203c203020262620737562203d3d3d203020262620746869735b6f6666736574202b2069202b20315d20213d3d203029207b0a202020202020737562203d20310a202020207d0a20202020746869735b6f6666736574202b20695d203d20282876616c7565202f206d756c29203e3e203029202d20737562202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e7772697465496e7438203d2066756e6374696f6e207772697465496e7438202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20312c20307837662c202d30783830290a20206966202876616c7565203c2030292076616c7565203d2030786666202b2076616c7565202b20310a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20310a7d0a0a4275666665722e70726f746f747970652e7772697465496e7431364c45203d2066756e6374696f6e207772697465496e7431364c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078376666662c202d307838303030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e7772697465496e7431364245203d2066756e6374696f6e207772697465496e7431364245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078376666662c202d307838303030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20315d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e7772697465496e7433324c45203d2066756e6374696f6e207772697465496e7433324c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307837666666666666662c202d30783830303030303030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20335d203d202876616c7565203e3e3e203234290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465496e7433324245203d2066756e6374696f6e207772697465496e7433324245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307837666666666666662c202d30783830303030303030290a20206966202876616c7565203c2030292076616c7565203d2030786666666666666666202b2076616c7565202b20310a2020746869735b6f66667365745d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20335d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a66756e6374696f6e20636865636b4945454537353420286275662c2076616c75652c206f66667365742c206578742c206d61782c206d696e29207b0a2020696620286f6666736574202b20657874203e206275662e6c656e67746829207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a2020696620286f6666736574203c203029207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a7d0a0a66756e6374696f6e207772697465466c6f617420286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b49454545373534286275662c2076616c75652c206f66667365742c20342c20332e34303238323334363633383532383836652b33382c202d332e34303238323334363633383532383836652b3338290a20207d0a2020696565653735342e7772697465286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c2032332c2034290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465466c6f61744c45203d2066756e6374696f6e207772697465466c6f61744c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465466c6f617428746869732c2076616c75652c206f66667365742c20747275652c206e6f417373657274290a7d0a0a4275666665722e70726f746f747970652e7772697465466c6f61744245203d2066756e6374696f6e207772697465466c6f61744245202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465466c6f617428746869732c2076616c75652c206f66667365742c2066616c73652c206e6f417373657274290a7d0a0a66756e6374696f6e207772697465446f75626c6520286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b49454545373534286275662c2076616c75652c206f66667365742c20382c20312e37393736393331333438363233313537452b3330382c202d312e37393736393331333438363233313537452b333038290a20207d0a2020696565653735342e7772697465286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c2035322c2038290a202072657475726e206f6666736574202b20380a7d0a0a4275666665722e70726f746f747970652e7772697465446f75626c654c45203d2066756e6374696f6e207772697465446f75626c654c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465446f75626c6528746869732c2076616c75652c206f66667365742c20747275652c206e6f417373657274290a7d0a0a4275666665722e70726f746f747970652e7772697465446f75626c654245203d2066756e6374696f6e207772697465446f75626c654245202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465446f75626c6528746869732c2076616c75652c206f66667365742c2066616c73652c206e6f417373657274290a7d0a0a2f2f20636f7079287461726765744275666665722c2074617267657453746172743d302c20736f7572636553746172743d302c20736f75726365456e643d6275666665722e6c656e677468290a4275666665722e70726f746f747970652e636f7079203d2066756e6374696f6e20636f707920287461726765742c2074617267657453746172742c2073746172742c20656e6429207b0a20206966202821737461727429207374617274203d20300a20206966202821656e6420262620656e6420213d3d20302920656e64203d20746869732e6c656e6774680a2020696620287461726765745374617274203e3d207461726765742e6c656e67746829207461726765745374617274203d207461726765742e6c656e6774680a20206966202821746172676574537461727429207461726765745374617274203d20300a202069662028656e64203e203020262620656e64203c2073746172742920656e64203d2073746172740a0a20202f2f20436f707920302062797465733b20776527726520646f6e650a202069662028656e64203d3d3d207374617274292072657475726e20300a2020696620287461726765742e6c656e677468203d3d3d2030207c7c20746869732e6c656e677468203d3d3d2030292072657475726e20300a0a20202f2f20466174616c206572726f7220636f6e646974696f6e730a2020696620287461726765745374617274203c203029207b0a202020207468726f77206e65772052616e67654572726f7228277461726765745374617274206f7574206f6620626f756e647327290a20207d0a2020696620287374617274203c2030207c7c207374617274203e3d20746869732e6c656e67746829207468726f77206e65772052616e67654572726f722827736f757263655374617274206f7574206f6620626f756e647327290a202069662028656e64203c203029207468726f77206e65772052616e67654572726f722827736f75726365456e64206f7574206f6620626f756e647327290a0a20202f2f20417265207765206f6f623f0a202069662028656e64203e20746869732e6c656e6774682920656e64203d20746869732e6c656e6774680a2020696620287461726765742e6c656e677468202d207461726765745374617274203c20656e64202d20737461727429207b0a20202020656e64203d207461726765742e6c656e677468202d207461726765745374617274202b2073746172740a20207d0a0a2020766172206c656e203d20656e64202d2073746172740a202076617220690a0a20206966202874686973203d3d3d20746172676574202626207374617274203c207461726765745374617274202626207461726765745374617274203c20656e6429207b0a202020202f2f2064657363656e64696e6720636f70792066726f6d20656e640a20202020666f72202869203d206c656e202d20313b2069203e3d20303b202d2d6929207b0a2020202020207461726765745b69202b2074617267657453746172745d203d20746869735b69202b2073746172745d0a202020207d0a20207d20656c736520696620286c656e203c203130303029207b0a202020202f2f20617363656e64696e6720636f70792066726f6d2073746172740a20202020666f72202869203d20303b2069203c206c656e3b202b2b6929207b0a2020202020207461726765745b69202b2074617267657453746172745d203d20746869735b69202b2073746172745d0a202020207d0a20207d20656c7365207b0a2020202055696e743841727261792e70726f746f747970652e7365742e63616c6c280a2020202020207461726765742c0a202020202020746869732e73756261727261792873746172742c207374617274202b206c656e292c0a20202020202074617267657453746172740a20202020290a20207d0a0a202072657475726e206c656e0a7d0a0a2f2f2055736167653a0a2f2f202020206275666665722e66696c6c286e756d6265725b2c206f66667365745b2c20656e645d5d290a2f2f202020206275666665722e66696c6c286275666665725b2c206f66667365745b2c20656e645d5d290a2f2f202020206275666665722e66696c6c28737472696e675b2c206f66667365745b2c20656e645d5d5b2c20656e636f64696e675d290a4275666665722e70726f746f747970652e66696c6c203d2066756e6374696f6e2066696c6c202876616c2c2073746172742c20656e642c20656e636f64696e6729207b0a20202f2f2048616e646c6520737472696e672063617365733a0a202069662028747970656f662076616c203d3d3d2027737472696e672729207b0a2020202069662028747970656f66207374617274203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d2073746172740a2020202020207374617274203d20300a202020202020656e64203d20746869732e6c656e6774680a202020207d20656c73652069662028747970656f6620656e64203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d20656e640a202020202020656e64203d20746869732e6c656e6774680a202020207d0a202020206966202876616c2e6c656e677468203d3d3d203129207b0a20202020202076617220636f6465203d2076616c2e63686172436f646541742830290a20202020202069662028636f6465203c2032353629207b0a202020202020202076616c203d20636f64650a2020202020207d0a202020207d0a2020202069662028656e636f64696e6720213d3d20756e646566696e656420262620747970656f6620656e636f64696e6720213d3d2027737472696e672729207b0a2020202020207468726f77206e657720547970654572726f722827656e636f64696e67206d757374206265206120737472696e6727290a202020207d0a2020202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e672720262620214275666665722e6973456e636f64696e6728656e636f64696e672929207b0a2020202020207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a202020207d0a20207d20656c73652069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a2020202076616c203d2076616c2026203235350a20207d0a0a20202f2f20496e76616c69642072616e67657320617265206e6f742073657420746f20612064656661756c742c20736f2063616e2072616e676520636865636b206561726c792e0a2020696620287374617274203c2030207c7c20746869732e6c656e677468203c207374617274207c7c20746869732e6c656e677468203c20656e6429207b0a202020207468726f77206e65772052616e67654572726f7228274f7574206f662072616e676520696e64657827290a20207d0a0a202069662028656e64203c3d20737461727429207b0a2020202072657475726e20746869730a20207d0a0a20207374617274203d207374617274203e3e3e20300a2020656e64203d20656e64203d3d3d20756e646566696e6564203f20746869732e6c656e677468203a20656e64203e3e3e20300a0a2020696620282176616c292076616c203d20300a0a202076617220690a202069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a20202020666f72202869203d2073746172743b2069203c20656e643b202b2b6929207b0a202020202020746869735b695d203d2076616c0a202020207d0a20207d20656c7365207b0a20202020766172206279746573203d204275666665722e69734275666665722876616c290a2020202020203f2076616c0a2020202020203a206e6577204275666665722876616c2c20656e636f64696e67290a20202020766172206c656e203d2062797465732e6c656e6774680a20202020666f72202869203d20303b2069203c20656e64202d2073746172743b202b2b6929207b0a202020202020746869735b69202b2073746172745d203d2062797465735b692025206c656e5d0a202020207d0a20207d0a0a202072657475726e20746869730a7d0a0a2f2f2048454c5045522046554e4354494f4e530a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a76617220494e56414c49445f4241534536345f5245203d202f5b5e2b2f302d39412d5a612d7a2d5f5d2f670a0a66756e6374696f6e20626173653634636c65616e202873747229207b0a20202f2f204e6f646520737472697073206f757420696e76616c69642063686172616374657273206c696b65205c6e20616e64205c742066726f6d2074686520737472696e672c206261736536342d6a7320646f6573206e6f740a2020737472203d207374722e7472696d28292e7265706c61636528494e56414c49445f4241534536345f52452c202727290a20202f2f204e6f646520636f6e766572747320737472696e67732077697468206c656e677468203c203220746f2027270a2020696620287374722e6c656e677468203c2032292072657475726e2027270a20202f2f204e6f646520616c6c6f777320666f72206e6f6e2d7061646465642062617365363420737472696e677320286d697373696e6720747261696c696e67203d3d3d292c206261736536342d6a7320646f6573206e6f740a20207768696c6520287374722e6c656e6774682025203420213d3d203029207b0a20202020737472203d20737472202b20273d270a20207d0a202072657475726e207374720a7d0a0a66756e6374696f6e20746f48657820286e29207b0a2020696620286e203c203136292072657475726e20273027202b206e2e746f537472696e67283136290a202072657475726e206e2e746f537472696e67283136290a7d0a0a66756e6374696f6e2075746638546f42797465732028737472696e672c20756e69747329207b0a2020756e697473203d20756e697473207c7c20496e66696e6974790a202076617220636f6465506f696e740a2020766172206c656e677468203d20737472696e672e6c656e6774680a2020766172206c656164537572726f67617465203d206e756c6c0a2020766172206279746573203d205b5d0a0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a20202020636f6465506f696e74203d20737472696e672e63686172436f646541742869290a0a202020202f2f20697320737572726f6761746520636f6d706f6e656e740a2020202069662028636f6465506f696e74203e2030784437464620262620636f6465506f696e74203c2030784530303029207b0a2020202020202f2f206c6173742063686172207761732061206c6561640a20202020202069662028216c656164537572726f6761746529207b0a20202020202020202f2f206e6f206c656164207965740a202020202020202069662028636f6465506f696e74203e2030784442464629207b0a202020202020202020202f2f20756e657870656374656420747261696c0a202020202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020202020636f6e74696e75650a20202020202020207d20656c7365206966202869202b2031203d3d3d206c656e67746829207b0a202020202020202020202f2f20756e706169726564206c6561640a202020202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020202020636f6e74696e75650a20202020202020207d0a0a20202020202020202f2f2076616c6964206c6561640a20202020202020206c656164537572726f67617465203d20636f6465506f696e740a0a2020202020202020636f6e74696e75650a2020202020207d0a0a2020202020202f2f2032206c6561647320696e206120726f770a20202020202069662028636f6465506f696e74203c2030784443303029207b0a20202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020206c656164537572726f67617465203d20636f6465506f696e740a2020202020202020636f6e74696e75650a2020202020207d0a0a2020202020202f2f2076616c696420737572726f6761746520706169720a202020202020636f6465506f696e74203d20286c656164537572726f67617465202d20307844383030203c3c203130207c20636f6465506f696e74202d2030784443303029202b20307831303030300a202020207d20656c736520696620286c656164537572726f6761746529207b0a2020202020202f2f2076616c696420626d7020636861722c20627574206c6173742063686172207761732061206c6561640a2020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a202020207d0a0a202020206c656164537572726f67617465203d206e756c6c0a0a202020202f2f20656e636f646520757466380a2020202069662028636f6465506f696e74203c203078383029207b0a2020202020206966202828756e697473202d3d203129203c20302920627265616b0a20202020202062797465732e7075736828636f6465506f696e74290a202020207d20656c73652069662028636f6465506f696e74203c20307838303029207b0a2020202020206966202828756e697473202d3d203229203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e20307836207c20307843302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c73652069662028636f6465506f696e74203c203078313030303029207b0a2020202020206966202828756e697473202d3d203329203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e20307843207c20307845302c0a2020202020202020636f6465506f696e74203e3e2030783620262030783346207c20307838302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c73652069662028636f6465506f696e74203c20307831313030303029207b0a2020202020206966202828756e697473202d3d203429203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e2030783132207c20307846302c0a2020202020202020636f6465506f696e74203e3e2030784320262030783346207c20307838302c0a2020202020202020636f6465506f696e74203e3e2030783620262030783346207c20307838302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c7365207b0a2020202020207468726f77206e6577204572726f722827496e76616c696420636f646520706f696e7427290a202020207d0a20207d0a0a202072657475726e2062797465730a7d0a0a66756e6374696f6e206173636969546f4279746573202873747229207b0a202076617220627974654172726179203d205b5d0a2020666f7220287661722069203d20303b2069203c207374722e6c656e6774683b202b2b6929207b0a202020202f2f204e6f6465277320636f6465207365656d7320746f20626520646f696e67207468697320616e64206e6f74202620307837462e2e0a202020206279746541727261792e70757368287374722e63686172436f6465417428692920262030784646290a20207d0a202072657475726e206279746541727261790a7d0a0a66756e6374696f6e2075746631366c65546f427974657320287374722c20756e69747329207b0a202076617220632c2068692c206c6f0a202076617220627974654172726179203d205b5d0a2020666f7220287661722069203d20303b2069203c207374722e6c656e6774683b202b2b6929207b0a202020206966202828756e697473202d3d203229203c20302920627265616b0a0a2020202063203d207374722e63686172436f646541742869290a202020206869203d2063203e3e20380a202020206c6f203d20632025203235360a202020206279746541727261792e70757368286c6f290a202020206279746541727261792e70757368286869290a20207d0a0a202072657475726e206279746541727261790a7d0a0a66756e6374696f6e20626173653634546f4279746573202873747229207b0a202072657475726e206261736536342e746f42797465417272617928626173653634636c65616e2873747229290a7d0a0a66756e6374696f6e20626c697442756666657220287372632c206473742c206f66667365742c206c656e67746829207b0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a20202020696620282869202b206f6666736574203e3d206473742e6c656e67746829207c7c202869203e3d207372632e6c656e677468292920627265616b0a202020206473745b69202b206f66667365745d203d207372635b695d0a20207d0a202072657475726e20690a7d0a0a2f2f204172726179427566666572732066726f6d20616e6f7468657220636f6e746578742028692e652e20616e20696672616d652920646f206e6f742070617373207468652060696e7374616e63656f666020636865636b0a2f2f2062757420746865792073686f756c6420626520747265617465642061732076616c69642e205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f6973737565732f3136360a66756e6374696f6e206973417272617942756666657220286f626a29207b0a202072657475726e206f626a20696e7374616e63656f66204172726179427566666572207c7c0a20202020286f626a20213d206e756c6c202626206f626a2e636f6e7374727563746f7220213d206e756c6c202626206f626a2e636f6e7374727563746f722e6e616d65203d3d3d20274172726179427566666572272026260a202020202020747970656f66206f626a2e627974654c656e677468203d3d3d20276e756d62657227290a7d0a0a2f2f204e6f646520302e313020737570706f727473206041727261794275666665726020627574206c61636b73206041727261794275666665722e697356696577600a66756e6374696f6e20697341727261794275666665725669657720286f626a29207b0a202072657475726e2028747970656f662041727261794275666665722e697356696577203d3d3d202766756e6374696f6e27292026262041727261794275666665722e697356696577286f626a290a7d0a0a66756e6374696f6e206e756d62657249734e614e20286f626a29207b0a202072657475726e206f626a20213d3d206f626a202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d73656c662d636f6d706172650a7d0a0a7d2c7b226261736536342d6a73223a33312c2269656565373534223a3132307d5d2c33333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a66756e6374696f6e204576656e74456d69747465722829207b0a2020746869732e5f6576656e7473203d20746869732e5f6576656e7473207c7c207b7d3b0a2020746869732e5f6d61784c697374656e657273203d20746869732e5f6d61784c697374656e657273207c7c20756e646566696e65643b0a7d0a6d6f64756c652e6578706f727473203d204576656e74456d69747465723b0a0a2f2f204261636b77617264732d636f6d7061742077697468206e6f646520302e31302e780a4576656e74456d69747465722e4576656e74456d6974746572203d204576656e74456d69747465723b0a0a4576656e74456d69747465722e70726f746f747970652e5f6576656e7473203d20756e646566696e65643b0a4576656e74456d69747465722e70726f746f747970652e5f6d61784c697374656e657273203d20756e646566696e65643b0a0a2f2f2042792064656661756c74204576656e74456d6974746572732077696c6c207072696e742061207761726e696e67206966206d6f7265207468616e203130206c697374656e657273206172650a2f2f20616464656420746f2069742e205468697320697320612075736566756c2064656661756c742077686963682068656c70732066696e64696e67206d656d6f7279206c65616b732e0a4576656e74456d69747465722e64656661756c744d61784c697374656e657273203d2031303b0a0a2f2f204f6276696f75736c79206e6f7420616c6c20456d6974746572732073686f756c64206265206c696d6974656420746f2031302e20546869732066756e6374696f6e20616c6c6f77730a2f2f207468617420746f20626520696e637265617365642e2053657420746f207a65726f20666f7220756e6c696d697465642e0a4576656e74456d69747465722e70726f746f747970652e7365744d61784c697374656e657273203d2066756e6374696f6e286e29207b0a2020696620282169734e756d626572286e29207c7c206e203c2030207c7c2069734e614e286e29290a202020207468726f7720547970654572726f7228276e206d757374206265206120706f736974697665206e756d62657227293b0a2020746869732e5f6d61784c697374656e657273203d206e3b0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e656d6974203d2066756e6374696f6e287479706529207b0a20207661722065722c2068616e646c65722c206c656e2c20617267732c20692c206c697374656e6572733b0a0a20206966202821746869732e5f6576656e7473290a20202020746869732e5f6576656e7473203d207b7d3b0a0a20202f2f204966207468657265206973206e6f20276572726f7227206576656e74206c697374656e6572207468656e207468726f772e0a20206966202874797065203d3d3d20276572726f722729207b0a202020206966202821746869732e5f6576656e74732e6572726f72207c7c0a20202020202020202869734f626a65637428746869732e5f6576656e74732e6572726f72292026262021746869732e5f6576656e74732e6572726f722e6c656e6774682929207b0a2020202020206572203d20617267756d656e74735b315d3b0a20202020202069662028657220696e7374616e63656f66204572726f7229207b0a20202020202020207468726f772065723b202f2f20556e68616e646c656420276572726f7227206576656e740a2020202020207d20656c7365207b0a20202020202020202f2f204174206c65617374206769766520736f6d65206b696e64206f6620636f6e7465787420746f2074686520757365720a202020202020202076617220657272203d206e6577204572726f722827556e6361756768742c20756e73706563696669656420226572726f7222206576656e742e202827202b206572202b20272927293b0a20202020202020206572722e636f6e74657874203d2065723b0a20202020202020207468726f77206572723b0a2020202020207d0a202020207d0a20207d0a0a202068616e646c6572203d20746869732e5f6576656e74735b747970655d3b0a0a2020696620286973556e646566696e65642868616e646c657229290a2020202072657475726e2066616c73653b0a0a202069662028697346756e6374696f6e2868616e646c65722929207b0a202020207377697463682028617267756d656e74732e6c656e67746829207b0a2020202020202f2f20666173742063617365730a2020202020206361736520313a0a202020202020202068616e646c65722e63616c6c2874686973293b0a2020202020202020627265616b3b0a2020202020206361736520323a0a202020202020202068616e646c65722e63616c6c28746869732c20617267756d656e74735b315d293b0a2020202020202020627265616b3b0a2020202020206361736520333a0a202020202020202068616e646c65722e63616c6c28746869732c20617267756d656e74735b315d2c20617267756d656e74735b325d293b0a2020202020202020627265616b3b0a2020202020202f2f20736c6f7765720a20202020202064656661756c743a0a202020202020202061726773203d2041727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e74732c2031293b0a202020202020202068616e646c65722e6170706c7928746869732c2061726773293b0a202020207d0a20207d20656c7365206966202869734f626a6563742868616e646c65722929207b0a2020202061726773203d2041727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e74732c2031293b0a202020206c697374656e657273203d2068616e646c65722e736c69636528293b0a202020206c656e203d206c697374656e6572732e6c656e6774683b0a20202020666f72202869203d20303b2069203c206c656e3b20692b2b290a2020202020206c697374656e6572735b695d2e6170706c7928746869732c2061726773293b0a20207d0a0a202072657475726e20747275653b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6164644c697374656e6572203d2066756e6374696f6e28747970652c206c697374656e657229207b0a2020766172206d3b0a0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a20206966202821746869732e5f6576656e7473290a20202020746869732e5f6576656e7473203d207b7d3b0a0a20202f2f20546f2061766f696420726563757273696f6e20696e20746865206361736520746861742074797065203d3d3d20226e65774c697374656e65722221204265666f72650a20202f2f20616464696e6720697420746f20746865206c697374656e6572732c20666972737420656d697420226e65774c697374656e6572222e0a202069662028746869732e5f6576656e74732e6e65774c697374656e6572290a20202020746869732e656d697428276e65774c697374656e6572272c20747970652c0a2020202020202020202020202020697346756e6374696f6e286c697374656e65722e6c697374656e657229203f0a20202020202020202020202020206c697374656e65722e6c697374656e6572203a206c697374656e6572293b0a0a20206966202821746869732e5f6576656e74735b747970655d290a202020202f2f204f7074696d697a65207468652063617365206f66206f6e65206c697374656e65722e20446f6e2774206e65656420746865206578747261206172726179206f626a6563742e0a20202020746869732e5f6576656e74735b747970655d203d206c697374656e65723b0a2020656c7365206966202869734f626a65637428746869732e5f6576656e74735b747970655d29290a202020202f2f20496620776527766520616c726561647920676f7420616e2061727261792c206a75737420617070656e642e0a20202020746869732e5f6576656e74735b747970655d2e70757368286c697374656e6572293b0a2020656c73650a202020202f2f20416464696e6720746865207365636f6e6420656c656d656e742c206e65656420746f206368616e676520746f2061727261792e0a20202020746869732e5f6576656e74735b747970655d203d205b746869732e5f6576656e74735b747970655d2c206c697374656e65725d3b0a0a20202f2f20436865636b20666f72206c697374656e6572206c65616b0a20206966202869734f626a65637428746869732e5f6576656e74735b747970655d292026262021746869732e5f6576656e74735b747970655d2e7761726e656429207b0a2020202069662028216973556e646566696e656428746869732e5f6d61784c697374656e6572732929207b0a2020202020206d203d20746869732e5f6d61784c697374656e6572733b0a202020207d20656c7365207b0a2020202020206d203d204576656e74456d69747465722e64656661756c744d61784c697374656e6572733b0a202020207d0a0a20202020696620286d202626206d203e203020262620746869732e5f6576656e74735b747970655d2e6c656e677468203e206d29207b0a202020202020746869732e5f6576656e74735b747970655d2e7761726e6564203d20747275653b0a202020202020636f6e736f6c652e6572726f722827286e6f646529207761726e696e673a20706f737369626c65204576656e74456d6974746572206d656d6f72792027202b0a2020202020202020202020202020202020202020276c65616b2064657465637465642e202564206c697374656e6572732061646465642e2027202b0a20202020202020202020202020202020202020202755736520656d69747465722e7365744d61784c697374656e657273282920746f20696e637265617365206c696d69742e272c0a2020202020202020202020202020202020202020746869732e5f6576656e74735b747970655d2e6c656e677468293b0a20202020202069662028747970656f6620636f6e736f6c652e7472616365203d3d3d202766756e6374696f6e2729207b0a20202020202020202f2f206e6f7420737570706f7274656420696e2049452031300a2020202020202020636f6e736f6c652e747261636528293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6f6e203d204576656e74456d69747465722e70726f746f747970652e6164644c697374656e65723b0a0a4576656e74456d69747465722e70726f746f747970652e6f6e6365203d2066756e6374696f6e28747970652c206c697374656e657229207b0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a2020766172206669726564203d2066616c73653b0a0a202066756e6374696f6e20672829207b0a20202020746869732e72656d6f76654c697374656e657228747970652c2067293b0a0a202020206966202821666972656429207b0a2020202020206669726564203d20747275653b0a2020202020206c697374656e65722e6170706c7928746869732c20617267756d656e7473293b0a202020207d0a20207d0a0a2020672e6c697374656e6572203d206c697374656e65723b0a2020746869732e6f6e28747970652c2067293b0a0a202072657475726e20746869733b0a7d3b0a0a2f2f20656d6974732061202772656d6f76654c697374656e657227206576656e742069666620746865206c697374656e6572207761732072656d6f7665640a4576656e74456d69747465722e70726f746f747970652e72656d6f76654c697374656e6572203d2066756e6374696f6e28747970652c206c697374656e657229207b0a2020766172206c6973742c20706f736974696f6e2c206c656e6774682c20693b0a0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a20206966202821746869732e5f6576656e7473207c7c2021746869732e5f6576656e74735b747970655d290a2020202072657475726e20746869733b0a0a20206c697374203d20746869732e5f6576656e74735b747970655d3b0a20206c656e677468203d206c6973742e6c656e6774683b0a2020706f736974696f6e203d202d313b0a0a2020696620286c697374203d3d3d206c697374656e6572207c7c0a20202020202028697346756e6374696f6e286c6973742e6c697374656e657229202626206c6973742e6c697374656e6572203d3d3d206c697374656e65722929207b0a2020202064656c65746520746869732e5f6576656e74735b747970655d3b0a2020202069662028746869732e5f6576656e74732e72656d6f76654c697374656e6572290a202020202020746869732e656d6974282772656d6f76654c697374656e6572272c20747970652c206c697374656e6572293b0a0a20207d20656c7365206966202869734f626a656374286c6973742929207b0a20202020666f72202869203d206c656e6774683b20692d2d203e20303b29207b0a202020202020696620286c6973745b695d203d3d3d206c697374656e6572207c7c0a20202020202020202020286c6973745b695d2e6c697374656e6572202626206c6973745b695d2e6c697374656e6572203d3d3d206c697374656e65722929207b0a2020202020202020706f736974696f6e203d20693b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028706f736974696f6e203c2030290a20202020202072657475726e20746869733b0a0a20202020696620286c6973742e6c656e677468203d3d3d203129207b0a2020202020206c6973742e6c656e677468203d20303b0a20202020202064656c65746520746869732e5f6576656e74735b747970655d3b0a202020207d20656c7365207b0a2020202020206c6973742e73706c69636528706f736974696f6e2c2031293b0a202020207d0a0a2020202069662028746869732e5f6576656e74732e72656d6f76654c697374656e6572290a202020202020746869732e656d6974282772656d6f76654c697374656e6572272c20747970652c206c697374656e6572293b0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e72656d6f7665416c6c4c697374656e657273203d2066756e6374696f6e287479706529207b0a2020766172206b65792c206c697374656e6572733b0a0a20206966202821746869732e5f6576656e7473290a2020202072657475726e20746869733b0a0a20202f2f206e6f74206c697374656e696e6720666f722072656d6f76654c697374656e65722c206e6f206e65656420746f20656d69740a20206966202821746869732e5f6576656e74732e72656d6f76654c697374656e657229207b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d2030290a202020202020746869732e5f6576656e7473203d207b7d3b0a20202020656c73652069662028746869732e5f6576656e74735b747970655d290a20202020202064656c65746520746869732e5f6576656e74735b747970655d3b0a2020202072657475726e20746869733b0a20207d0a0a20202f2f20656d69742072656d6f76654c697374656e657220666f7220616c6c206c697374656e657273206f6e20616c6c206576656e74730a202069662028617267756d656e74732e6c656e677468203d3d3d203029207b0a20202020666f7220286b657920696e20746869732e5f6576656e747329207b0a202020202020696620286b6579203d3d3d202772656d6f76654c697374656e6572272920636f6e74696e75653b0a202020202020746869732e72656d6f7665416c6c4c697374656e657273286b6579293b0a202020207d0a20202020746869732e72656d6f7665416c6c4c697374656e657273282772656d6f76654c697374656e657227293b0a20202020746869732e5f6576656e7473203d207b7d3b0a2020202072657475726e20746869733b0a20207d0a0a20206c697374656e657273203d20746869732e5f6576656e74735b747970655d3b0a0a202069662028697346756e6374696f6e286c697374656e6572732929207b0a20202020746869732e72656d6f76654c697374656e657228747970652c206c697374656e657273293b0a20207d20656c736520696620286c697374656e65727329207b0a202020202f2f204c49464f206f726465720a202020207768696c6520286c697374656e6572732e6c656e677468290a202020202020746869732e72656d6f76654c697374656e657228747970652c206c697374656e6572735b6c697374656e6572732e6c656e677468202d20315d293b0a20207d0a202064656c65746520746869732e5f6576656e74735b747970655d3b0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6c697374656e657273203d2066756e6374696f6e287479706529207b0a2020766172207265743b0a20206966202821746869732e5f6576656e7473207c7c2021746869732e5f6576656e74735b747970655d290a20202020726574203d205b5d3b0a2020656c73652069662028697346756e6374696f6e28746869732e5f6576656e74735b747970655d29290a20202020726574203d205b746869732e5f6576656e74735b747970655d5d3b0a2020656c73650a20202020726574203d20746869732e5f6576656e74735b747970655d2e736c69636528293b0a202072657475726e207265743b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6c697374656e6572436f756e74203d2066756e6374696f6e287479706529207b0a202069662028746869732e5f6576656e747329207b0a202020207661722065766c697374656e6572203d20746869732e5f6576656e74735b747970655d3b0a0a2020202069662028697346756e6374696f6e2865766c697374656e657229290a20202020202072657475726e20313b0a20202020656c7365206966202865766c697374656e6572290a20202020202072657475726e2065766c697374656e65722e6c656e6774683b0a20207d0a202072657475726e20303b0a7d3b0a0a4576656e74456d69747465722e6c697374656e6572436f756e74203d2066756e6374696f6e28656d69747465722c207479706529207b0a202072657475726e20656d69747465722e6c697374656e6572436f756e742874797065293b0a7d3b0a0a66756e6374696f6e20697346756e6374696f6e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202766756e6374696f6e273b0a7d0a0a66756e6374696f6e2069734e756d6265722861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276e756d626572273b0a7d0a0a66756e6374696f6e2069734f626a6563742861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a7d0a0a66756e6374696f6e206973556e646566696e65642861726729207b0a202072657475726e20617267203d3d3d20766f696420303b0a7d0a0a7d2c7b7d5d2c33343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a7661722068747470203d207265717569726528276874747027290a7661722075726c203d2072657175697265282775726c27290a0a766172206874747073203d206d6f64756c652e6578706f7274730a0a666f722028766172206b657920696e206874747029207b0a202069662028687474702e6861734f776e50726f7065727479286b657929292068747470735b6b65795d203d20687474705b6b65795d0a7d0a0a68747470732e72657175657374203d2066756e6374696f6e2028706172616d732c20636229207b0a2020706172616d73203d2076616c6964617465506172616d7328706172616d73290a202072657475726e20687474702e726571756573742e63616c6c28746869732c20706172616d732c206362290a7d0a0a68747470732e676574203d2066756e6374696f6e2028706172616d732c20636229207b0a2020706172616d73203d2076616c6964617465506172616d7328706172616d73290a202072657475726e20687474702e6765742e63616c6c28746869732c20706172616d732c206362290a7d0a0a66756e6374696f6e2076616c6964617465506172616d732028706172616d7329207b0a202069662028747970656f6620706172616d73203d3d3d2027737472696e672729207b0a20202020706172616d73203d2075726c2e706172736528706172616d73290a20207d0a20206966202821706172616d732e70726f746f636f6c29207b0a20202020706172616d732e70726f746f636f6c203d202768747470733a270a20207d0a202069662028706172616d732e70726f746f636f6c20213d3d202768747470733a2729207b0a202020207468726f77206e6577204572726f72282750726f746f636f6c202227202b20706172616d732e70726f746f636f6c202b202722206e6f7420737570706f727465642e204578706563746564202268747470733a2227290a20207d0a202072657475726e20706172616d730a7d0a0a7d2c7b2268747470223a3133312c2275726c223a33357d5d2c33353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a7661722070756e79636f6465203d2072657175697265282770756e79636f646527293b0a766172207574696c203d207265717569726528272e2f7574696c27293b0a0a6578706f7274732e7061727365203d2075726c50617273653b0a6578706f7274732e7265736f6c7665203d2075726c5265736f6c76653b0a6578706f7274732e7265736f6c76654f626a656374203d2075726c5265736f6c76654f626a6563743b0a6578706f7274732e666f726d6174203d2075726c466f726d61743b0a0a6578706f7274732e55726c203d2055726c3b0a0a66756e6374696f6e2055726c2829207b0a2020746869732e70726f746f636f6c203d206e756c6c3b0a2020746869732e736c6173686573203d206e756c6c3b0a2020746869732e61757468203d206e756c6c3b0a2020746869732e686f7374203d206e756c6c3b0a2020746869732e706f7274203d206e756c6c3b0a2020746869732e686f73746e616d65203d206e756c6c3b0a2020746869732e68617368203d206e756c6c3b0a2020746869732e736561726368203d206e756c6c3b0a2020746869732e7175657279203d206e756c6c3b0a2020746869732e706174686e616d65203d206e756c6c3b0a2020746869732e70617468203d206e756c6c3b0a2020746869732e68726566203d206e756c6c3b0a7d0a0a2f2f205265666572656e63653a2052464320333938362c2052464320313830382c2052464320323339360a0a2f2f20646566696e65207468657365206865726520736f206174206c656173742074686579206f6e6c79206861766520746f2062650a2f2f20636f6d70696c6564206f6e6365206f6e20746865206669727374206d6f64756c65206c6f61642e0a7661722070726f746f636f6c5061747465726e203d202f5e285b612d7a302d392e2b2d5d2b3a292f692c0a20202020706f72745061747465726e203d202f3a5b302d395d2a242f2c0a0a202020202f2f205370656369616c206361736520666f7220612073696d706c6520706174682055524c0a2020202073696d706c65506174685061747465726e203d202f5e285c2f5c2f3f283f215c2f295b5e5c3f5c735d2a29285c3f5b5e5c735d2a293f242f2c0a0a202020202f2f2052464320323339363a206368617261637465727320726573657276656420666f722064656c696d6974696e672055524c732e0a202020202f2f2057652061637475616c6c79206a757374206175746f2d6573636170652074686573652e0a2020202064656c696d73203d205b273c272c20273e272c202722272c202760272c202720272c20275c72272c20275c6e272c20275c74275d2c0a0a202020202f2f2052464320323339363a2063686172616374657273206e6f7420616c6c6f77656420666f7220766172696f757320726561736f6e732e0a20202020756e77697365203d205b277b272c20277d272c20277c272c20275c5c272c20275e272c202760275d2e636f6e6361742864656c696d73292c0a0a202020202f2f20416c6c6f77656420627920524643732c20627574206361757365206f66205853532061747461636b732e2020416c77617973206573636170652074686573652e0a202020206175746f457363617065203d205b275c27275d2e636f6e63617428756e77697365292c0a202020202f2f2043686172616374657273207468617420617265206e65766572206576657220616c6c6f77656420696e206120686f73746e616d652e0a202020202f2f204e6f7465207468617420616e7920696e76616c69642063686172732061726520616c736f2068616e646c65642c206275742074686573650a202020202f2f2061726520746865206f6e6573207468617420617265202a65787065637465642a20746f206265207365656e2c20736f20776520666173742d706174680a202020202f2f207468656d2e0a202020206e6f6e486f73744368617273203d205b2725272c20272f272c20273f272c20273b272c202723275d2e636f6e636174286175746f457363617065292c0a20202020686f7374456e64696e674368617273203d205b272f272c20273f272c202723275d2c0a20202020686f73746e616d654d61784c656e203d203235352c0a20202020686f73746e616d65506172745061747465726e203d202f5e5b2b612d7a302d39412d5a5f2d5d7b302c36337d242f2c0a20202020686f73746e616d65506172745374617274203d202f5e285b2b612d7a302d39412d5a5f2d5d7b302c36337d29282e2a29242f2c0a202020202f2f2070726f746f636f6c7320746861742063616e20616c6c6f772022756e736166652220616e642022756e77697365222063686172732e0a20202020756e7361666550726f746f636f6c203d207b0a202020202020276a617661736372697074273a20747275652c0a202020202020276a6176617363726970743a273a20747275650a202020207d2c0a202020202f2f2070726f746f636f6c732074686174206e657665722068617665206120686f73746e616d652e0a20202020686f73746c65737350726f746f636f6c203d207b0a202020202020276a617661736372697074273a20747275652c0a202020202020276a6176617363726970743a273a20747275650a202020207d2c0a202020202f2f2070726f746f636f6c73207468617420616c7761797320636f6e7461696e2061202f2f206269742e0a20202020736c617368656450726f746f636f6c203d207b0a2020202020202768747470273a20747275652c0a202020202020276874747073273a20747275652c0a20202020202027667470273a20747275652c0a20202020202027676f70686572273a20747275652c0a2020202020202766696c65273a20747275652c0a20202020202027687474703a273a20747275652c0a2020202020202768747470733a273a20747275652c0a202020202020276674703a273a20747275652c0a20202020202027676f706865723a273a20747275652c0a2020202020202766696c653a273a20747275650a202020207d2c0a202020207175657279737472696e67203d207265717569726528277175657279737472696e6727293b0a0a66756e6374696f6e2075726c50617273652875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f737429207b0a20206966202875726c202626207574696c2e69734f626a6563742875726c292026262075726c20696e7374616e63656f662055726c292072657475726e2075726c3b0a0a20207661722075203d206e65772055726c3b0a2020752e70617273652875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f7374293b0a202072657475726e20753b0a7d0a0a55726c2e70726f746f747970652e7061727365203d2066756e6374696f6e2875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f737429207b0a202069662028217574696c2e6973537472696e672875726c2929207b0a202020207468726f77206e657720547970654572726f722822506172616d65746572202775726c27206d757374206265206120737472696e672c206e6f742022202b20747970656f662075726c293b0a20207d0a0a20202f2f20436f7079206368726f6d652c2049452c206f70657261206261636b736c6173682d68616e646c696e67206265686176696f722e0a20202f2f204261636b20736c6173686573206265666f72652074686520717565727920737472696e672067657420636f6e76657274656420746f20666f727761726420736c61736865730a20202f2f205365653a2068747470733a2f2f636f64652e676f6f676c652e636f6d2f702f6368726f6d69756d2f6973737565732f64657461696c3f69643d32353931360a2020766172207175657279496e646578203d2075726c2e696e6465784f6628273f27292c0a20202020202073706c6974746572203d0a20202020202020202020287175657279496e64657820213d3d202d31202626207175657279496e646578203c2075726c2e696e6465784f66282723272929203f20273f27203a202723272c0a2020202020207553706c6974203d2075726c2e73706c69742873706c6974746572292c0a202020202020736c6173685265676578203d202f5c5c2f673b0a20207553706c69745b305d203d207553706c69745b305d2e7265706c61636528736c61736852656765782c20272f27293b0a202075726c203d207553706c69742e6a6f696e2873706c6974746572293b0a0a20207661722072657374203d2075726c3b0a0a20202f2f207472696d206265666f72652070726f63656564696e672e0a20202f2f205468697320697320746f20737570706f7274207061727365207374756666206c696b6520222020687474703a2f2f666f6f2e636f6d20205c6e220a202072657374203d20726573742e7472696d28293b0a0a20206966202821736c617368657344656e6f7465486f73742026262075726c2e73706c697428272327292e6c656e677468203d3d3d203129207b0a202020202f2f2054727920666173742070617468207265676578700a202020207661722073696d706c6550617468203d2073696d706c65506174685061747465726e2e657865632872657374293b0a202020206966202873696d706c655061746829207b0a202020202020746869732e70617468203d20726573743b0a202020202020746869732e68726566203d20726573743b0a202020202020746869732e706174686e616d65203d2073696d706c65506174685b315d3b0a2020202020206966202873696d706c65506174685b325d29207b0a2020202020202020746869732e736561726368203d2073696d706c65506174685b325d3b0a20202020202020206966202870617273655175657279537472696e6729207b0a20202020202020202020746869732e7175657279203d207175657279737472696e672e706172736528746869732e7365617263682e737562737472283129293b0a20202020202020207d20656c7365207b0a20202020202020202020746869732e7175657279203d20746869732e7365617263682e7375627374722831293b0a20202020202020207d0a2020202020207d20656c7365206966202870617273655175657279537472696e6729207b0a2020202020202020746869732e736561726368203d2027273b0a2020202020202020746869732e7175657279203d207b7d3b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a20207d0a0a20207661722070726f746f203d2070726f746f636f6c5061747465726e2e657865632872657374293b0a20206966202870726f746f29207b0a2020202070726f746f203d2070726f746f5b305d3b0a20202020766172206c6f77657250726f746f203d2070726f746f2e746f4c6f7765724361736528293b0a20202020746869732e70726f746f636f6c203d206c6f77657250726f746f3b0a2020202072657374203d20726573742e7375627374722870726f746f2e6c656e677468293b0a20207d0a0a20202f2f20666967757265206f7574206966206974277320676f74206120686f73740a20202f2f207573657240736572766572206973202a616c776179732a20696e746572707265746564206173206120686f73746e616d652c20616e642075726c0a20202f2f207265736f6c7574696f6e2077696c6c207472656174202f2f666f6f2f62617220617320686f73743d666f6f2c706174683d6261722062656361757365207468617427730a20202f2f20686f77207468652062726f77736572207265736f6c7665732072656c61746976652055524c732e0a202069662028736c617368657344656e6f7465486f7374207c7c2070726f746f207c7c20726573742e6d61746368282f5e5c2f5c2f5b5e405c2f5d2b405b5e405c2f5d2b2f2929207b0a2020202076617220736c6173686573203d20726573742e73756273747228302c203229203d3d3d20272f2f273b0a2020202069662028736c617368657320262620212870726f746f20262620686f73746c65737350726f746f636f6c5b70726f746f5d2929207b0a20202020202072657374203d20726573742e7375627374722832293b0a202020202020746869732e736c6173686573203d20747275653b0a202020207d0a20207d0a0a20206966202821686f73746c65737350726f746f636f6c5b70726f746f5d2026260a20202020202028736c6173686573207c7c202870726f746f2026262021736c617368656450726f746f636f6c5b70726f746f5d292929207b0a0a202020202f2f2074686572652773206120686f73746e616d652e0a202020202f2f2074686520666972737420696e7374616e6365206f66202f2c203f2c203b2c206f72202320656e64732074686520686f73742e0a202020202f2f0a202020202f2f20496620746865726520697320616e204020696e2074686520686f73746e616d652c207468656e206e6f6e2d686f7374206368617273202a6172652a20616c6c6f7765640a202020202f2f20746f20746865206c656674206f6620746865206c6173742040207369676e2c20756e6c65737320736f6d6520686f73742d656e64696e67206368617261637465720a202020202f2f20636f6d6573202a6265666f72652a2074686520402d7369676e2e0a202020202f2f2055524c7320617265206f626e6f78696f75732e0a202020202f2f0a202020202f2f2065783a0a202020202f2f20687474703a2f2f61406240632f203d3e20757365723a61406220686f73743a630a202020202f2f20687474703a2f2f6140623f4063203d3e20757365723a6120686f73743a6320706174683a2f3f40630a0a202020202f2f2076302e313220544f444f28697361616373293a2054686973206973206e6f7420717569746520686f77204368726f6d6520646f6573207468696e67732e0a202020202f2f20526576696577206f75722074657374206361736520616761696e73742062726f7773657273206d6f726520636f6d70726568656e736976656c792e0a0a202020202f2f2066696e642074686520666972737420696e7374616e6365206f6620616e7920686f7374456e64696e6743686172730a2020202076617220686f7374456e64203d202d313b0a20202020666f7220287661722069203d20303b2069203c20686f7374456e64696e6743686172732e6c656e6774683b20692b2b29207b0a20202020202076617220686563203d20726573742e696e6465784f6628686f7374456e64696e6743686172735b695d293b0a2020202020206966202868656320213d3d202d312026262028686f7374456e64203d3d3d202d31207c7c20686563203c20686f7374456e6429290a2020202020202020686f7374456e64203d206865633b0a202020207d0a0a202020202f2f206174207468697320706f696e742c20656974686572207765206861766520616e206578706c6963697420706f696e74207768657265207468650a202020202f2f206175746820706f7274696f6e2063616e6e6f7420676f20706173742c206f7220746865206c617374204020636861722069732074686520646563696465722e0a2020202076617220617574682c2061745369676e3b0a2020202069662028686f7374456e64203d3d3d202d3129207b0a2020202020202f2f2061745369676e2063616e20626520616e7977686572652e0a20202020202061745369676e203d20726573742e6c617374496e6465784f6628274027293b0a202020207d20656c7365207b0a2020202020202f2f2061745369676e206d75737420626520696e206175746820706f7274696f6e2e0a2020202020202f2f20687474703a2f2f6140622f634064203d3e20686f73743a6220617574683a6120706174683a2f6340640a20202020202061745369676e203d20726573742e6c617374496e6465784f66282740272c20686f7374456e64293b0a202020207d0a0a202020202f2f204e6f772077652068617665206120706f7274696f6e20776869636820697320646566696e6974656c792074686520617574682e0a202020202f2f2050756c6c2074686174206f66662e0a202020206966202861745369676e20213d3d202d3129207b0a20202020202061757468203d20726573742e736c69636528302c2061745369676e293b0a20202020202072657374203d20726573742e736c6963652861745369676e202b2031293b0a202020202020746869732e61757468203d206465636f6465555249436f6d706f6e656e742861757468293b0a202020207d0a0a202020202f2f2074686520686f7374206973207468652072656d61696e696e6720746f20746865206c656674206f6620746865206669727374206e6f6e2d686f737420636861720a20202020686f7374456e64203d202d313b0a20202020666f7220287661722069203d20303b2069203c206e6f6e486f737443686172732e6c656e6774683b20692b2b29207b0a20202020202076617220686563203d20726573742e696e6465784f66286e6f6e486f737443686172735b695d293b0a2020202020206966202868656320213d3d202d312026262028686f7374456e64203d3d3d202d31207c7c20686563203c20686f7374456e6429290a2020202020202020686f7374456e64203d206865633b0a202020207d0a202020202f2f206966207765207374696c6c2068617665206e6f74206869742069742c207468656e2074686520656e74697265207468696e67206973206120686f73742e0a2020202069662028686f7374456e64203d3d3d202d31290a202020202020686f7374456e64203d20726573742e6c656e6774683b0a0a20202020746869732e686f7374203d20726573742e736c69636528302c20686f7374456e64293b0a2020202072657374203d20726573742e736c69636528686f7374456e64293b0a0a202020202f2f2070756c6c206f757420706f72742e0a20202020746869732e7061727365486f737428293b0a0a202020202f2f20776527766520696e646963617465642074686174207468657265206973206120686f73746e616d652c0a202020202f2f20736f206576656e206966206974277320656d7074792c2069742068617320746f2062652070726573656e742e0a20202020746869732e686f73746e616d65203d20746869732e686f73746e616d65207c7c2027273b0a0a202020202f2f20696620686f73746e616d6520626567696e732077697468205b20616e6420656e64732077697468205d0a202020202f2f20617373756d652074686174206974277320616e204950763620616464726573732e0a202020207661722069707636486f73746e616d65203d20746869732e686f73746e616d655b305d203d3d3d20275b272026260a2020202020202020746869732e686f73746e616d655b746869732e686f73746e616d652e6c656e677468202d20315d203d3d3d20275d273b0a0a202020202f2f2076616c69646174652061206c6974746c652e0a20202020696620282169707636486f73746e616d6529207b0a20202020202076617220686f73747061727473203d20746869732e686f73746e616d652e73706c6974282f5c2e2f293b0a202020202020666f7220287661722069203d20302c206c203d20686f737470617274732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020202020207661722070617274203d20686f737470617274735b695d3b0a20202020202020206966202821706172742920636f6e74696e75653b0a20202020202020206966202821706172742e6d6174636828686f73746e616d65506172745061747465726e2929207b0a20202020202020202020766172206e657770617274203d2027273b0a20202020202020202020666f722028766172206a203d20302c206b203d20706172742e6c656e6774683b206a203c206b3b206a2b2b29207b0a20202020202020202020202069662028706172742e63686172436f64654174286a29203e2031323729207b0a20202020202020202020202020202f2f207765207265706c616365206e6f6e2d41534349492063686172207769746820612074656d706f7261727920706c616365686f6c6465720a20202020202020202020202020202f2f207765206e656564207468697320746f206d616b6520737572652073697a65206f6620686f73746e616d65206973206e6f740a20202020202020202020202020202f2f2062726f6b656e206279207265706c6163696e67206e6f6e2d4153434949206279206e6f7468696e670a20202020202020202020202020206e657770617274202b3d202778273b0a2020202020202020202020207d20656c7365207b0a20202020202020202020202020206e657770617274202b3d20706172745b6a5d3b0a2020202020202020202020207d0a202020202020202020207d0a202020202020202020202f2f207765207465737420616761696e20776974682041534349492063686172206f6e6c790a2020202020202020202069662028216e6577706172742e6d6174636828686f73746e616d65506172745061747465726e2929207b0a2020202020202020202020207661722076616c69645061727473203d20686f737470617274732e736c69636528302c2069293b0a202020202020202020202020766172206e6f74486f7374203d20686f737470617274732e736c6963652869202b2031293b0a20202020202020202020202076617220626974203d20706172742e6d6174636828686f73746e616d65506172745374617274293b0a2020202020202020202020206966202862697429207b0a202020202020202020202020202076616c696450617274732e70757368286269745b315d293b0a20202020202020202020202020206e6f74486f73742e756e7368696674286269745b325d293b0a2020202020202020202020207d0a202020202020202020202020696620286e6f74486f73742e6c656e67746829207b0a202020202020202020202020202072657374203d20272f27202b206e6f74486f73742e6a6f696e28272e2729202b20726573743b0a2020202020202020202020207d0a202020202020202020202020746869732e686f73746e616d65203d2076616c696450617274732e6a6f696e28272e27293b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e686f73746e616d652e6c656e677468203e20686f73746e616d654d61784c656e29207b0a202020202020746869732e686f73746e616d65203d2027273b0a202020207d20656c7365207b0a2020202020202f2f20686f73746e616d65732061726520616c77617973206c6f77657220636173652e0a202020202020746869732e686f73746e616d65203d20746869732e686f73746e616d652e746f4c6f7765724361736528293b0a202020207d0a0a20202020696620282169707636486f73746e616d6529207b0a2020202020202f2f2049444e4120537570706f72743a2052657475726e7320612070756e79636f64656420726570726573656e746174696f6e206f662022646f6d61696e222e0a2020202020202f2f204974206f6e6c7920636f6e7665727473207061727473206f662074686520646f6d61696e206e616d6520746861740a2020202020202f2f2068617665206e6f6e2d415343494920636861726163746572732c20692e652e20697420646f65736e2774206d61747465722069660a2020202020202f2f20796f752063616c6c2069742077697468206120646f6d61696e207468617420616c72656164792069732041534349492d6f6e6c792e0a202020202020746869732e686f73746e616d65203d2070756e79636f64652e746f415343494928746869732e686f73746e616d65293b0a202020207d0a0a202020207661722070203d20746869732e706f7274203f20273a27202b20746869732e706f7274203a2027273b0a202020207661722068203d20746869732e686f73746e616d65207c7c2027273b0a20202020746869732e686f7374203d2068202b20703b0a20202020746869732e68726566202b3d20746869732e686f73743b0a0a202020202f2f207374726970205b20616e64205d2066726f6d2074686520686f73746e616d650a202020202f2f2074686520686f7374206669656c64207374696c6c2072657461696e73207468656d2c2074686f7567680a202020206966202869707636486f73746e616d6529207b0a202020202020746869732e686f73746e616d65203d20746869732e686f73746e616d652e73756273747228312c20746869732e686f73746e616d652e6c656e677468202d2032293b0a20202020202069662028726573745b305d20213d3d20272f2729207b0a202020202020202072657374203d20272f27202b20726573743b0a2020202020207d0a202020207d0a20207d0a0a20202f2f206e6f7720726573742069732073657420746f2074686520706f73742d686f73742073747566662e0a20202f2f2063686f70206f666620616e792064656c696d2063686172732e0a20206966202821756e7361666550726f746f636f6c5b6c6f77657250726f746f5d29207b0a0a202020202f2f2046697273742c206d616b6520313030252073757265207468617420616e7920226175746f45736361706522206368617273206765740a202020202f2f20657363617065642c206576656e20696620656e636f6465555249436f6d706f6e656e7420646f65736e2774207468696e6b20746865790a202020202f2f206e65656420746f2062652e0a20202020666f7220287661722069203d20302c206c203d206175746f4573636170652e6c656e6774683b2069203c206c3b20692b2b29207b0a202020202020766172206165203d206175746f4573636170655b695d3b0a20202020202069662028726573742e696e6465784f6628616529203d3d3d202d31290a2020202020202020636f6e74696e75653b0a20202020202076617220657363203d20656e636f6465555249436f6d706f6e656e74286165293b0a20202020202069662028657363203d3d3d20616529207b0a2020202020202020657363203d20657363617065286165293b0a2020202020207d0a20202020202072657374203d20726573742e73706c6974286165292e6a6f696e28657363293b0a202020207d0a20207d0a0a0a20202f2f2063686f70206f66662066726f6d20746865207461696c2066697273742e0a20207661722068617368203d20726573742e696e6465784f6628272327293b0a2020696620286861736820213d3d202d3129207b0a202020202f2f20676f74206120667261676d656e7420737472696e672e0a20202020746869732e68617368203d20726573742e7375627374722868617368293b0a2020202072657374203d20726573742e736c69636528302c2068617368293b0a20207d0a202076617220716d203d20726573742e696e6465784f6628273f27293b0a202069662028716d20213d3d202d3129207b0a20202020746869732e736561726368203d20726573742e73756273747228716d293b0a20202020746869732e7175657279203d20726573742e73756273747228716d202b2031293b0a202020206966202870617273655175657279537472696e6729207b0a202020202020746869732e7175657279203d207175657279737472696e672e706172736528746869732e7175657279293b0a202020207d0a2020202072657374203d20726573742e736c69636528302c20716d293b0a20207d20656c7365206966202870617273655175657279537472696e6729207b0a202020202f2f206e6f20717565727920737472696e672c206275742070617273655175657279537472696e67207374696c6c207265717565737465640a20202020746869732e736561726368203d2027273b0a20202020746869732e7175657279203d207b7d3b0a20207d0a202069662028726573742920746869732e706174686e616d65203d20726573743b0a202069662028736c617368656450726f746f636f6c5b6c6f77657250726f746f5d2026260a202020202020746869732e686f73746e616d652026262021746869732e706174686e616d6529207b0a20202020746869732e706174686e616d65203d20272f273b0a20207d0a0a20202f2f746f20737570706f727420687474702e726571756573740a202069662028746869732e706174686e616d65207c7c20746869732e73656172636829207b0a202020207661722070203d20746869732e706174686e616d65207c7c2027273b0a202020207661722073203d20746869732e736561726368207c7c2027273b0a20202020746869732e70617468203d2070202b20733b0a20207d0a0a20202f2f2066696e616c6c792c207265636f6e737472756374207468652068726566206261736564206f6e207768617420686173206265656e2076616c6964617465642e0a2020746869732e68726566203d20746869732e666f726d617428293b0a202072657475726e20746869733b0a7d3b0a0a2f2f20666f726d6174206120706172736564206f626a65637420696e746f20612075726c20737472696e670a66756e6374696f6e2075726c466f726d6174286f626a29207b0a20202f2f20656e73757265206974277320616e206f626a6563742c20616e64206e6f74206120737472696e672075726c2e0a20202f2f204966206974277320616e206f626a2c20746869732069732061206e6f2d6f702e0a20202f2f2074686973207761792c20796f752063616e2063616c6c2075726c5f666f726d61742829206f6e20737472696e67730a20202f2f20746f20636c65616e20757020706f74656e7469616c6c7920776f6e6b792075726c732e0a2020696620287574696c2e6973537472696e67286f626a2929206f626a203d2075726c5061727365286f626a293b0a20206966202821286f626a20696e7374616e63656f662055726c29292072657475726e2055726c2e70726f746f747970652e666f726d61742e63616c6c286f626a293b0a202072657475726e206f626a2e666f726d617428293b0a7d0a0a55726c2e70726f746f747970652e666f726d6174203d2066756e6374696f6e2829207b0a20207661722061757468203d20746869732e61757468207c7c2027273b0a2020696620286175746829207b0a2020202061757468203d20656e636f6465555249436f6d706f6e656e742861757468293b0a2020202061757468203d20617574682e7265706c616365282f2533412f692c20273a27293b0a2020202061757468202b3d202740273b0a20207d0a0a20207661722070726f746f636f6c203d20746869732e70726f746f636f6c207c7c2027272c0a202020202020706174686e616d65203d20746869732e706174686e616d65207c7c2027272c0a20202020202068617368203d20746869732e68617368207c7c2027272c0a202020202020686f7374203d2066616c73652c0a2020202020207175657279203d2027273b0a0a202069662028746869732e686f737429207b0a20202020686f7374203d2061757468202b20746869732e686f73743b0a20207d20656c73652069662028746869732e686f73746e616d6529207b0a20202020686f7374203d2061757468202b2028746869732e686f73746e616d652e696e6465784f6628273a2729203d3d3d202d31203f0a2020202020202020746869732e686f73746e616d65203a0a2020202020202020275b27202b20746869732e686f73746e616d65202b20275d27293b0a2020202069662028746869732e706f727429207b0a202020202020686f7374202b3d20273a27202b20746869732e706f72743b0a202020207d0a20207d0a0a202069662028746869732e71756572792026260a2020202020207574696c2e69734f626a65637428746869732e7175657279292026260a2020202020204f626a6563742e6b65797328746869732e7175657279292e6c656e67746829207b0a202020207175657279203d207175657279737472696e672e737472696e6769667928746869732e7175657279293b0a20207d0a0a202076617220736561726368203d20746869732e736561726368207c7c202871756572792026262028273f27202b2071756572792929207c7c2027273b0a0a20206966202870726f746f636f6c2026262070726f746f636f6c2e737562737472282d312920213d3d20273a27292070726f746f636f6c202b3d20273a273b0a0a20202f2f206f6e6c792074686520736c617368656450726f746f636f6c732067657420746865202f2f2e20204e6f74206d61696c746f3a2c20786d70703a2c206574632e0a20202f2f20756e6c657373207468657920686164207468656d20746f20626567696e20776974682e0a202069662028746869732e736c6173686573207c7c0a202020202020282170726f746f636f6c207c7c20736c617368656450726f746f636f6c5b70726f746f636f6c5d2920262620686f737420213d3d2066616c736529207b0a20202020686f7374203d20272f2f27202b2028686f7374207c7c202727293b0a2020202069662028706174686e616d6520262620706174686e616d652e63686172417428302920213d3d20272f272920706174686e616d65203d20272f27202b20706174686e616d653b0a20207d20656c7365206966202821686f737429207b0a20202020686f7374203d2027273b0a20207d0a0a2020696620286861736820262620686173682e63686172417428302920213d3d20272327292068617368203d20272327202b20686173683b0a202069662028736561726368202626207365617263682e63686172417428302920213d3d20273f272920736561726368203d20273f27202b207365617263683b0a0a2020706174686e616d65203d20706174686e616d652e7265706c616365282f5b3f235d2f672c2066756e6374696f6e286d6174636829207b0a2020202072657475726e20656e636f6465555249436f6d706f6e656e74286d61746368293b0a20207d293b0a2020736561726368203d207365617263682e7265706c616365282723272c202725323327293b0a0a202072657475726e2070726f746f636f6c202b20686f7374202b20706174686e616d65202b20736561726368202b20686173683b0a7d3b0a0a66756e6374696f6e2075726c5265736f6c766528736f757263652c2072656c617469766529207b0a202072657475726e2075726c506172736528736f757263652c2066616c73652c2074727565292e7265736f6c76652872656c6174697665293b0a7d0a0a55726c2e70726f746f747970652e7265736f6c7665203d2066756e6374696f6e2872656c617469766529207b0a202072657475726e20746869732e7265736f6c76654f626a6563742875726c50617273652872656c61746976652c2066616c73652c207472756529292e666f726d617428293b0a7d3b0a0a66756e6374696f6e2075726c5265736f6c76654f626a65637428736f757263652c2072656c617469766529207b0a20206966202821736f75726365292072657475726e2072656c61746976653b0a202072657475726e2075726c506172736528736f757263652c2066616c73652c2074727565292e7265736f6c76654f626a6563742872656c6174697665293b0a7d0a0a55726c2e70726f746f747970652e7265736f6c76654f626a656374203d2066756e6374696f6e2872656c617469766529207b0a2020696620287574696c2e6973537472696e672872656c61746976652929207b0a202020207661722072656c203d206e65772055726c28293b0a2020202072656c2e70617273652872656c61746976652c2066616c73652c2074727565293b0a2020202072656c6174697665203d2072656c3b0a20207d0a0a202076617220726573756c74203d206e65772055726c28293b0a202076617220746b657973203d204f626a6563742e6b6579732874686973293b0a2020666f72202876617220746b203d20303b20746b203c20746b6579732e6c656e6774683b20746b2b2b29207b0a2020202076617220746b6579203d20746b6579735b746b5d3b0a20202020726573756c745b746b65795d203d20746869735b746b65795d3b0a20207d0a0a20202f2f206861736820697320616c77617973206f76657272696464656e2c206e6f206d617474657220776861742e0a20202f2f206576656e20687265663d22222077696c6c2072656d6f76652069742e0a2020726573756c742e68617368203d2072656c61746976652e686173683b0a0a20202f2f206966207468652072656c61746976652075726c20697320656d7074792c207468656e2074686572652773206e6f7468696e67206c65667420746f20646f20686572652e0a20206966202872656c61746976652e68726566203d3d3d20272729207b0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2f206872656673206c696b65202f2f666f6f2f62617220616c776179732063757420746f207468652070726f746f636f6c2e0a20206966202872656c61746976652e736c6173686573202626202172656c61746976652e70726f746f636f6c29207b0a202020202f2f2074616b652065766572797468696e6720657863657074207468652070726f746f636f6c2066726f6d2072656c61746976650a2020202076617220726b657973203d204f626a6563742e6b6579732872656c6174697665293b0a20202020666f72202876617220726b203d20303b20726b203c20726b6579732e6c656e6774683b20726b2b2b29207b0a20202020202076617220726b6579203d20726b6579735b726b5d3b0a20202020202069662028726b657920213d3d202770726f746f636f6c27290a2020202020202020726573756c745b726b65795d203d2072656c61746976655b726b65795d3b0a202020207d0a0a202020202f2f75726c506172736520617070656e647320747261696c696e67202f20746f2075726c73206c696b6520687474703a2f2f7777772e6578616d706c652e636f6d0a2020202069662028736c617368656450726f746f636f6c5b726573756c742e70726f746f636f6c5d2026260a2020202020202020726573756c742e686f73746e616d652026262021726573756c742e706174686e616d6529207b0a202020202020726573756c742e70617468203d20726573756c742e706174686e616d65203d20272f273b0a202020207d0a0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20206966202872656c61746976652e70726f746f636f6c2026262072656c61746976652e70726f746f636f6c20213d3d20726573756c742e70726f746f636f6c29207b0a202020202f2f20696620697427732061206b6e6f776e2075726c2070726f746f636f6c2c207468656e206368616e67696e670a202020202f2f207468652070726f746f636f6c20646f6573207765697264207468696e67730a202020202f2f2066697273742c2069662069742773206e6f742066696c653a2c207468656e207765204d5553542068617665206120686f73742c0a202020202f2f20616e6420696620746865726520776173206120706174680a202020202f2f20746f20626567696e20776974682c207468656e207765204d5553542068617665206120706174682e0a202020202f2f2069662069742069732066696c653a2c207468656e2074686520686f73742069732064726f707065642c0a202020202f2f206265636175736520746861742773206b6e6f776e20746f20626520686f73746c6573732e0a202020202f2f20616e797468696e6720656c736520697320617373756d656420746f206265206162736f6c7574652e0a202020206966202821736c617368656450726f746f636f6c5b72656c61746976652e70726f746f636f6c5d29207b0a202020202020766172206b657973203d204f626a6563742e6b6579732872656c6174697665293b0a202020202020666f7220287661722076203d20303b2076203c206b6579732e6c656e6774683b20762b2b29207b0a2020202020202020766172206b203d206b6579735b765d3b0a2020202020202020726573756c745b6b5d203d2072656c61746976655b6b5d3b0a2020202020207d0a202020202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a20202020726573756c742e70726f746f636f6c203d2072656c61746976652e70726f746f636f6c3b0a20202020696620282172656c61746976652e686f73742026262021686f73746c65737350726f746f636f6c5b72656c61746976652e70726f746f636f6c5d29207b0a2020202020207661722072656c50617468203d202872656c61746976652e706174686e616d65207c7c202727292e73706c697428272f27293b0a2020202020207768696c65202872656c506174682e6c656e67746820262620212872656c61746976652e686f7374203d2072656c506174682e7368696674282929293b0a202020202020696620282172656c61746976652e686f7374292072656c61746976652e686f7374203d2027273b0a202020202020696620282172656c61746976652e686f73746e616d65292072656c61746976652e686f73746e616d65203d2027273b0a2020202020206966202872656c506174685b305d20213d3d202727292072656c506174682e756e7368696674282727293b0a2020202020206966202872656c506174682e6c656e677468203c2032292072656c506174682e756e7368696674282727293b0a202020202020726573756c742e706174686e616d65203d2072656c506174682e6a6f696e28272f27293b0a202020207d20656c7365207b0a202020202020726573756c742e706174686e616d65203d2072656c61746976652e706174686e616d653b0a202020207d0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a20202020726573756c742e686f7374203d2072656c61746976652e686f7374207c7c2027273b0a20202020726573756c742e61757468203d2072656c61746976652e617574683b0a20202020726573756c742e686f73746e616d65203d2072656c61746976652e686f73746e616d65207c7c2072656c61746976652e686f73743b0a20202020726573756c742e706f7274203d2072656c61746976652e706f72743b0a202020202f2f20746f20737570706f727420687474702e726571756573740a2020202069662028726573756c742e706174686e616d65207c7c20726573756c742e73656172636829207b0a2020202020207661722070203d20726573756c742e706174686e616d65207c7c2027273b0a2020202020207661722073203d20726573756c742e736561726368207c7c2027273b0a202020202020726573756c742e70617468203d2070202b20733b0a202020207d0a20202020726573756c742e736c6173686573203d20726573756c742e736c6173686573207c7c2072656c61746976652e736c61736865733b0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a2020766172206973536f75726365416273203d2028726573756c742e706174686e616d6520262620726573756c742e706174686e616d652e636861724174283029203d3d3d20272f27292c0a202020202020697352656c416273203d20280a2020202020202020202072656c61746976652e686f7374207c7c0a2020202020202020202072656c61746976652e706174686e616d652026262072656c61746976652e706174686e616d652e636861724174283029203d3d3d20272f270a202020202020292c0a2020202020206d757374456e64416273203d2028697352656c416273207c7c206973536f75726365416273207c7c0a202020202020202020202020202020202020202028726573756c742e686f73742026262072656c61746976652e706174686e616d6529292c0a20202020202072656d6f7665416c6c446f7473203d206d757374456e644162732c0a20202020202073726350617468203d20726573756c742e706174686e616d6520262620726573756c742e706174686e616d652e73706c697428272f2729207c7c205b5d2c0a20202020202072656c50617468203d2072656c61746976652e706174686e616d652026262072656c61746976652e706174686e616d652e73706c697428272f2729207c7c205b5d2c0a20202020202070737963686f746963203d20726573756c742e70726f746f636f6c2026262021736c617368656450726f746f636f6c5b726573756c742e70726f746f636f6c5d3b0a0a20202f2f206966207468652075726c2069732061206e6f6e2d736c61736865642075726c2c207468656e2072656c61746976650a20202f2f206c696e6b73206c696b65202e2e2f2e2e2073686f756c642062652061626c650a20202f2f20746f20637261776c20757020746f2074686520686f73746e616d652c2061732077656c6c2e20205468697320697320737472616e67652e0a20202f2f20726573756c742e70726f746f636f6c2068617320616c7265616479206265656e20736574206279206e6f772e0a20202f2f204c61746572206f6e2c20707574207468652066697273742070617468207061727420696e746f2074686520686f7374206669656c642e0a20206966202870737963686f74696329207b0a20202020726573756c742e686f73746e616d65203d2027273b0a20202020726573756c742e706f7274203d206e756c6c3b0a2020202069662028726573756c742e686f737429207b0a20202020202069662028737263506174685b305d203d3d3d2027272920737263506174685b305d203d20726573756c742e686f73743b0a202020202020656c736520737263506174682e756e736869667428726573756c742e686f7374293b0a202020207d0a20202020726573756c742e686f7374203d2027273b0a202020206966202872656c61746976652e70726f746f636f6c29207b0a20202020202072656c61746976652e686f73746e616d65203d206e756c6c3b0a20202020202072656c61746976652e706f7274203d206e756c6c3b0a2020202020206966202872656c61746976652e686f737429207b0a20202020202020206966202872656c506174685b305d203d3d3d202727292072656c506174685b305d203d2072656c61746976652e686f73743b0a2020202020202020656c73652072656c506174682e756e73686966742872656c61746976652e686f7374293b0a2020202020207d0a20202020202072656c61746976652e686f7374203d206e756c6c3b0a202020207d0a202020206d757374456e64416273203d206d757374456e64416273202626202872656c506174685b305d203d3d3d202727207c7c20737263506174685b305d203d3d3d202727293b0a20207d0a0a202069662028697352656c41627329207b0a202020202f2f2069742773206162736f6c7574652e0a20202020726573756c742e686f7374203d202872656c61746976652e686f7374207c7c2072656c61746976652e686f7374203d3d3d20272729203f0a20202020202020202020202020202020202072656c61746976652e686f7374203a20726573756c742e686f73743b0a20202020726573756c742e686f73746e616d65203d202872656c61746976652e686f73746e616d65207c7c2072656c61746976652e686f73746e616d65203d3d3d20272729203f0a2020202020202020202020202020202020202020202072656c61746976652e686f73746e616d65203a20726573756c742e686f73746e616d653b0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a2020202073726350617468203d2072656c506174683b0a202020202f2f2066616c6c207468726f75676820746f2074686520646f742d68616e646c696e672062656c6f772e0a20207d20656c7365206966202872656c506174682e6c656e67746829207b0a202020202f2f20697427732072656c61746976650a202020202f2f207468726f77206177617920746865206578697374696e672066696c652c20616e642074616b6520746865206e6577207061746820696e73746561642e0a20202020696620282173726350617468292073726350617468203d205b5d3b0a20202020737263506174682e706f7028293b0a2020202073726350617468203d20737263506174682e636f6e6361742872656c50617468293b0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a20207d20656c73652069662028217574696c2e69734e756c6c4f72556e646566696e65642872656c61746976652e7365617263682929207b0a202020202f2f206a7573742070756c6c206f757420746865207365617263682e0a202020202f2f206c696b6520687265663d273f666f6f272e0a202020202f2f20507574207468697320616674657220746865206f746865722074776f20636173657320626563617573652069742073696d706c69666965732074686520626f6f6c65616e730a202020206966202870737963686f74696329207b0a202020202020726573756c742e686f73746e616d65203d20726573756c742e686f7374203d20737263506174682e736869667428293b0a2020202020202f2f6f63636174696f6e616c792074686520617574682063616e2067657420737475636b206f6e6c7920696e20686f73740a2020202020202f2f7468697320657370656369616c6c792068617070656e7320696e206361736573206c696b650a2020202020202f2f75726c2e7265736f6c76654f626a65637428276d61696c746f3a6c6f63616c3140646f6d61696e31272c20276c6f63616c3240646f6d61696e3227290a2020202020207661722061757468496e486f7374203d20726573756c742e686f737420262620726573756c742e686f73742e696e6465784f662827402729203e2030203f0a2020202020202020202020202020202020202020202020726573756c742e686f73742e73706c69742827402729203a2066616c73653b0a2020202020206966202861757468496e486f737429207b0a2020202020202020726573756c742e61757468203d2061757468496e486f73742e736869667428293b0a2020202020202020726573756c742e686f7374203d20726573756c742e686f73746e616d65203d2061757468496e486f73742e736869667428293b0a2020202020207d0a202020207d0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a202020202f2f746f20737570706f727420687474702e726571756573740a2020202069662028217574696c2e69734e756c6c28726573756c742e706174686e616d6529207c7c20217574696c2e69734e756c6c28726573756c742e7365617263682929207b0a202020202020726573756c742e70617468203d2028726573756c742e706174686e616d65203f20726573756c742e706174686e616d65203a20272729202b0a202020202020202020202020202020202020202028726573756c742e736561726368203f20726573756c742e736561726368203a202727293b0a202020207d0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20206966202821737263506174682e6c656e67746829207b0a202020202f2f206e6f207061746820617420616c6c2e2020656173792e0a202020202f2f20776527766520616c72656164792068616e646c656420746865206f746865722073747566662061626f76652e0a20202020726573756c742e706174686e616d65203d206e756c6c3b0a202020202f2f746f20737570706f727420687474702e726571756573740a2020202069662028726573756c742e73656172636829207b0a202020202020726573756c742e70617468203d20272f27202b20726573756c742e7365617263683b0a202020207d20656c7365207b0a202020202020726573756c742e70617468203d206e756c6c3b0a202020207d0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2f20696620612075726c20454e447320696e202e206f72202e2e2c207468656e206974206d75737420676574206120747261696c696e6720736c6173682e0a20202f2f20686f77657665722c20696620697420656e647320696e20616e797468696e6720656c7365206e6f6e2d736c617368792c0a20202f2f207468656e206974206d757374204e4f5420676574206120747261696c696e6720736c6173682e0a2020766172206c617374203d20737263506174682e736c696365282d31295b305d3b0a202076617220686173547261696c696e67536c617368203d20280a20202020202028726573756c742e686f7374207c7c2072656c61746976652e686f7374207c7c20737263506174682e6c656e677468203e2031292026260a202020202020286c617374203d3d3d20272e27207c7c206c617374203d3d3d20272e2e2729207c7c206c617374203d3d3d202727293b0a0a20202f2f2073747269702073696e676c6520646f74732c207265736f6c766520646f75626c6520646f747320746f20706172656e74206469720a20202f2f20696620746865207061746820747269657320746f20676f2061626f76652074686520726f6f742c206075706020656e6473207570203e20300a2020766172207570203d20303b0a2020666f7220287661722069203d20737263506174682e6c656e6774683b2069203e3d20303b20692d2d29207b0a202020206c617374203d20737263506174685b695d3b0a20202020696620286c617374203d3d3d20272e2729207b0a202020202020737263506174682e73706c69636528692c2031293b0a202020207d20656c736520696620286c617374203d3d3d20272e2e2729207b0a202020202020737263506174682e73706c69636528692c2031293b0a20202020202075702b2b3b0a202020207d20656c73652069662028757029207b0a202020202020737263506174682e73706c69636528692c2031293b0a20202020202075702d2d3b0a202020207d0a20207d0a0a20202f2f20696620746865207061746820697320616c6c6f77656420746f20676f2061626f76652074686520726f6f742c20726573746f7265206c656164696e67202e2e730a202069662028216d757374456e64416273202626202172656d6f7665416c6c446f747329207b0a20202020666f7220283b2075702d2d3b20757029207b0a202020202020737263506174682e756e736869667428272e2e27293b0a202020207d0a20207d0a0a2020696620286d757374456e6441627320262620737263506174685b305d20213d3d2027272026260a2020202020202821737263506174685b305d207c7c20737263506174685b305d2e63686172417428302920213d3d20272f272929207b0a20202020737263506174682e756e7368696674282727293b0a20207d0a0a202069662028686173547261696c696e67536c6173682026262028737263506174682e6a6f696e28272f27292e737562737472282d312920213d3d20272f272929207b0a20202020737263506174682e70757368282727293b0a20207d0a0a20207661722069734162736f6c757465203d20737263506174685b305d203d3d3d202727207c7c0a20202020202028737263506174685b305d20262620737263506174685b305d2e636861724174283029203d3d3d20272f27293b0a0a20202f2f207075742074686520686f7374206261636b0a20206966202870737963686f74696329207b0a20202020726573756c742e686f73746e616d65203d20726573756c742e686f7374203d2069734162736f6c757465203f202727203a0a202020202020202020202020202020202020202020202020202020202020202020202020737263506174682e6c656e677468203f20737263506174682e73686966742829203a2027273b0a202020202f2f6f63636174696f6e616c792074686520617574682063616e2067657420737475636b206f6e6c7920696e20686f73740a202020202f2f7468697320657370656369616c6c792068617070656e7320696e206361736573206c696b650a202020202f2f75726c2e7265736f6c76654f626a65637428276d61696c746f3a6c6f63616c3140646f6d61696e31272c20276c6f63616c3240646f6d61696e3227290a202020207661722061757468496e486f7374203d20726573756c742e686f737420262620726573756c742e686f73742e696e6465784f662827402729203e2030203f0a202020202020202020202020202020202020202020726573756c742e686f73742e73706c69742827402729203a2066616c73653b0a202020206966202861757468496e486f737429207b0a202020202020726573756c742e61757468203d2061757468496e486f73742e736869667428293b0a202020202020726573756c742e686f7374203d20726573756c742e686f73746e616d65203d2061757468496e486f73742e736869667428293b0a202020207d0a20207d0a0a20206d757374456e64416273203d206d757374456e64416273207c7c2028726573756c742e686f737420262620737263506174682e6c656e677468293b0a0a2020696620286d757374456e64416273202626202169734162736f6c75746529207b0a20202020737263506174682e756e7368696674282727293b0a20207d0a0a20206966202821737263506174682e6c656e67746829207b0a20202020726573756c742e706174686e616d65203d206e756c6c3b0a20202020726573756c742e70617468203d206e756c6c3b0a20207d20656c7365207b0a20202020726573756c742e706174686e616d65203d20737263506174682e6a6f696e28272f27293b0a20207d0a0a20202f2f746f20737570706f727420726571756573742e687474700a202069662028217574696c2e69734e756c6c28726573756c742e706174686e616d6529207c7c20217574696c2e69734e756c6c28726573756c742e7365617263682929207b0a20202020726573756c742e70617468203d2028726573756c742e706174686e616d65203f20726573756c742e706174686e616d65203a20272729202b0a20202020202020202020202020202020202028726573756c742e736561726368203f20726573756c742e736561726368203a202727293b0a20207d0a2020726573756c742e61757468203d2072656c61746976652e61757468207c7c20726573756c742e617574683b0a2020726573756c742e736c6173686573203d20726573756c742e736c6173686573207c7c2072656c61746976652e736c61736865733b0a2020726573756c742e68726566203d20726573756c742e666f726d617428293b0a202072657475726e20726573756c743b0a7d3b0a0a55726c2e70726f746f747970652e7061727365486f7374203d2066756e6374696f6e2829207b0a202076617220686f7374203d20746869732e686f73743b0a202076617220706f7274203d20706f72745061747465726e2e6578656328686f7374293b0a202069662028706f727429207b0a20202020706f7274203d20706f72745b305d3b0a2020202069662028706f727420213d3d20273a2729207b0a202020202020746869732e706f7274203d20706f72742e7375627374722831293b0a202020207d0a20202020686f7374203d20686f73742e73756273747228302c20686f73742e6c656e677468202d20706f72742e6c656e677468293b0a20207d0a202069662028686f73742920746869732e686f73746e616d65203d20686f73743b0a7d3b0a0a7d2c7b222e2f7574696c223a33362c2270756e79636f6465223a3132362c227175657279737472696e67223a3132397d5d2c33363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d207b0a20206973537472696e673a2066756e6374696f6e2861726729207b0a2020202072657475726e20747970656f662861726729203d3d3d2027737472696e67273b0a20207d2c0a202069734f626a6563743a2066756e6374696f6e2861726729207b0a2020202072657475726e20747970656f662861726729203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a20207d2c0a202069734e756c6c3a2066756e6374696f6e2861726729207b0a2020202072657475726e20617267203d3d3d206e756c6c3b0a20207d2c0a202069734e756c6c4f72556e646566696e65643a2066756e6374696f6e2861726729207b0a2020202072657475726e20617267203d3d206e756c6c3b0a20207d0a7d3b0a0a7d2c7b7d5d2c33373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a202022313030223a2022436f6e74696e7565222c0a202022313031223a2022537769746368696e672050726f746f636f6c73222c0a202022313032223a202250726f63657373696e67222c0a202022323030223a20224f4b222c0a202022323031223a202243726561746564222c0a202022323032223a20224163636570746564222c0a202022323033223a20224e6f6e2d417574686f726974617469766520496e666f726d6174696f6e222c0a202022323034223a20224e6f20436f6e74656e74222c0a202022323035223a2022526573657420436f6e74656e74222c0a202022323036223a20225061727469616c20436f6e74656e74222c0a202022323037223a20224d756c74692d537461747573222c0a202022323038223a2022416c7265616479205265706f72746564222c0a202022323236223a2022494d2055736564222c0a202022333030223a20224d756c7469706c652043686f69636573222c0a202022333031223a20224d6f766564205065726d616e656e746c79222c0a202022333032223a2022466f756e64222c0a202022333033223a2022536565204f74686572222c0a202022333034223a20224e6f74204d6f646966696564222c0a202022333035223a20225573652050726f7879222c0a202022333037223a202254656d706f72617279205265646972656374222c0a202022333038223a20225065726d616e656e74205265646972656374222c0a202022343030223a20224261642052657175657374222c0a202022343031223a2022556e617574686f72697a6564222c0a202022343032223a20225061796d656e74205265717569726564222c0a202022343033223a2022466f7262696464656e222c0a202022343034223a20224e6f7420466f756e64222c0a202022343035223a20224d6574686f64204e6f7420416c6c6f776564222c0a202022343036223a20224e6f742041636365707461626c65222c0a202022343037223a202250726f78792041757468656e7469636174696f6e205265717569726564222c0a202022343038223a2022526571756573742054696d656f7574222c0a202022343039223a2022436f6e666c696374222c0a202022343130223a2022476f6e65222c0a202022343131223a20224c656e677468205265717569726564222c0a202022343132223a2022507265636f6e646974696f6e204661696c6564222c0a202022343133223a20225061796c6f616420546f6f204c61726765222c0a202022343134223a202255524920546f6f204c6f6e67222c0a202022343135223a2022556e737570706f72746564204d656469612054797065222c0a202022343136223a202252616e6765204e6f74205361746973666961626c65222c0a202022343137223a20224578706563746174696f6e204661696c6564222c0a202022343138223a202249276d206120746561706f74222c0a202022343231223a20224d697364697265637465642052657175657374222c0a202022343232223a2022556e70726f6365737361626c6520456e74697479222c0a202022343233223a20224c6f636b6564222c0a202022343234223a20224661696c656420446570656e64656e6379222c0a202022343235223a2022556e6f72646572656420436f6c6c656374696f6e222c0a202022343236223a202255706772616465205265717569726564222c0a202022343238223a2022507265636f6e646974696f6e205265717569726564222c0a202022343239223a2022546f6f204d616e79205265717565737473222c0a202022343331223a20225265717565737420486561646572204669656c647320546f6f204c61726765222c0a202022343531223a2022556e617661696c61626c6520466f72204c6567616c20526561736f6e73222c0a202022353030223a2022496e7465726e616c20536572766572204572726f72222c0a202022353031223a20224e6f7420496d706c656d656e746564222c0a202022353032223a20224261642047617465776179222c0a202022353033223a20225365727669636520556e617661696c61626c65222c0a202022353034223a2022476174657761792054696d656f7574222c0a202022353035223a2022485454502056657273696f6e204e6f7420537570706f72746564222c0a202022353036223a202256617269616e7420416c736f204e65676f746961746573222c0a202022353037223a2022496e73756666696369656e742053746f72616765222c0a202022353038223a20224c6f6f70204465746563746564222c0a202022353039223a202242616e647769647468204c696d6974204578636565646564222c0a202022353130223a20224e6f7420457874656e646564222c0a202022353131223a20224e6574776f726b2041757468656e7469636174696f6e205265717569726564220a7d0a0a7d2c7b7d5d2c33383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028427566666572297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f204e4f54453a205468657365207479706520636865636b696e672066756e6374696f6e7320696e74656e74696f6e616c6c7920646f6e2774207573652060696e7374616e63656f66600a2f2f20626563617573652069742069732066726167696c6520616e642063616e20626520656173696c792066616b6564207769746820604f626a6563742e6372656174652829602e0a0a66756e6374696f6e20697341727261792861726729207b0a20206966202841727261792e6973417272617929207b0a2020202072657475726e2041727261792e6973417272617928617267293b0a20207d0a202072657475726e206f626a656374546f537472696e672861726729203d3d3d20275b6f626a6563742041727261795d273b0a7d0a6578706f7274732e69734172726179203d20697341727261793b0a0a66756e6374696f6e206973426f6f6c65616e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d2027626f6f6c65616e273b0a7d0a6578706f7274732e6973426f6f6c65616e203d206973426f6f6c65616e3b0a0a66756e6374696f6e2069734e756c6c2861726729207b0a202072657475726e20617267203d3d3d206e756c6c3b0a7d0a6578706f7274732e69734e756c6c203d2069734e756c6c3b0a0a66756e6374696f6e2069734e756c6c4f72556e646566696e65642861726729207b0a202072657475726e20617267203d3d206e756c6c3b0a7d0a6578706f7274732e69734e756c6c4f72556e646566696e6564203d2069734e756c6c4f72556e646566696e65643b0a0a66756e6374696f6e2069734e756d6265722861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276e756d626572273b0a7d0a6578706f7274732e69734e756d626572203d2069734e756d6265723b0a0a66756e6374696f6e206973537472696e672861726729207b0a202072657475726e20747970656f6620617267203d3d3d2027737472696e67273b0a7d0a6578706f7274732e6973537472696e67203d206973537472696e673b0a0a66756e6374696f6e20697353796d626f6c2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202773796d626f6c273b0a7d0a6578706f7274732e697353796d626f6c203d20697353796d626f6c3b0a0a66756e6374696f6e206973556e646566696e65642861726729207b0a202072657475726e20617267203d3d3d20766f696420303b0a7d0a6578706f7274732e6973556e646566696e6564203d206973556e646566696e65643b0a0a66756e6374696f6e20697352656745787028726529207b0a202072657475726e206f626a656374546f537472696e6728726529203d3d3d20275b6f626a656374205265674578705d273b0a7d0a6578706f7274732e6973526567457870203d2069735265674578703b0a0a66756e6374696f6e2069734f626a6563742861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a7d0a6578706f7274732e69734f626a656374203d2069734f626a6563743b0a0a66756e6374696f6e20697344617465286429207b0a202072657475726e206f626a656374546f537472696e67286429203d3d3d20275b6f626a65637420446174655d273b0a7d0a6578706f7274732e697344617465203d206973446174653b0a0a66756e6374696f6e2069734572726f72286529207b0a202072657475726e20286f626a656374546f537472696e67286529203d3d3d20275b6f626a656374204572726f725d27207c7c206520696e7374616e63656f66204572726f72293b0a7d0a6578706f7274732e69734572726f72203d2069734572726f723b0a0a66756e6374696f6e20697346756e6374696f6e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202766756e6374696f6e273b0a7d0a6578706f7274732e697346756e6374696f6e203d20697346756e6374696f6e3b0a0a66756e6374696f6e2069735072696d69746976652861726729207b0a202072657475726e20617267203d3d3d206e756c6c207c7c0a202020202020202020747970656f6620617267203d3d3d2027626f6f6c65616e27207c7c0a202020202020202020747970656f6620617267203d3d3d20276e756d62657227207c7c0a202020202020202020747970656f6620617267203d3d3d2027737472696e6727207c7c0a202020202020202020747970656f6620617267203d3d3d202773796d626f6c27207c7c20202f2f204553362073796d626f6c0a202020202020202020747970656f6620617267203d3d3d2027756e646566696e6564273b0a7d0a6578706f7274732e69735072696d6974697665203d2069735072696d69746976653b0a0a6578706f7274732e6973427566666572203d204275666665722e69734275666665723b0a0a66756e6374696f6e206f626a656374546f537472696e67286f29207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c286f293b0a7d0a0a7d292e63616c6c28746869732c7b226973427566666572223a7265717569726528222e2e2f2e2e2f69732d6275666665722f696e6465782e6a7322297d290a7d2c7b222e2e2f2e2e2f69732d6275666665722f696e6465782e6a73223a3132327d5d2c33393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d61727261792f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220617363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d3b0a0a766172206269736563746f72203d2066756e6374696f6e28636f6d7061726529207b0a202069662028636f6d706172652e6c656e677468203d3d3d20312920636f6d70617265203d20617363656e64696e67436f6d70617261746f7228636f6d70617265293b0a202072657475726e207b0a202020206c6566743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203c203029206c6f203d206d6964202b20313b0a2020202020202020656c7365206869203d206d69643b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d2c0a2020202072696768743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203e203029206869203d206d69643b0a2020202020202020656c7365206c6f203d206d6964202b20313b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d0a20207d3b0a7d3b0a0a66756e6374696f6e20617363656e64696e67436f6d70617261746f72286629207b0a202072657475726e2066756e6374696f6e28642c207829207b0a2020202072657475726e20617363656e64696e6728662864292c2078293b0a20207d3b0a7d0a0a76617220617363656e64696e67426973656374203d206269736563746f7228617363656e64696e67293b0a766172206269736563745269676874203d20617363656e64696e674269736563742e72696768743b0a766172206269736563744c656674203d20617363656e64696e674269736563742e6c6566743b0a0a766172207061697273203d2066756e6374696f6e2861727261792c206629207b0a20206966202866203d3d206e756c6c292066203d20706169723b0a20207661722069203d20302c206e203d2061727261792e6c656e677468202d20312c2070203d2061727261795b305d2c207061697273203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e292070616972735b695d203d206628702c2070203d2061727261795b2b2b695d293b0a202072657475726e2070616972733b0a7d3b0a0a66756e6374696f6e207061697228612c206229207b0a202072657475726e205b612c20625d3b0a7d0a0a7661722063726f7373203d2066756e6374696f6e2876616c756573302c2076616c756573312c2072656475636529207b0a2020766172206e30203d2076616c756573302e6c656e6774682c0a2020202020206e31203d2076616c756573312e6c656e6774682c0a20202020202076616c756573203d206e6577204172726179286e30202a206e31292c0a20202020202069302c0a20202020202069312c0a202020202020692c0a20202020202076616c7565303b0a0a202069662028726564756365203d3d206e756c6c2920726564756365203d20706169723b0a0a2020666f7220286930203d2069203d20303b206930203c206e303b202b2b693029207b0a20202020666f72202876616c756530203d2076616c756573305b69305d2c206931203d20303b206931203c206e313b202b2b69312c202b2b6929207b0a20202020202076616c7565735b695d203d207265647563652876616c7565302c2076616c756573315b69315d293b0a202020207d0a20207d0a0a202072657475726e2076616c7565733b0a7d3b0a0a7661722064657363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e287829207b0a202072657475726e2078203d3d3d206e756c6c203f204e614e203a202b783b0a7d3b0a0a7661722076617269616e6365203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d20302c0a20202020202069203d202d312c0a2020202020206d65616e203d20302c0a20202020202076616c75652c0a20202020202064656c74612c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020696620286d203e2031292072657475726e2073756d202f20286d202d2031293b0a7d3b0a0a76617220646576696174696f6e203d2066756e6374696f6e2861727261792c206629207b0a20207661722076203d2076617269616e63652861727261792c2066293b0a202072657475726e2076203f204d6174682e73717274287629203a20763b0a7d3b0a0a76617220657874656e74203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e2c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e205b6d696e2c206d61785d3b0a7d3b0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a76617220736c696365203d2061727261792e736c6963653b0a766172206d6170203d2061727261792e6d61703b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a7661722072616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a20207374617274203d202b73746172742c2073746f70203d202b73746f702c2073746570203d20286e203d20617267756d656e74732e6c656e67746829203c2032203f202873746f70203d2073746172742c207374617274203d20302c203129203a206e203c2033203f2031203a202b737465703b0a0a20207661722069203d202d312c0a2020202020206e203d204d6174682e6d617828302c204d6174682e6365696c282873746f70202d20737461727429202f20737465702929207c20302c0a20202020202072616e6765203d206e6577204172726179286e293b0a0a20207768696c6520282b2b69203c206e29207b0a2020202072616e67655b695d203d207374617274202b2069202a20737465703b0a20207d0a0a202072657475726e2072616e67653b0a7d3b0a0a76617220653130203d204d6174682e73717274283530293b0a766172206535203d204d6174682e73717274283130293b0a766172206532203d204d6174682e737172742832293b0a0a766172207469636b73203d2066756e6374696f6e2873746172742c2073746f702c20636f756e7429207b0a202076617220726576657273652c0a20202020202069203d202d312c0a2020202020206e2c0a2020202020207469636b732c0a202020202020737465703b0a0a202073746f70203d202b73746f702c207374617274203d202b73746172742c20636f756e74203d202b636f756e743b0a2020696620287374617274203d3d3d2073746f7020262620636f756e74203e2030292072657475726e205b73746172745d3b0a20206966202872657665727365203d2073746f70203c20737461727429206e203d2073746172742c207374617274203d2073746f702c2073746f70203d206e3b0a2020696620282873746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e742929203d3d3d2030207c7c2021697346696e697465287374657029292072657475726e205b5d3b0a0a20206966202873746570203e203029207b0a202020207374617274203d204d6174682e6365696c287374617274202f2073746570293b0a2020202073746f70203d204d6174682e666c6f6f722873746f70202f2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c2873746f70202d207374617274202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202b206929202a20737465703b0a20207d20656c7365207b0a202020207374617274203d204d6174682e666c6f6f72287374617274202a2073746570293b0a2020202073746f70203d204d6174682e6365696c2873746f70202a2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c287374617274202d2073746f70202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202d206929202f20737465703b0a20207d0a0a2020696620287265766572736529207469636b732e7265766572736528293b0a0a202072657475726e207469636b733b0a7d3b0a0a66756e6374696f6e207469636b496e6372656d656e742873746172742c2073746f702c20636f756e7429207b0a20207661722073746570203d202873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a202020202020706f776572203d204d6174682e666c6f6f72284d6174682e6c6f67287374657029202f204d6174682e4c4e3130292c0a2020202020206572726f72203d2073746570202f204d6174682e706f772831302c20706f776572293b0a202072657475726e20706f776572203e3d20300a2020202020203f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a203129202a204d6174682e706f772831302c20706f776572290a2020202020203a202d4d6174682e706f772831302c202d706f77657229202f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a2031293b0a7d0a0a66756e6374696f6e207469636b537465702873746172742c2073746f702c20636f756e7429207b0a2020766172207374657030203d204d6174682e6162732873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a2020202020207374657031203d204d6174682e706f772831302c204d6174682e666c6f6f72284d6174682e6c6f6728737465703029202f204d6174682e4c4e313029292c0a2020202020206572726f72203d207374657030202f2073746570313b0a2020696620286572726f72203e3d2065313029207374657031202a3d2031303b0a2020656c736520696620286572726f72203e3d20653529207374657031202a3d20353b0a2020656c736520696620286572726f72203e3d20653229207374657031202a3d20323b0a202072657475726e2073746f70203c207374617274203f202d7374657031203a2073746570313b0a7d0a0a7661722073747572676573203d2066756e6374696f6e2876616c75657329207b0a202072657475726e204d6174682e6365696c284d6174682e6c6f672876616c7565732e6c656e67746829202f204d6174682e4c4e3229202b20313b0a7d3b0a0a76617220686973746f6772616d203d2066756e6374696f6e2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020646f6d61696e203d20657874656e742c0a2020202020207468726573686f6c64203d20737475726765733b0a0a202066756e6374696f6e20686973746f6772616d286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020782c0a202020202020202076616c756573203d206e6577204172726179286e293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202076616c7565735b695d203d2076616c756528646174615b695d2c20692c2064617461293b0a202020207d0a0a2020202076617220787a203d20646f6d61696e2876616c756573292c0a20202020202020207830203d20787a5b305d2c0a20202020202020207831203d20787a5b315d2c0a2020202020202020747a203d207468726573686f6c642876616c7565732c2078302c207831293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a202020202020747a203d207469636b537465702878302c2078312c20747a293b0a202020202020747a203d2072616e6765284d6174682e6365696c287830202f20747a29202a20747a2c204d6174682e666c6f6f72287831202f20747a29202a20747a2c20747a293b202f2f206578636c75736976650a202020207d0a0a202020202f2f2052656d6f766520616e79207468726573686f6c6473206f7574736964652074686520646f6d61696e2e0a20202020766172206d203d20747a2e6c656e6774683b0a202020207768696c652028747a5b305d203c3d2078302920747a2e736869667428292c202d2d6d3b0a202020207768696c652028747a5b6d202d20315d203e2078312920747a2e706f7028292c202d2d6d3b0a0a202020207661722062696e73203d206e6577204172726179286d202b2031292c0a202020202020202062696e3b0a0a202020202f2f20496e697469616c697a652062696e732e0a20202020666f72202869203d20303b2069203c3d206d3b202b2b6929207b0a20202020202062696e203d2062696e735b695d203d205b5d3b0a20202020202062696e2e7830203d2069203e2030203f20747a5b69202d20315d203a2078303b0a20202020202062696e2e7831203d2069203c206d203f20747a5b695d203a2078313b0a202020207d0a0a202020202f2f2041737369676e206461746120746f2062696e732062792076616c75652c2069676e6f72696e6720616e79206f7574736964652074686520646f6d61696e2e0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202078203d2076616c7565735b695d3b0a202020202020696620287830203c3d20782026262078203c3d20783129207b0a202020202020202062696e735b626973656374526967687428747a2c20782c20302c206d295d2e7075736828646174615b695d293b0a2020202020207d0a202020207d0a0a2020202072657475726e2062696e733b0a20207d0a0a2020686973746f6772616d2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c20686973746f6772616d29203a2076616c75653b0a20207d3b0a0a2020686973746f6772616d2e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5f5b305d2c205f5b315d5d292c20686973746f6772616d29203a20646f6d61696e3b0a20207d3b0a0a2020686973746f6772616d2e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e7428736c6963652e63616c6c285f2929203a20636f6e7374616e74285f292c20686973746f6772616d29203a207468726573686f6c643b0a20207d3b0a0a202072657475726e20686973746f6772616d3b0a7d3b0a0a766172207175616e74696c65203d2066756e6374696f6e2876616c7565732c20702c2076616c75656f6629207b0a20206966202876616c75656f66203d3d206e756c6c292076616c75656f66203d206e756d6265723b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020696620282870203d202b7029203c3d2030207c7c206e203c2032292072657475726e202b76616c75656f662876616c7565735b305d2c20302c2076616c756573293b0a20206966202870203e3d2031292072657475726e202b76616c75656f662876616c7565735b6e202d20315d2c206e202d20312c2076616c756573293b0a2020766172206e2c0a20202020202069203d20286e202d203129202a20702c0a2020202020206930203d204d6174682e666c6f6f722869292c0a20202020202076616c756530203d202b76616c75656f662876616c7565735b69305d2c2069302c2076616c756573292c0a20202020202076616c756531203d202b76616c75656f662876616c7565735b6930202b20315d2c206930202b20312c2076616c756573293b0a202072657475726e2076616c756530202b202876616c756531202d2076616c75653029202a202869202d206930293b0a7d3b0a0a7661722066726565646d616e446961636f6e6973203d2066756e6374696f6e2876616c7565732c206d696e2c206d617829207b0a202076616c756573203d206d61702e63616c6c2876616c7565732c206e756d626572292e736f727428617363656e64696e67293b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f202832202a20287175616e74696c652876616c7565732c20302e373529202d207175616e74696c652876616c7565732c20302e32352929202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d3b0a0a7661722073636f7474203d2066756e6374696f6e2876616c7565732c206d696e2c206d617829207b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f2028332e35202a20646576696174696f6e2876616c75657329202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d3b0a0a766172206d6178203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d61783b0a7d3b0a0a766172206d65616e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d206e2c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d2929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c756573292929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020696620286d292072657475726e2073756d202f206d3b0a7d3b0a0a766172206d656469616e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206e756d62657273203d205b5d3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207175616e74696c65286e756d626572732e736f727428617363656e64696e67292c20302e35293b0a7d3b0a0a766172206d65726765203d2066756e6374696f6e2861727261797329207b0a2020766172206e203d206172726179732e6c656e6774682c0a2020202020206d2c0a20202020202069203d202d312c0a2020202020206a203d20302c0a2020202020206d65726765642c0a20202020202061727261793b0a0a20207768696c6520282b2b69203c206e29206a202b3d206172726179735b695d2e6c656e6774683b0a20206d6572676564203d206e6577204172726179286a293b0a0a20207768696c6520282d2d6e203e3d203029207b0a202020206172726179203d206172726179735b6e5d3b0a202020206d203d2061727261792e6c656e6774683b0a202020207768696c6520282d2d6d203e3d203029207b0a2020202020206d65726765645b2d2d6a5d203d2061727261795b6d5d3b0a202020207d0a20207d0a0a202072657475726e206d65726765643b0a7d3b0a0a766172206d696e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d696e3b0a7d3b0a0a766172207065726d757465203d2066756e6374696f6e2861727261792c20696e646578657329207b0a20207661722069203d20696e64657865732e6c656e6774682c207065726d75746573203d206e65772041727261792869293b0a20207768696c652028692d2d29207065726d757465735b695d203d2061727261795b696e64657865735b695d5d3b0a202072657475726e207065726d757465733b0a7d3b0a0a766172207363616e203d2066756e6374696f6e2876616c7565732c20636f6d7061726529207b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a2020202020206a203d20302c0a20202020202078692c0a202020202020786a203d2076616c7565735b6a5d3b0a0a202069662028636f6d70617265203d3d206e756c6c2920636f6d70617265203d20617363656e64696e673b0a0a20207768696c6520282b2b69203c206e29207b0a2020202069662028636f6d70617265287869203d2076616c7565735b695d2c20786a29203c2030207c7c20636f6d7061726528786a2c20786a2920213d3d203029207b0a202020202020786a203d2078692c206a203d20693b0a202020207d0a20207d0a0a202069662028636f6d7061726528786a2c20786a29203d3d3d2030292072657475726e206a3b0a7d3b0a0a7661722073687566666c65203d2066756e6374696f6e2861727261792c2069302c20693129207b0a2020766172206d203d20286931203d3d206e756c6c203f2061727261792e6c656e677468203a20693129202d20286930203d206930203d3d206e756c6c203f2030203a202b6930292c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d202b2069305d3b0a2020202061727261795b6d202b2069305d203d2061727261795b69202b2069305d3b0a2020202061727261795b69202b2069305d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d3b0a0a7661722073756d203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c7565735b695d292073756d202b3d2076616c75653b202f2f204e6f74653a207a65726f20616e64206e756c6c20617265206571756976616c656e742e0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c75656f662876616c7565735b695d2c20692c2076616c75657329292073756d202b3d2076616c75653b0a202020207d0a20207d0a0a202072657475726e2073756d3b0a7d3b0a0a766172207472616e73706f7365203d2066756e6374696f6e286d617472697829207b0a20206966202821286e203d206d61747269782e6c656e67746829292072657475726e205b5d3b0a2020666f7220287661722069203d202d312c206d203d206d696e286d61747269782c206c656e677468292c207472616e73706f7365203d206e6577204172726179286d293b202b2b69203c206d3b29207b0a20202020666f722028766172206a203d202d312c206e2c20726f77203d207472616e73706f73655b695d203d206e6577204172726179286e293b202b2b6a203c206e3b29207b0a202020202020726f775b6a5d203d206d61747269785b6a5d5b695d3b0a202020207d0a20207d0a202072657475726e207472616e73706f73653b0a7d3b0a0a66756e6374696f6e206c656e677468286429207b0a202072657475726e20642e6c656e6774683b0a7d0a0a766172207a6970203d2066756e6374696f6e2829207b0a202072657475726e207472616e73706f736528617267756d656e7473293b0a7d3b0a0a6578706f7274732e626973656374203d2062697365637452696768743b0a6578706f7274732e6269736563745269676874203d2062697365637452696768743b0a6578706f7274732e6269736563744c656674203d206269736563744c6566743b0a6578706f7274732e617363656e64696e67203d20617363656e64696e673b0a6578706f7274732e6269736563746f72203d206269736563746f723b0a6578706f7274732e63726f7373203d2063726f73733b0a6578706f7274732e64657363656e64696e67203d2064657363656e64696e673b0a6578706f7274732e646576696174696f6e203d20646576696174696f6e3b0a6578706f7274732e657874656e74203d20657874656e743b0a6578706f7274732e686973746f6772616d203d20686973746f6772616d3b0a6578706f7274732e7468726573686f6c6446726565646d616e446961636f6e6973203d2066726565646d616e446961636f6e69733b0a6578706f7274732e7468726573686f6c6453636f7474203d2073636f74743b0a6578706f7274732e7468726573686f6c6453747572676573203d20737475726765733b0a6578706f7274732e6d6178203d206d61783b0a6578706f7274732e6d65616e203d206d65616e3b0a6578706f7274732e6d656469616e203d206d656469616e3b0a6578706f7274732e6d65726765203d206d657267653b0a6578706f7274732e6d696e203d206d696e3b0a6578706f7274732e7061697273203d2070616972733b0a6578706f7274732e7065726d757465203d207065726d7574653b0a6578706f7274732e7175616e74696c65203d207175616e74696c653b0a6578706f7274732e72616e6765203d2072616e67653b0a6578706f7274732e7363616e203d207363616e3b0a6578706f7274732e73687566666c65203d2073687566666c653b0a6578706f7274732e73756d203d2073756d3b0a6578706f7274732e7469636b73203d207469636b733b0a6578706f7274732e7469636b496e6372656d656e74203d207469636b496e6372656d656e743b0a6578706f7274732e7469636b53746570203d207469636b537465703b0a6578706f7274732e7472616e73706f7365203d207472616e73706f73653b0a6578706f7274732e76617269616e6365203d2076617269616e63653b0a6578706f7274732e7a6970203d207a69703b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d617869732f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a76617220746f70203d20313b0a766172207269676874203d20323b0a76617220626f74746f6d203d20333b0a766172206c656674203d20343b0a76617220657073696c6f6e203d2031652d363b0a0a66756e6374696f6e207472616e736c61746558287829207b0a202072657475726e20227472616e736c6174652822202b202878202b20302e3529202b20222c3029223b0a7d0a0a66756e6374696f6e207472616e736c61746559287929207b0a202072657475726e20227472616e736c61746528302c22202b202879202b20302e3529202b202229223b0a7d0a0a66756e6374696f6e206e756d626572287363616c6529207b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c652864293b0a20207d3b0a7d0a0a66756e6374696f6e2063656e746572287363616c6529207b0a2020766172206f6666736574203d204d6174682e6d617828302c207363616c652e62616e6477696474682829202d203129202f20323b202f2f2041646a75737420666f7220302e357078206f66667365742e0a2020696620287363616c652e726f756e64282929206f6666736574203d204d6174682e726f756e64286f6666736574293b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c65286429202b206f66667365743b0a20207d3b0a7d0a0a66756e6374696f6e20656e746572696e672829207b0a202072657475726e2021746869732e5f5f617869733b0a7d0a0a66756e6374696f6e2061786973286f7269656e742c207363616c6529207b0a2020766172207469636b417267756d656e7473203d205b5d2c0a2020202020207469636b56616c756573203d206e756c6c2c0a2020202020207469636b466f726d6174203d206e756c6c2c0a2020202020207469636b53697a65496e6e6572203d20362c0a2020202020207469636b53697a654f75746572203d20362c0a2020202020207469636b50616464696e67203d20332c0a2020202020206b203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d206c656674203f202d31203a20312c0a20202020202078203d206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d3d207269676874203f20227822203a202279222c0a2020202020207472616e73666f726d203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d20626f74746f6d203f207472616e736c61746558203a207472616e736c617465593b0a0a202066756e6374696f6e206178697328636f6e7465787429207b0a202020207661722076616c756573203d207469636b56616c756573203d3d206e756c6c203f20287363616c652e7469636b73203f207363616c652e7469636b732e6170706c79287363616c652c207469636b417267756d656e747329203a207363616c652e646f6d61696e282929203a207469636b56616c7565732c0a2020202020202020666f726d6174203d207469636b466f726d6174203d3d206e756c6c203f20287363616c652e7469636b466f726d6174203f207363616c652e7469636b466f726d61742e6170706c79287363616c652c207469636b417267756d656e747329203a206964656e7469747929203a207469636b466f726d61742c0a202020202020202073706163696e67203d204d6174682e6d6178287469636b53697a65496e6e65722c203029202b207469636b50616464696e672c0a202020202020202072616e6765203d207363616c652e72616e676528292c0a202020202020202072616e676530203d202b72616e67655b305d202b20302e352c0a202020202020202072616e676531203d202b72616e67655b72616e67652e6c656e677468202d20315d202b20302e352c0a2020202020202020706f736974696f6e203d20287363616c652e62616e647769647468203f2063656e746572203a206e756d62657229287363616c652e636f70792829292c0a202020202020202073656c656374696f6e203d20636f6e746578742e73656c656374696f6e203f20636f6e746578742e73656c656374696f6e2829203a20636f6e746578742c0a202020202020202070617468203d2073656c656374696f6e2e73656c656374416c6c28222e646f6d61696e22292e64617461285b6e756c6c5d292c0a20202020202020207469636b203d2073656c656374696f6e2e73656c656374416c6c28222e7469636b22292e646174612876616c7565732c207363616c65292e6f7264657228292c0a20202020202020207469636b45786974203d207469636b2e6578697428292c0a20202020202020207469636b456e746572203d207469636b2e656e74657228292e617070656e6428226722292e617474722822636c617373222c20227469636b22292c0a20202020202020206c696e65203d207469636b2e73656c65637428226c696e6522292c0a202020202020202074657874203d207469636b2e73656c65637428227465787422293b0a0a2020202070617468203d20706174682e6d6572676528706174682e656e74657228292e696e73657274282270617468222c20222e7469636b22290a20202020202020202e617474722822636c617373222c2022646f6d61696e22290a20202020202020202e6174747228227374726f6b65222c2022233030302229293b0a0a202020207469636b203d207469636b2e6d65726765287469636b456e746572293b0a0a202020206c696e65203d206c696e652e6d65726765287469636b456e7465722e617070656e6428226c696e6522290a20202020202020202e6174747228227374726f6b65222c20222330303022290a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e657229293b0a0a2020202074657874203d20746578742e6d65726765287469636b456e7465722e617070656e6428227465787422290a20202020202020202e61747472282266696c6c222c20222330303022290a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e6174747228226479222c206f7269656e74203d3d3d20746f70203f202230656d22203a206f7269656e74203d3d3d20626f74746f6d203f2022302e3731656d22203a2022302e3332656d2229293b0a0a2020202069662028636f6e7465787420213d3d2073656c656374696f6e29207b0a20202020202070617468203d20706174682e7472616e736974696f6e28636f6e74657874293b0a2020202020207469636b203d207469636b2e7472616e736974696f6e28636f6e74657874293b0a2020202020206c696e65203d206c696e652e7472616e736974696f6e28636f6e74657874293b0a20202020202074657874203d20746578742e7472616e736974696f6e28636f6e74657874293b0a0a2020202020207469636b45786974203d207469636b457869742e7472616e736974696f6e28636f6e74657874290a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e20697346696e6974652864203d20706f736974696f6e28642929203f207472616e73666f726d286429203a20746869732e67657441747472696275746528227472616e73666f726d22293b207d293b0a0a2020202020207469636b456e7465720a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b207661722070203d20746869732e706172656e744e6f64652e5f5f617869733b2072657475726e207472616e73666f726d287020262620697346696e6974652870203d207028642929203f2070203a20706f736974696f6e286429293b207d293b0a202020207d0a0a202020207469636b457869742e72656d6f766528293b0a0a20202020706174680a20202020202020202e61747472282264222c206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d2072696768740a2020202020202020202020203f20224d22202b206b202a207469636b53697a654f75746572202b20222c22202b2072616e676530202b202248302e355622202b2072616e676531202b20224822202b206b202a207469636b53697a654f757465720a2020202020202020202020203a20224d22202b2072616e676530202b20222c22202b206b202a207469636b53697a654f75746572202b202256302e354822202b2072616e676531202b20225622202b206b202a207469636b53697a654f75746572293b0a0a202020207469636b0a20202020202020202e6174747228226f706163697479222c2031290a20202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e207472616e73666f726d28706f736974696f6e286429293b207d293b0a0a202020206c696e650a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e6572293b0a0a20202020746578740a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e7465787428666f726d6174293b0a0a2020202073656c656374696f6e2e66696c74657228656e746572696e67290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822666f6e742d73697a65222c203130290a20202020202020202e617474722822666f6e742d66616d696c79222c202273616e732d736572696622290a20202020202020202e617474722822746578742d616e63686f72222c206f7269656e74203d3d3d207269676874203f2022737461727422203a206f7269656e74203d3d3d206c656674203f2022656e6422203a20226d6964646c6522293b0a0a2020202073656c656374696f6e0a20202020202020202e656163682866756e6374696f6e2829207b20746869732e5f5f61786973203d20706f736974696f6e3b207d293b0a20207d0a0a2020617869732e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65203d205f2c206178697329203a207363616c653b0a20207d3b0a0a2020617869732e7469636b73203d2066756e6374696f6e2829207b0a2020202072657475726e207469636b417267756d656e7473203d20736c6963652e63616c6c28617267756d656e7473292c20617869733b0a20207d3b0a0a2020617869732e7469636b417267756d656e7473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b417267756d656e7473203d205f203d3d206e756c6c203f205b5d203a20736c6963652e63616c6c285f292c206178697329203a207469636b417267756d656e74732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b56616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b56616c756573203d205f203d3d206e756c6c203f206e756c6c203a20736c6963652e63616c6c285f292c206178697329203a207469636b56616c756573202626207469636b56616c7565732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b466f726d6174203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b466f726d6174203d205f2c206178697329203a207469636b466f726d61743b0a20207d3b0a0a2020617869732e7469636b53697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d207469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a65496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a654f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a654f757465723b0a20207d3b0a0a2020617869732e7469636b50616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b50616464696e67203d202b5f2c206178697329203a207469636b50616464696e673b0a20207d3b0a0a202072657475726e20617869733b0a7d0a0a66756e6374696f6e2061786973546f70287363616c6529207b0a202072657475726e206178697328746f702c207363616c65293b0a7d0a0a66756e6374696f6e20617869735269676874287363616c6529207b0a202072657475726e20617869732872696768742c207363616c65293b0a7d0a0a66756e6374696f6e2061786973426f74746f6d287363616c6529207b0a202072657475726e206178697328626f74746f6d2c207363616c65293b0a7d0a0a66756e6374696f6e20617869734c656674287363616c6529207b0a202072657475726e2061786973286c6566742c207363616c65293b0a7d0a0a6578706f7274732e61786973546f70203d2061786973546f703b0a6578706f7274732e617869735269676874203d206178697352696768743b0a6578706f7274732e61786973426f74746f6d203d2061786973426f74746f6d3b0a6578706f7274732e617869734c656674203d20617869734c6566743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d62727573682f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d6472616727292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d7472616e736974696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d64726167272c202764332d696e746572706f6c617465272c202764332d73656c656374696f6e272c202764332d7472616e736974696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c6433447261672c6433496e746572706f6c6174652c643353656c656374696f6e2c64335472616e736974696f6e29207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a7661722042727573684576656e74203d2066756e6374696f6e287461726765742c20747970652c2073656c656374696f6e29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e73656c656374696f6e203d2073656c656374696f6e3b0a7d3b0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a766172204d4f44455f44524147203d207b6e616d653a202264726167227d3b0a766172204d4f44455f5350414345203d207b6e616d653a20227370616365227d3b0a766172204d4f44455f48414e444c45203d207b6e616d653a202268616e646c65227d3b0a766172204d4f44455f43454e544552203d207b6e616d653a202263656e746572227d3b0a0a7661722058203d207b0a20206e616d653a202278222c0a202068616e646c65733a205b2265222c202277225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28782c206529207b2072657475726e2078202626205b5b785b305d2c20655b305d5b315d5d2c205b785b315d2c20655b315d5b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b305d2c2078795b315d5b305d5d3b207d0a7d3b0a0a7661722059203d207b0a20206e616d653a202279222c0a202068616e646c65733a205b226e222c202273225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28792c206529207b2072657475726e2079202626205b5b655b305d5b305d2c20795b305d5d2c205b655b315d5b305d2c20795b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b315d2c2078795b315d5b315d5d3b207d0a7d3b0a0a766172205859203d207b0a20206e616d653a20227879222c0a202068616e646c65733a205b226e222c202265222c202273222c202277222c20226e77222c20226e65222c20227365222c20227377225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d0a7d3b0a0a76617220637572736f7273203d207b0a20206f7665726c61793a202263726f737368616972222c0a202073656c656374696f6e3a20226d6f7665222c0a20206e3a20226e732d726573697a65222c0a2020653a202265772d726573697a65222c0a2020733a20226e732d726573697a65222c0a2020773a202265772d726573697a65222c0a20206e773a20226e7773652d726573697a65222c0a20206e653a20226e6573772d726573697a65222c0a202073653a20226e7773652d726573697a65222c0a202073773a20226e6573772d726573697a65220a7d3b0a0a76617220666c697058203d207b0a2020653a202277222c0a2020773a202265222c0a20206e773a20226e65222c0a20206e653a20226e77222c0a202073653a20227377222c0a202073773a20227365220a7d3b0a0a76617220666c697059203d207b0a20206e3a202273222c0a2020733a20226e222c0a20206e773a20227377222c0a20206e653a20227365222c0a202073653a20226e65222c0a202073773a20226e77220a7d3b0a0a766172207369676e7358203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a206e756c6c2c0a2020653a202b312c0a2020733a206e756c6c2c0a2020773a202d312c0a20206e773a202d312c0a20206e653a202b312c0a202073653a202b312c0a202073773a202d310a7d3b0a0a766172207369676e7359203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a202d312c0a2020653a206e756c6c2c0a2020733a202b312c0a2020773a206e756c6c2c0a20206e773a202d312c0a20206e653a202d312c0a202073653a202b312c0a202073773a202b310a7d3b0a0a66756e6374696f6e2074797065287429207b0a202072657475726e207b747970653a20747d3b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a202076617220737667203d20746869732e6f776e6572535647456c656d656e74207c7c20746869733b0a202072657475726e205b5b302c20305d2c205b7376672e77696474682e6261736556616c2e76616c75652c207376672e6865696768742e6261736556616c2e76616c75655d5d3b0a7d0a0a2f2f204c696b652064332e6c6f63616c2c20627574207769746820746865206e616d6520e2809c5f5f6272757368e2809d20726174686572207468616e206175746f2d67656e6572617465642e0a66756e6374696f6e206c6f63616c286e6f646529207b0a20207768696c652028216e6f64652e5f5f627275736829206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a202072657475726e206e6f64652e5f5f62727573683b0a7d0a0a66756e6374696f6e20656d70747928657874656e7429207b0a202072657475726e20657874656e745b305d5b305d203d3d3d20657874656e745b315d5b305d0a2020202020207c7c20657874656e745b305d5b315d203d3d3d20657874656e745b315d5b315d3b0a7d0a0a66756e6374696f6e20627275736853656c656374696f6e286e6f646529207b0a2020766172207374617465203d206e6f64652e5f5f62727573683b0a202072657475726e207374617465203f2073746174652e64696d2e6f75747075742873746174652e73656c656374696f6e29203a206e756c6c3b0a7d0a0a66756e6374696f6e206272757368582829207b0a202072657475726e20627275736824312858293b0a7d0a0a66756e6374696f6e206272757368592829207b0a202072657475726e20627275736824312859293b0a7d0a0a766172206272757368203d2066756e6374696f6e2829207b0a202072657475726e2062727573682431285859293b0a7d3b0a0a66756e6374696f6e20627275736824312864696d29207b0a202076617220657874656e74203d2064656661756c74457874656e742c0a20202020202066696c746572203d2064656661756c7446696c7465722c0a2020202020206c697374656e657273203d20643344697370617463682e64697370617463682862727573682c20227374617274222c20226272757368222c2022656e6422292c0a20202020202068616e646c6553697a65203d20362c0a202020202020746f756368656e64696e673b0a0a202066756e6374696f6e2062727573682867726f757029207b0a20202020766172206f7665726c6179203d2067726f75700a20202020202020202e70726f706572747928225f5f6272757368222c20696e697469616c697a65290a2020202020202e73656c656374416c6c28222e6f7665726c617922290a2020202020202e64617461285b7479706528226f7665726c617922295d293b0a0a202020206f7665726c61792e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c20226f7665726c617922290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e617474722822637572736f72222c20637572736f72732e6f7665726c6179290a2020202020202e6d65726765286f7665726c6179290a20202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202076617220657874656e74203d206c6f63616c2874686973292e657874656e743b0a20202020202020202020643353656c656374696f6e2e73656c6563742874686973290a20202020202020202020202020202e61747472282278222c20657874656e745b305d5b305d290a20202020202020202020202020202e61747472282279222c20657874656e745b305d5b315d290a20202020202020202020202020202e6174747228227769647468222c20657874656e745b315d5b305d202d20657874656e745b305d5b305d290a20202020202020202020202020202e617474722822686569676874222c20657874656e745b315d5b315d202d20657874656e745b305d5b315d293b0a20202020202020207d293b0a0a2020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a2020202020202e64617461285b74797065282273656c656374696f6e22295d290a2020202020202e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c202273656c656374696f6e22290a20202020202020202e617474722822637572736f72222c20637572736f72732e73656c656374696f6e290a20202020202020202e61747472282266696c6c222c20222337373722290a20202020202020202e61747472282266696c6c2d6f706163697479222c20302e33290a20202020202020202e6174747228227374726f6b65222c20222366666622290a20202020202020202e61747472282273686170652d72656e646572696e67222c20226372697370456467657322293b0a0a202020207661722068616e646c65203d2067726f75702e73656c656374416c6c28222e68616e646c6522290a2020202020202e646174612864696d2e68616e646c65732c2066756e6374696f6e286429207b2072657475726e20642e747970653b207d293b0a0a2020202068616e646c652e6578697428292e72656d6f766528293b0a0a2020202068616e646c652e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c2066756e6374696f6e286429207b2072657475726e202268616e646c652068616e646c652d2d22202b20642e747970653b207d290a20202020202020202e617474722822637572736f72222c2066756e6374696f6e286429207b2072657475726e20637572736f72735b642e747970655d3b207d293b0a0a2020202067726f75700a20202020202020202e6561636828726564726177290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922290a20202020202020202e6f6e28226d6f757365646f776e2e627275736820746f75636873746172742e6272757368222c2073746172746564293b0a20207d0a0a202062727573682e6d6f7665203d2066756e6374696f6e2867726f75702c2073656c656374696f6e29207b0a202020206966202867726f75702e73656c656374696f6e29207b0a20202020202067726f75700a202020202020202020202e6f6e282273746172742e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e6265666f7265737461727428292e737461727428293b207d290a202020202020202020202e6f6e2822696e746572727570742e627275736820656e642e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e656e6428293b207d290a202020202020202020202e747765656e28226272757368222c2066756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292c0a2020202020202020202020202020202073656c656374696f6e30203d2073746174652e73656c656374696f6e2c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2e6170706c7928746869732c20617267756d656e747329203a2073656c656374696f6e2c2073746174652e657874656e74292c0a2020202020202020202020202020202069203d206433496e746572706f6c6174652e696e746572706f6c6174652873656c656374696f6e302c2073656c656374696f6e31293b0a0a20202020202020202020202066756e6374696f6e20747765656e287429207b0a202020202020202020202020202073746174652e73656c656374696f6e203d2074203d3d3d203120262620656d7074792873656c656374696f6e3129203f206e756c6c203a20692874293b0a20202020202020202020202020207265647261772e63616c6c2874686174293b0a2020202020202020202020202020656d69742e627275736828293b0a2020202020202020202020207d0a0a20202020202020202020202072657475726e2073656c656374696f6e302026262073656c656374696f6e31203f20747765656e203a20747765656e2831293b0a202020202020202020207d293b0a202020207d20656c7365207b0a20202020202067726f75700a202020202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a2020202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2e6170706c7928746861742c206172677329203a2073656c656374696f6e2c2073746174652e657874656e74292c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c2061726773292e6265666f7265737461727428293b0a0a20202020202020202020202064335472616e736974696f6e2e696e746572727570742874686174293b0a20202020202020202020202073746174652e73656c656374696f6e203d2073656c656374696f6e31203d3d206e756c6c207c7c20656d7074792873656c656374696f6e3129203f206e756c6c203a2073656c656374696f6e313b0a2020202020202020202020207265647261772e63616c6c2874686174293b0a202020202020202020202020656d69742e737461727428292e627275736828292e656e6428293b0a202020202020202020207d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e207265647261772829207b0a202020207661722067726f7570203d20643353656c656374696f6e2e73656c6563742874686973292c0a202020202020202073656c656374696f6e203d206c6f63616c2874686973292e73656c656374696f6e3b0a0a202020206966202873656c656374696f6e29207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2073656c656374696f6e5b305d5b305d290a202020202020202020202e61747472282279222c2073656c656374696f6e5b305d5b315d290a202020202020202020202e6174747228227769647468222c2073656c656374696f6e5b315d5b305d202d2073656c656374696f6e5b305d5b305d290a202020202020202020202e617474722822686569676874222c2073656c656374696f6e5b315d5b315d202d2073656c656374696f6e5b305d5b315d293b0a0a20202020202067726f75702e73656c656374416c6c28222e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2066756e6374696f6e286429207b2072657475726e20642e747970655b642e747970652e6c656e677468202d20315d203d3d3d20226522203f2073656c656374696f6e5b315d5b305d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e5b305d5b305d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e61747472282279222c2066756e6374696f6e286429207b2072657475726e20642e747970655b305d203d3d3d20227322203f2073656c656374696f6e5b315d5b315d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e5b305d5b315d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e6174747228227769647468222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226e22207c7c20642e74797065203d3d3d20227322203f2073656c656374696f6e5b315d5b305d202d2073656c656374696f6e5b305d5b305d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d290a202020202020202020202e617474722822686569676874222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226522207c7c20642e74797065203d3d3d20227722203f2073656c656374696f6e5b315d5b315d202d2073656c656374696f6e5b305d5b315d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d293b0a202020207d0a0a20202020656c7365207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e2c2e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c20226e6f6e6522290a202020202020202020202e61747472282278222c206e756c6c290a202020202020202020202e61747472282279222c206e756c6c290a202020202020202020202e6174747228227769647468222c206e756c6c290a202020202020202020202e617474722822686569676874222c206e756c6c293b0a202020207d0a20207d0a0a202066756e6374696f6e20656d697474657228746861742c206172677329207b0a2020202072657475726e20746861742e5f5f62727573682e656d6974746572207c7c206e657720456d697474657228746861742c2061726773293b0a20207d0a0a202066756e6374696f6e20456d697474657228746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e7374617465203d20746861742e5f5f62727573683b0a20202020746869732e616374697665203d20303b0a20207d0a0a2020456d69747465722e70726f746f74797065203d207b0a202020206265666f726573746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d20312920746869732e73746174652e656d6974746572203d20746869732c20746869732e7374617274696e67203d20747275653b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202073746172743a2066756e6374696f6e2829207b0a20202020202069662028746869732e7374617274696e672920746869732e7374617274696e67203d2066616c73652c20746869732e656d69742822737461727422293b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202062727573683a2066756e6374696f6e2829207b0a202020202020746869732e656d69742822627275736822293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d2030292064656c65746520746869732e73746174652e656d69747465722c20746869732e656d69742822656e6422293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e65772042727573684576656e742862727573682c20747970652c2064696d2e6f757470757428746869732e73746174652e73656c656374696f6e29292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20737461727465642829207b0a2020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b2069662028643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732e6c656e677468203c20643353656c656374696f6e2e6576656e742e746f75636865732e6c656e677468292072657475726e206e6f6576656e7428293b207d0a20202020656c73652069662028746f756368656e64696e67292072657475726e3b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a0a202020207661722074686174203d20746869732c0a202020202020202074797065203d20643353656c656374696f6e2e6576656e742e7461726765742e5f5f646174615f5f2e747970652c0a20202020202020206d6f6465203d2028643353656c656374696f6e2e6576656e742e6d6574614b6579203f2074797065203d20226f7665726c617922203a207479706529203d3d3d202273656c656374696f6e22203f204d4f44455f44524147203a2028643353656c656374696f6e2e6576656e742e616c744b6579203f204d4f44455f43454e544552203a204d4f44455f48414e444c45292c0a20202020202020207369676e58203d2064696d203d3d3d2059203f206e756c6c203a207369676e73585b747970655d2c0a20202020202020207369676e59203d2064696d203d3d3d2058203f206e756c6c203a207369676e73595b747970655d2c0a20202020202020207374617465203d206c6f63616c2874686174292c0a2020202020202020657874656e74203d2073746174652e657874656e742c0a202020202020202073656c656374696f6e203d2073746174652e73656c656374696f6e2c0a202020202020202057203d20657874656e745b305d5b305d2c2077302c2077312c0a20202020202020204e203d20657874656e745b305d5b315d2c206e302c206e312c0a202020202020202045203d20657874656e745b315d5b305d2c2065302c2065312c0a202020202020202053203d20657874656e745b315d5b315d2c2073302c2073312c0a202020202020202064782c0a202020202020202064792c0a20202020202020206d6f76696e672c0a20202020202020207368696674696e67203d207369676e58202626207369676e5920262620643353656c656374696f6e2e6576656e742e73686966744b65792c0a20202020202020206c6f636b582c0a20202020202020206c6f636b592c0a2020202020202020706f696e7430203d20643353656c656374696f6e2e6d6f7573652874686174292c0a2020202020202020706f696e74203d20706f696e74302c0a2020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292e6265666f7265737461727428293b0a0a202020206966202874797065203d3d3d20226f7665726c61792229207b0a20202020202073746174652e73656c656374696f6e203d2073656c656374696f6e203d205b0a20202020202020205b7730203d2064696d203d3d3d2059203f2057203a20706f696e74305b305d2c206e30203d2064696d203d3d3d2058203f204e203a20706f696e74305b315d5d2c0a20202020202020205b6530203d2064696d203d3d3d2059203f2045203a2077302c207330203d2064696d203d3d3d2058203f2053203a206e305d0a2020202020205d3b0a202020207d20656c7365207b0a2020202020207730203d2073656c656374696f6e5b305d5b305d3b0a2020202020206e30203d2073656c656374696f6e5b305d5b315d3b0a2020202020206530203d2073656c656374696f6e5b315d5b305d3b0a2020202020207330203d2073656c656374696f6e5b315d5b315d3b0a202020207d0a0a202020207731203d2077303b0a202020206e31203d206e303b0a202020206531203d2065303b0a202020207331203d2073303b0a0a202020207661722067726f7570203d20643353656c656374696f6e2e73656c6563742874686174290a20202020202020202e617474722822706f696e7465722d6576656e7473222c20226e6f6e6522293b0a0a20202020766172206f7665726c6179203d2067726f75702e73656c656374416c6c28222e6f7665726c617922290a20202020202020202e617474722822637572736f72222c20637572736f72735b747970655d293b0a0a2020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b0a20202020202067726f75700a202020202020202020202e6f6e2822746f7563686d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e2822746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c20656e6465642c2074727565293b0a202020207d20656c7365207b0a2020202020207661722076696577203d20643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577290a202020202020202020202e6f6e28226b6579646f776e2e6272757368222c206b6579646f776e65642c2074727565290a202020202020202020202e6f6e28226b657975702e6272757368222c206b657975707065642c2074727565290a202020202020202020202e6f6e28226d6f7573656d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e28226d6f75736575702e6272757368222c20656e6465642c2074727565293b0a0a2020202020206433447261672e6472616744697361626c6528643353656c656374696f6e2e6576656e742e76696577293b0a202020207d0a0a202020206e6f70726f7061676174696f6e28293b0a2020202064335472616e736974696f6e2e696e746572727570742874686174293b0a202020207265647261772e63616c6c2874686174293b0a20202020656d69742e737461727428293b0a0a2020202066756e6374696f6e206d6f7665642829207b0a20202020202076617220706f696e7431203d20643353656c656374696f6e2e6d6f7573652874686174293b0a202020202020696620287368696674696e6720262620216c6f636b5820262620216c6f636b5929207b0a2020202020202020696620284d6174682e61627328706f696e74315b305d202d20706f696e745b305d29203e204d6174682e61627328706f696e74315b315d202d20706f696e745b315d2929206c6f636b59203d20747275653b0a2020202020202020656c7365206c6f636b58203d20747275653b0a2020202020207d0a202020202020706f696e74203d20706f696e74313b0a2020202020206d6f76696e67203d20747275653b0a2020202020206e6f6576656e7428293b0a2020202020206d6f766528293b0a202020207d0a0a2020202066756e6374696f6e206d6f76652829207b0a20202020202076617220743b0a0a2020202020206478203d20706f696e745b305d202d20706f696e74305b305d3b0a2020202020206479203d20706f696e745b315d202d20706f696e74305b315d3b0a0a20202020202073776974636820286d6f646529207b0a202020202020202063617365204d4f44455f53504143453a0a202020202020202063617365204d4f44455f445241473a207b0a20202020202020202020696620287369676e5829206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2065302c20647829292c207731203d207730202b2064782c206531203d206530202b2064783b0a20202020202020202020696620287369676e5929206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e30202b2064792c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f48414e444c453a207b0a20202020202020202020696620287369676e58203c203029206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2077302c20647829292c207731203d207730202b2064782c206531203d2065303b0a20202020202020202020656c736520696620287369676e58203e203029206478203d204d6174682e6d61782857202d2065302c204d6174682e6d696e2845202d2065302c20647829292c207731203d2077302c206531203d206530202b2064783b0a20202020202020202020696620287369676e59203c203029206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d206e302c20647929292c206e31203d206e30202b2064792c207331203d2073303b0a20202020202020202020656c736520696620287369676e59203e203029206479203d204d6174682e6d6178284e202d2073302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e302c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f43454e5445523a207b0a20202020202020202020696620287369676e5829207731203d204d6174682e6d617828572c204d6174682e6d696e28452c207730202d206478202a207369676e5829292c206531203d204d6174682e6d617828572c204d6174682e6d696e28452c206530202b206478202a207369676e5829293b0a20202020202020202020696620287369676e5929206e31203d204d6174682e6d6178284e2c204d6174682e6d696e28532c206e30202d206479202a207369676e5929292c207331203d204d6174682e6d6178284e2c204d6174682e6d696e28532c207330202b206479202a207369676e5929293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a0a202020202020696620286531203c20773129207b0a20202020202020207369676e58202a3d202d313b0a202020202020202074203d2077302c207730203d2065302c206530203d20743b0a202020202020202074203d2077312c207731203d2065312c206531203d20743b0a2020202020202020696620287479706520696e20666c69705829206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970585b747970655d5d293b0a2020202020207d0a0a202020202020696620287331203c206e3129207b0a20202020202020207369676e59202a3d202d313b0a202020202020202074203d206e302c206e30203d2073302c207330203d20743b0a202020202020202074203d206e312c206e31203d2073312c207331203d20743b0a2020202020202020696620287479706520696e20666c69705929206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970595b747970655d5d293b0a2020202020207d0a0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f7665210a202020202020696620286c6f636b5829207731203d2073656c656374696f6e5b305d5b305d2c206531203d2073656c656374696f6e5b315d5b305d3b0a202020202020696620286c6f636b5929206e31203d2073656c656374696f6e5b305d5b315d2c207331203d2073656c656374696f6e5b315d5b315d3b0a0a2020202020206966202873656c656374696f6e5b305d5b305d20213d3d2077310a202020202020202020207c7c2073656c656374696f6e5b305d5b315d20213d3d206e310a202020202020202020207c7c2073656c656374696f6e5b315d5b305d20213d3d2065310a202020202020202020207c7c2073656c656374696f6e5b315d5b315d20213d3d20733129207b0a202020202020202073746174652e73656c656374696f6e203d205b5b77312c206e315d2c205b65312c2073315d5d3b0a20202020202020207265647261772e63616c6c2874686174293b0a2020202020202020656d69742e627275736828293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20656e6465642829207b0a2020202020206e6f70726f7061676174696f6e28293b0a20202020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b0a202020202020202069662028643353656c656374696f6e2e6576656e742e746f75636865732e6c656e677468292072657475726e3b0a202020202020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a2020202020202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a202020202020202067726f75702e6f6e2822746f7563686d6f76652e627275736820746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c206e756c6c293b0a2020202020207d20656c7365207b0a20202020202020206433447261672e64726167456e61626c6528643353656c656374696f6e2e6576656e742e766965772c206d6f76696e67293b0a2020202020202020766965772e6f6e28226b6579646f776e2e6272757368206b657975702e6272757368206d6f7573656d6f76652e6272757368206d6f75736575702e6272757368222c206e756c6c293b0a2020202020207d0a20202020202067726f75702e617474722822706f696e7465722d6576656e7473222c2022616c6c22293b0a2020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e6f7665726c6179293b0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f766520286f6e20737461727429210a20202020202069662028656d7074792873656c656374696f6e29292073746174652e73656c656374696f6e203d206e756c6c2c207265647261772e63616c6c2874686174293b0a202020202020656d69742e656e6428293b0a202020207d0a0a2020202066756e6374696f6e206b6579646f776e65642829207b0a2020202020207377697463682028643353656c656374696f6e2e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a202020202020202020207368696674696e67203d207369676e58202626207369676e593b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c4529207b0a202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a2020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143453b2074616b6573207072696f72697479206f76657220414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c45207c7c206d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d206531202d2064783b20656c736520696620287369676e58203e203029207730203d207731202d2064783b0a202020202020202020202020696620287369676e59203c203029207330203d207331202d2064793b20656c736520696620287369676e59203e203029206e30203d206e31202d2064793b0a2020202020202020202020206d6f6465203d204d4f44455f53504143453b0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e73656c656374696f6e293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e7428293b0a202020207d0a0a2020202066756e6374696f6e206b657975707065642829207b0a2020202020207377697463682028643353656c656374696f6e2e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a20202020202020202020696620287368696674696e6729207b0a2020202020202020202020206c6f636b58203d206c6f636b59203d207368696674696e67203d2066616c73653b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a2020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143450a20202020202020202020696620286d6f6465203d3d3d204d4f44455f535041434529207b0a20202020202020202020202069662028643353656c656374696f6e2e6576656e742e616c744b657929207b0a2020202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a2020202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a20202020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a2020202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a20202020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020207d0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72735b747970655d293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e7428293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a20202020766172207374617465203d20746869732e5f5f6272757368207c7c207b73656c656374696f6e3a206e756c6c7d3b0a2020202073746174652e657874656e74203d20657874656e742e6170706c7928746869732c20617267756d656e7473293b0a2020202073746174652e64696d203d2064696d3b0a2020202072657475726e2073746174653b0a20207d0a0a202062727573682e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c20627275736829203a20657874656e743b0a20207d3b0a0a202062727573682e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c20627275736829203a2066696c7465723b0a20207d3b0a0a202062727573682e68616e646c6553697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202868616e646c6553697a65203d202b5f2c20627275736829203a2068616e646c6553697a653b0a20207d3b0a0a202062727573682e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f206272757368203a2076616c75653b0a20207d3b0a0a202072657475726e2062727573683b0a7d0a0a6578706f7274732e6272757368203d2062727573683b0a6578706f7274732e627275736858203d206272757368583b0a6578706f7274732e627275736859203d206272757368593b0a6578706f7274732e627275736853656c656374696f6e203d20627275736853656c656374696f6e3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d7472616e736974696f6e223a36367d5d2c34323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d63686f72642f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a2020747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d617272617927292c2072657175697265282764332d70617468272929203a0a2020747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179272c202764332d70617468275d2c20666163746f727929203a0a202028666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643341727261792c64335061746829207b202775736520737472696374273b0a0a76617220636f73203d204d6174682e636f733b0a7661722073696e203d204d6174682e73696e3b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220746175203d207069202a20323b0a766172206d6178203d204d6174682e6d61783b0a0a66756e6374696f6e20636f6d7061726556616c756528636f6d7061726529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265280a202020202020612e736f757263652e76616c7565202b20612e7461726765742e76616c75652c0a202020202020622e736f757263652e76616c7565202b20622e7461726765742e76616c75650a20202020293b0a20207d3b0a7d0a0a7661722063686f7264203d2066756e6374696f6e2829207b0a202076617220706164416e676c65203d20302c0a202020202020736f727447726f757073203d206e756c6c2c0a202020202020736f727453756267726f757073203d206e756c6c2c0a202020202020736f727443686f726473203d206e756c6c3b0a0a202066756e6374696f6e2063686f7264286d617472697829207b0a20202020766172206e203d206d61747269782e6c656e6774682c0a202020202020202067726f757053756d73203d205b5d2c0a202020202020202067726f7570496e646578203d20643341727261792e72616e6765286e292c0a202020202020202073756267726f7570496e646578203d205b5d2c0a202020202020202063686f726473203d205b5d2c0a202020202020202067726f757073203d2063686f7264732e67726f757073203d206e6577204172726179286e292c0a202020202020202073756267726f757073203d206e6577204172726179286e202a206e292c0a20202020202020206b2c0a2020202020202020782c0a202020202020202078302c0a202020202020202064782c0a2020202020202020692c0a20202020202020206a3b0a0a202020202f2f20436f6d70757465207468652073756d2e0a202020206b203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a20202020202078203d20302c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a202020202020202078202b3d206d61747269785b695d5b6a5d3b0a2020202020207d0a20202020202067726f757053756d732e707573682878293b0a20202020202073756267726f7570496e6465782e7075736828643341727261792e72616e6765286e29293b0a2020202020206b202b3d20783b0a202020207d0a0a202020202f2f20536f72742067726f757073e280a60a2020202069662028736f727447726f757073292067726f7570496e6465782e736f72742866756e6374696f6e28612c206229207b0a20202020202072657475726e20736f727447726f7570732867726f757053756d735b615d2c2067726f757053756d735b625d293b0a202020207d293b0a0a202020202f2f20536f72742073756267726f757073e280a60a2020202069662028736f727453756267726f757073292073756267726f7570496e6465782e666f72456163682866756e6374696f6e28642c206929207b0a202020202020642e736f72742866756e6374696f6e28612c206229207b0a202020202020202072657475726e20736f727453756267726f757073286d61747269785b695d5b615d2c206d61747269785b695d5b625d293b0a2020202020207d293b0a202020207d293b0a0a202020202f2f20436f6e76657274207468652073756d20746f207363616c696e6720666163746f7220666f72205b302c203270695d2e0a202020202f2f20544f444f20416c6c6f7720737461727420616e6420656e6420616e676c6520746f206265207370656369666965643f0a202020202f2f20544f444f20416c6c6f772070616464696e6720746f206265207370656369666965642061732070657263656e746167653f0a202020206b203d206d617828302c20746175202d20706164416e676c65202a206e29202f206b3b0a202020206478203d206b203f20706164416e676c65203a20746175202f206e3b0a0a202020202f2f20436f6d707574652074686520737461727420616e6420656e6420616e676c6520666f7220656163682067726f757020616e642073756267726f75702e0a202020202f2f204e6f74653a204f70657261206861732061206275672072656f72646572696e67206f626a656374206c69746572616c2070726f70657274696573210a2020202078203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020207830203d20782c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a2020202020202020766172206469203d2067726f7570496e6465785b695d2c0a202020202020202020202020646a203d2073756267726f7570496e6465785b64695d5b6a5d2c0a20202020202020202020202076203d206d61747269785b64695d5b646a5d2c0a2020202020202020202020206130203d20782c0a2020202020202020202020206131203d2078202b3d2076202a206b3b0a202020202020202073756267726f7570735b646a202a206e202b2064695d203d207b0a20202020202020202020696e6465783a2064692c0a20202020202020202020737562696e6465783a20646a2c0a202020202020202020207374617274416e676c653a2061302c0a20202020202020202020656e64416e676c653a2061312c0a2020202020202020202076616c75653a20760a20202020202020207d3b0a2020202020207d0a20202020202067726f7570735b64695d203d207b0a2020202020202020696e6465783a2064692c0a20202020202020207374617274416e676c653a2078302c0a2020202020202020656e64416e676c653a20782c0a202020202020202076616c75653a2067726f757053756d735b64695d0a2020202020207d3b0a20202020202078202b3d2064783b0a202020207d0a0a202020202f2f2047656e65726174652063686f72647320666f72206561636820286e6f6e2d656d707479292073756267726f75702d73756267726f7570206c696e6b2e0a2020202069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020206a203d2069202d20313b207768696c6520282b2b6a203c206e29207b0a202020202020202076617220736f75726365203d2073756267726f7570735b6a202a206e202b20695d2c0a202020202020202020202020746172676574203d2073756267726f7570735b69202a206e202b206a5d3b0a202020202020202069662028736f757263652e76616c7565207c7c207461726765742e76616c756529207b0a2020202020202020202063686f7264732e7075736828736f757263652e76616c7565203c207461726765742e76616c75650a20202020202020202020202020203f207b736f757263653a207461726765742c207461726765743a20736f757263657d0a20202020202020202020202020203a207b736f757263653a20736f757263652c207461726765743a207461726765747d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202072657475726e20736f727443686f726473203f2063686f7264732e736f727428736f727443686f72647329203a2063686f7264733b0a20207d0a0a202063686f72642e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d206d617828302c205f292c2063686f726429203a20706164416e676c653b0a20207d3b0a0a202063686f72642e736f727447726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727447726f757073203d205f2c2063686f726429203a20736f727447726f7570733b0a20207d3b0a0a202063686f72642e736f727453756267726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727453756267726f757073203d205f2c2063686f726429203a20736f727453756267726f7570733b0a20207d3b0a0a202063686f72642e736f727443686f726473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20736f727443686f726473203d206e756c6c203a2028736f727443686f726473203d20636f6d7061726556616c7565285f29292e5f203d205f2c2063686f726429203a20736f727443686f72647320262620736f727443686f7264732e5f3b0a20207d3b0a0a202072657475726e2063686f72643b0a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2064656661756c74536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e2064656661756c74546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e20642e7261646975733b0a7d0a0a66756e6374696f6e2064656661756c745374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e2064656661756c74456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a76617220726962626f6e203d2066756e6374696f6e2829207b0a202076617220736f75726365203d2064656661756c74536f757263652c0a202020202020746172676574203d2064656661756c745461726765742c0a202020202020726164697573203d2064656661756c745261646975732c0a2020202020207374617274416e676c65203d2064656661756c745374617274416e676c652c0a202020202020656e64416e676c65203d2064656661756c74456e64416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e20726962626f6e2829207b0a20202020766172206275666665722c0a202020202020202061726776203d20736c6963652e63616c6c28617267756d656e7473292c0a202020202020202073203d20736f757263652e6170706c7928746869732c2061726776292c0a202020202020202074203d207461726765742e6170706c7928746869732c2061726776292c0a20202020202020207372203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c0a2020202020202020736130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020736131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020737830203d207372202a20636f7328736130292c0a2020202020202020737930203d207372202a2073696e28736130292c0a20202020202020207472203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c0a2020202020202020746130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020746131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c6650693b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a0a20202020636f6e746578742e6d6f7665546f287378302c20737930293b0a20202020636f6e746578742e61726328302c20302c2073722c207361302c20736131293b0a202020206966202873613020213d3d20746130207c7c2073613120213d3d2074613129207b202f2f20544f444f20737220213d3d2074723f0a202020202020636f6e746578742e7175616472617469634375727665546f28302c20302c207472202a20636f7328746130292c207472202a2073696e2874613029293b0a202020202020636f6e746578742e61726328302c20302c2074722c207461302c20746131293b0a202020207d0a20202020636f6e746578742e7175616472617469634375727665546f28302c20302c207378302c20737930293b0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a2020726962626f6e2e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a207261646975733b0a20207d3b0a0a2020726962626f6e2e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a207374617274416e676c653b0a20207d3b0a0a2020726962626f6e2e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a20656e64416e676c653b0a20207d3b0a0a2020726962626f6e2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c20726962626f6e29203a20736f757263653b0a20207d3b0a0a2020726962626f6e2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c20726962626f6e29203a207461726765743b0a20207d3b0a0a2020726962626f6e2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c20726962626f6e29203a20636f6e746578743b0a20207d3b0a0a202072657475726e20726962626f6e3b0a7d3b0a0a6578706f7274732e63686f7264203d2063686f72643b0a6578706f7274732e726962626f6e203d20726962626f6e3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33392c2264332d70617468223a35347d5d2c34333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d636f6c6c656374696f6e2f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220707265666978203d202224223b0a0a66756e6374696f6e204d61702829207b7d0a0a4d61702e70726f746f74797065203d206d61702e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204d61702c0a20206861733a2066756e6374696f6e286b657929207b0a2020202072657475726e2028707265666978202b206b65792920696e20746869733b0a20207d2c0a20206765743a2066756e6374696f6e286b657929207b0a2020202072657475726e20746869735b707265666978202b206b65795d3b0a20207d2c0a20207365743a2066756e6374696f6e286b65792c2076616c756529207b0a20202020746869735b707265666978202b206b65795d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286b657929207b0a202020207661722070726f7065727479203d20707265666978202b206b65793b0a2020202072657475726e2070726f706572747920696e20746869732026262064656c65746520746869735b70726f70657274795d3b0a20207d2c0a2020636c6561723a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292064656c65746520746869735b70726f70657274795d3b0a20207d2c0a20206b6579733a2066756e6374696f6e2829207b0a20202020766172206b657973203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206b6579732e707573682870726f70657274792e736c696365283129293b0a2020202072657475726e206b6579733b0a20207d2c0a202076616c7565733a2066756e6374696f6e2829207b0a202020207661722076616c756573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292076616c7565732e7075736828746869735b70726f70657274795d293b0a2020202072657475726e2076616c7565733b0a20207d2c0a2020656e74726965733a2066756e6374696f6e2829207b0a2020202076617220656e7472696573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d207072656669782920656e74726965732e70757368287b6b65793a2070726f70657274792e736c6963652831292c2076616c75653a20746869735b70726f70657274795d7d293b0a2020202072657475726e20656e74726965733b0a20207d2c0a202073697a653a2066756e6374696f6e2829207b0a202020207661722073697a65203d20303b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829202b2b73697a653b0a2020202072657475726e2073697a653b0a20207d2c0a2020656d7074793a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d2c0a2020656163683a2066756e6374696f6e286629207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206628746869735b70726f70657274795d2c2070726f70657274792e736c6963652831292c2074686973293b0a20207d0a7d3b0a0a66756e6374696f6e206d6170286f626a6563742c206629207b0a2020766172206d6170203d206e6577204d61703b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f66204d617029206f626a6563742e656163682866756e6374696f6e2876616c75652c206b657929207b206d61702e736574286b65792c2076616c7565293b207d293b0a0a20202f2f20496e646578206172726179206279206e756d6572696320696e646578206f7220737065636966696564206b65792066756e6374696f6e2e0a2020656c7365206966202841727261792e69734172726179286f626a6563742929207b0a202020207661722069203d202d312c0a20202020202020206e203d206f626a6563742e6c656e6774682c0a20202020202020206f3b0a0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29206d61702e73657428692c206f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29206d61702e7365742866286f203d206f626a6563745b695d2c20692c206f626a656374292c206f293b0a20207d0a0a20202f2f20436f6e76657274206f626a65637420746f206d61702e0a2020656c736520696620286f626a6563742920666f722028766172206b657920696e206f626a65637429206d61702e736574286b65792c206f626a6563745b6b65795d293b0a0a202072657475726e206d61703b0a7d0a0a766172206e657374203d2066756e6374696f6e2829207b0a2020766172206b657973203d205b5d2c0a202020202020736f72744b657973203d205b5d2c0a202020202020736f727456616c7565732c0a202020202020726f6c6c75702c0a2020202020206e6573743b0a0a202066756e6374696f6e206170706c792861727261792c2064657074682c20637265617465526573756c742c20736574526573756c7429207b0a20202020696620286465707468203e3d206b6579732e6c656e67746829207b0a20202020202069662028736f727456616c75657320213d206e756c6c292061727261792e736f727428736f727456616c756573293b0a20202020202072657475726e20726f6c6c757020213d206e756c6c203f20726f6c6c757028617272617929203a2061727261793b0a202020207d0a0a202020207661722069203d202d312c0a20202020202020206e203d2061727261792e6c656e6774682c0a20202020202020206b6579203d206b6579735b64657074682b2b5d2c0a20202020202020206b657956616c75652c0a202020202020202076616c75652c0a202020202020202076616c75657342794b6579203d206d617028292c0a202020202020202076616c7565732c0a2020202020202020726573756c74203d20637265617465526573756c7428293b0a0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c756573203d2076616c75657342794b65792e676574286b657956616c7565203d206b65792876616c7565203d2061727261795b695d29202b2022222929207b0a202020202020202076616c7565732e707573682876616c7565293b0a2020202020207d20656c7365207b0a202020202020202076616c75657342794b65792e736574286b657956616c75652c205b76616c75655d293b0a2020202020207d0a202020207d0a0a2020202076616c75657342794b65792e656163682866756e6374696f6e2876616c7565732c206b657929207b0a202020202020736574526573756c7428726573756c742c206b65792c206170706c792876616c7565732c2064657074682c20637265617465526573756c742c20736574526573756c7429293b0a202020207d293b0a0a2020202072657475726e20726573756c743b0a20207d0a0a202066756e6374696f6e20656e7472696573286d61702424312c20646570746829207b0a20202020696620282b2b6465707468203e206b6579732e6c656e677468292072657475726e206d61702424313b0a202020207661722061727261792c20736f72744b6579203d20736f72744b6579735b6465707468202d20315d3b0a2020202069662028726f6c6c757020213d206e756c6c202626206465707468203e3d206b6579732e6c656e67746829206172726179203d206d61702424312e656e747269657328293b0a20202020656c7365206172726179203d205b5d2c206d61702424312e656163682866756e6374696f6e28762c206b29207b2061727261792e70757368287b6b65793a206b2c2076616c7565733a20656e747269657328762c206465707468297d293b207d293b0a2020202072657475726e20736f72744b657920213d206e756c6c203f2061727261792e736f72742866756e6374696f6e28612c206229207b2072657475726e20736f72744b657928612e6b65792c20622e6b6579293b207d29203a2061727261793b0a20207d0a0a202072657475726e206e657374203d207b0a202020206f626a6563743a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654f626a6563742c207365744f626a656374293b207d2c0a202020206d61703a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654d61702c207365744d6170293b207d2c0a20202020656e74726965733a2066756e6374696f6e28617272617929207b2072657475726e20656e7472696573286170706c792861727261792c20302c206372656174654d61702c207365744d6170292c2030293b207d2c0a202020206b65793a2066756e6374696f6e286429207b206b6579732e707573682864293b2072657475726e206e6573743b207d2c0a20202020736f72744b6579733a2066756e6374696f6e286f7264657229207b20736f72744b6579735b6b6579732e6c656e677468202d20315d203d206f726465723b2072657475726e206e6573743b207d2c0a20202020736f727456616c7565733a2066756e6374696f6e286f7264657229207b20736f727456616c756573203d206f726465723b2072657475726e206e6573743b207d2c0a20202020726f6c6c75703a2066756e6374696f6e286629207b20726f6c6c7570203d20663b2072657475726e206e6573743b207d0a20207d3b0a7d3b0a0a66756e6374696f6e206372656174654f626a6563742829207b0a202072657475726e207b7d3b0a7d0a0a66756e6374696f6e207365744f626a656374286f626a6563742c206b65792c2076616c756529207b0a20206f626a6563745b6b65795d203d2076616c75653b0a7d0a0a66756e6374696f6e206372656174654d61702829207b0a202072657475726e206d617028293b0a7d0a0a66756e6374696f6e207365744d6170286d61702424312c206b65792c2076616c756529207b0a20206d61702424312e736574286b65792c2076616c7565293b0a7d0a0a66756e6374696f6e205365742829207b7d0a0a7661722070726f746f203d206d61702e70726f746f747970653b0a0a5365742e70726f746f74797065203d207365742e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205365742c0a20206861733a2070726f746f2e6861732c0a20206164643a2066756e6374696f6e2876616c756529207b0a2020202076616c7565202b3d2022223b0a20202020746869735b707265666978202b2076616c75655d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2070726f746f2e72656d6f76652c0a2020636c6561723a2070726f746f2e636c6561722c0a202076616c7565733a2070726f746f2e6b6579732c0a202073697a653a2070726f746f2e73697a652c0a2020656d7074793a2070726f746f2e656d7074792c0a2020656163683a2070726f746f2e656163680a7d3b0a0a66756e6374696f6e20736574286f626a6563742c206629207b0a202076617220736574203d206e6577205365743b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f662053657429206f626a6563742e656163682866756e6374696f6e2876616c756529207b207365742e6164642876616c7565293b207d293b0a0a20202f2f204f74686572776973652c20617373756d65206974e280997320616e2061727261792e0a2020656c736520696620286f626a65637429207b0a202020207661722069203d202d312c206e203d206f626a6563742e6c656e6774683b0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29207365742e616464286f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29207365742e6164642866286f626a6563745b695d2c20692c206f626a65637429293b0a20207d0a0a202072657475726e207365743b0a7d0a0a766172206b657973203d2066756e6374696f6e286d617029207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206d617029206b6579732e70757368286b6579293b0a202072657475726e206b6579733b0a7d3b0a0a7661722076616c756573203d2066756e6374696f6e286d617029207b0a20207661722076616c756573203d205b5d3b0a2020666f722028766172206b657920696e206d6170292076616c7565732e70757368286d61705b6b65795d293b0a202072657475726e2076616c7565733b0a7d3b0a0a76617220656e7472696573203d2066756e6374696f6e286d617029207b0a202076617220656e7472696573203d205b5d3b0a2020666f722028766172206b657920696e206d61702920656e74726965732e70757368287b6b65793a206b65792c2076616c75653a206d61705b6b65795d7d293b0a202072657475726e20656e74726965733b0a7d3b0a0a6578706f7274732e6e657374203d206e6573743b0a6578706f7274732e736574203d207365743b0a6578706f7274732e6d6170203d206d61703b0a6578706f7274732e6b657973203d206b6579733b0a6578706f7274732e76616c756573203d2076616c7565733b0a6578706f7274732e656e7472696573203d20656e74726965733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d636f6c6f722f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220646566696e65203d2066756e6374696f6e28636f6e7374727563746f722c20666163746f72792c2070726f746f7479706529207b0a2020636f6e7374727563746f722e70726f746f74797065203d20666163746f72792e70726f746f74797065203d2070726f746f747970653b0a202070726f746f747970652e636f6e7374727563746f72203d20636f6e7374727563746f723b0a7d3b0a0a66756e6374696f6e20657874656e6428706172656e742c20646566696e6974696f6e29207b0a20207661722070726f746f74797065203d204f626a6563742e63726561746528706172656e742e70726f746f74797065293b0a2020666f722028766172206b657920696e20646566696e6974696f6e292070726f746f747970655b6b65795d203d20646566696e6974696f6e5b6b65795d3b0a202072657475726e2070726f746f747970653b0a7d0a0a66756e6374696f6e20436f6c6f722829207b7d0a0a766172206461726b6572203d20302e373b0a766172206272696768746572203d2031202f206461726b65723b0a0a76617220726549203d20225c5c732a285b2b2d5d3f5c5c642b295c5c732a223b0a7661722072654e203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f295c5c732a223b0a76617220726550203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f29255c5c732a223b0a76617220726548657833203d202f5e23285b302d39612d665d7b337d29242f3b0a76617220726548657836203d202f5e23285b302d39612d665d7b367d29242f3b0a766172207265526762496e7465676572203d206e65772052656745787028225e7267625c5c2822202b205b7265492c207265492c207265495d202b20225c5c292422293b0a76617220726552676250657263656e74203d206e65772052656745787028225e7267625c5c2822202b205b7265502c207265502c207265505d202b20225c5c292422293b0a76617220726552676261496e7465676572203d206e65772052656745787028225e726762615c5c2822202b205b7265492c207265492c207265492c2072654e5d202b20225c5c292422293b0a7661722072655267626150657263656e74203d206e65772052656745787028225e726762615c5c2822202b205b7265502c207265502c207265502c2072654e5d202b20225c5c292422293b0a76617220726548736c50657263656e74203d206e65772052656745787028225e68736c5c5c2822202b205b72654e2c207265502c207265505d202b20225c5c292422293b0a76617220726548736c6150657263656e74203d206e65772052656745787028225e68736c615c5c2822202b205b72654e2c207265502c207265502c2072654e5d202b20225c5c292422293b0a0a766172206e616d6564203d207b0a2020616c696365626c75653a2030786630663866662c0a2020616e746971756577686974653a2030786661656264372c0a2020617175613a2030783030666666662c0a2020617175616d6172696e653a2030783766666664342c0a2020617a7572653a2030786630666666662c0a202062656967653a2030786635663564632c0a20206269737175653a2030786666653463342c0a2020626c61636b3a2030783030303030302c0a2020626c616e63686564616c6d6f6e643a2030786666656263642c0a2020626c75653a2030783030303066662c0a2020626c756576696f6c65743a2030783861326265322c0a202062726f776e3a2030786135326132612c0a20206275726c79776f6f643a2030786465623838372c0a20206361646574626c75653a2030783566396561302c0a2020636861727472657573653a2030783766666630302c0a202063686f636f6c6174653a2030786432363931652c0a2020636f72616c3a2030786666376635302c0a2020636f726e666c6f776572626c75653a2030783634393565642c0a2020636f726e73696c6b3a2030786666663864632c0a20206372696d736f6e3a2030786463313433632c0a20206379616e3a2030783030666666662c0a20206461726b626c75653a2030783030303038622c0a20206461726b6379616e3a2030783030386238622c0a20206461726b676f6c64656e726f643a2030786238383630622c0a20206461726b677261793a2030786139613961392c0a20206461726b677265656e3a2030783030363430302c0a20206461726b677265793a2030786139613961392c0a20206461726b6b68616b693a2030786264623736622c0a20206461726b6d6167656e74613a2030783862303038622c0a20206461726b6f6c697665677265656e3a2030783535366232662c0a20206461726b6f72616e67653a2030786666386330302c0a20206461726b6f72636869643a2030783939333263632c0a20206461726b7265643a2030783862303030302c0a20206461726b73616c6d6f6e3a2030786539393637612c0a20206461726b736561677265656e3a2030783866626338662c0a20206461726b736c617465626c75653a2030783438336438622c0a20206461726b736c617465677261793a2030783266346634662c0a20206461726b736c617465677265793a2030783266346634662c0a20206461726b74757271756f6973653a2030783030636564312c0a20206461726b76696f6c65743a2030783934303064332c0a20206465657070696e6b3a2030786666313439332c0a202064656570736b79626c75653a2030783030626666662c0a202064696d677261793a2030783639363936392c0a202064696d677265793a2030783639363936392c0a2020646f64676572626c75653a2030783165393066662c0a202066697265627269636b3a2030786232323232322c0a2020666c6f72616c77686974653a2030786666666166302c0a2020666f72657374677265656e3a2030783232386232322c0a2020667563687369613a2030786666303066662c0a20206761696e73626f726f3a2030786463646364632c0a202067686f737477686974653a2030786638663866662c0a2020676f6c643a2030786666643730302c0a2020676f6c64656e726f643a2030786461613532302c0a2020677261793a2030783830383038302c0a2020677265656e3a2030783030383030302c0a2020677265656e79656c6c6f773a2030786164666632662c0a2020677265793a2030783830383038302c0a2020686f6e65796465773a2030786630666666302c0a2020686f7470696e6b3a2030786666363962342c0a2020696e6469616e7265643a2030786364356335632c0a2020696e6469676f3a2030783462303038322c0a202069766f72793a2030786666666666302c0a20206b68616b693a2030786630653638632c0a20206c6176656e6465723a2030786536653666612c0a20206c6176656e646572626c7573683a2030786666663066352c0a20206c61776e677265656e3a2030783763666330302c0a20206c656d6f6e63686966666f6e3a2030786666666163642c0a20206c69676874626c75653a2030786164643865362c0a20206c69676874636f72616c3a2030786630383038302c0a20206c696768746379616e3a2030786530666666662c0a20206c69676874676f6c64656e726f6479656c6c6f773a2030786661666164322c0a20206c69676874677261793a2030786433643364332c0a20206c69676874677265656e3a2030783930656539302c0a20206c69676874677265793a2030786433643364332c0a20206c6967687470696e6b3a2030786666623663312c0a20206c6967687473616c6d6f6e3a2030786666613037612c0a20206c69676874736561677265656e3a2030783230623261612c0a20206c69676874736b79626c75653a2030783837636566612c0a20206c69676874736c617465677261793a2030783737383839392c0a20206c69676874736c617465677265793a2030783737383839392c0a20206c69676874737465656c626c75653a2030786230633464652c0a20206c6967687479656c6c6f773a2030786666666665302c0a20206c696d653a2030783030666630302c0a20206c696d65677265656e3a2030783332636433322c0a20206c696e656e3a2030786661663065362c0a20206d6167656e74613a2030786666303066662c0a20206d61726f6f6e3a2030783830303030302c0a20206d656469756d617175616d6172696e653a2030783636636461612c0a20206d656469756d626c75653a2030783030303063642c0a20206d656469756d6f72636869643a2030786261353564332c0a20206d656469756d707572706c653a2030783933373064622c0a20206d656469756d736561677265656e3a2030783363623337312c0a20206d656469756d736c617465626c75653a2030783762363865652c0a20206d656469756d737072696e67677265656e3a2030783030666139612c0a20206d656469756d74757271756f6973653a2030783438643163632c0a20206d656469756d76696f6c65747265643a2030786337313538352c0a20206d69646e69676874626c75653a2030783139313937302c0a20206d696e74637265616d3a2030786635666666612c0a20206d69737479726f73653a2030786666653465312c0a20206d6f63636173696e3a2030786666653462352c0a20206e6176616a6f77686974653a2030786666646561642c0a20206e6176793a2030783030303038302c0a20206f6c646c6163653a2030786664663565362c0a20206f6c6976653a2030783830383030302c0a20206f6c697665647261623a2030783662386532332c0a20206f72616e67653a2030786666613530302c0a20206f72616e67657265643a2030786666343530302c0a20206f72636869643a2030786461373064362c0a202070616c65676f6c64656e726f643a2030786565653861612c0a202070616c65677265656e3a2030783938666239382c0a202070616c6574757271756f6973653a2030786166656565652c0a202070616c6576696f6c65747265643a2030786462373039332c0a2020706170617961776869703a2030786666656664352c0a20207065616368707566663a2030786666646162392c0a2020706572753a2030786364383533662c0a202070696e6b3a2030786666633063622c0a2020706c756d3a2030786464613064642c0a2020706f77646572626c75653a2030786230653065362c0a2020707572706c653a2030783830303038302c0a202072656265636361707572706c653a2030783636333339392c0a20207265643a2030786666303030302c0a2020726f737962726f776e3a2030786263386638662c0a2020726f79616c626c75653a2030783431363965312c0a2020736164646c6562726f776e3a2030783862343531332c0a202073616c6d6f6e3a2030786661383037322c0a202073616e647962726f776e3a2030786634613436302c0a2020736561677265656e3a2030783265386235372c0a20207365617368656c6c3a2030786666663565652c0a20207369656e6e613a2030786130353232642c0a202073696c7665723a2030786330633063302c0a2020736b79626c75653a2030783837636565622c0a2020736c617465626c75653a2030783661356163642c0a2020736c617465677261793a2030783730383039302c0a2020736c617465677265793a2030783730383039302c0a2020736e6f773a2030786666666166612c0a2020737072696e67677265656e3a2030783030666637662c0a2020737465656c626c75653a2030783436383262342c0a202074616e3a2030786432623438632c0a20207465616c3a2030783030383038302c0a202074686973746c653a2030786438626664382c0a2020746f6d61746f3a2030786666363334372c0a202074757271756f6973653a2030783430653064302c0a202076696f6c65743a2030786565383265652c0a202077686561743a2030786635646562332c0a202077686974653a2030786666666666662c0a20207768697465736d6f6b653a2030786635663566352c0a202079656c6c6f773a2030786666666630302c0a202079656c6c6f77677265656e3a2030783961636433320a7d3b0a0a646566696e6528436f6c6f722c20636f6c6f722c207b0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e646973706c617961626c6528293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e7267622829202b2022223b0a20207d0a7d293b0a0a66756e6374696f6e20636f6c6f7228666f726d617429207b0a2020766172206d3b0a2020666f726d6174203d2028666f726d6174202b202222292e7472696d28292e746f4c6f7765724361736528293b0a202072657475726e20286d203d207265486578332e6578656328666f726d61742929203f20286d203d207061727365496e74286d5b315d2c203136292c206e65772052676228286d203e3e203820262030786629207c20286d203e3e20342026203078306630292c20286d203e3e203420262030786629207c20286d20262030786630292c2028286d20262030786629203c3c203429207c20286d202620307866292c20312929202f2f20236630300a2020202020203a20286d203d207265486578362e6578656328666f726d61742929203f207267626e287061727365496e74286d5b315d2c2031362929202f2f20236666303030300a2020202020203a20286d203d207265526762496e74656765722e6578656328666f726d61742929203f206e657720526762286d5b315d2c206d5b325d2c206d5b335d2c203129202f2f20726762283235352c20302c2030290a2020202020203a20286d203d20726552676250657263656e742e6578656328666f726d61742929203f206e657720526762286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c203129202f2f2072676228313030252c2030252c203025290a2020202020203a20286d203d20726552676261496e74656765722e6578656328666f726d61742929203f2072676261286d5b315d2c206d5b325d2c206d5b335d2c206d5b345d29202f2f2072676261283235352c20302c20302c2031290a2020202020203a20286d203d2072655267626150657263656e742e6578656328666f726d61742929203f2072676261286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c206d5b345d29202f2f2072676228313030252c2030252c2030252c2031290a2020202020203a20286d203d20726548736c50657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c203129202f2f2068736c283132302c203530252c20353025290a2020202020203a20286d203d20726548736c6150657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c206d5b345d29202f2f2068736c61283132302c203530252c203530252c2031290a2020202020203a206e616d65642e6861734f776e50726f706572747928666f726d617429203f207267626e286e616d65645b666f726d61745d290a2020202020203a20666f726d6174203d3d3d20227472616e73706172656e7422203f206e657720526762284e614e2c204e614e2c204e614e2c2030290a2020202020203a206e756c6c3b0a7d0a0a66756e6374696f6e207267626e286e29207b0a202072657475726e206e657720526762286e203e3e203136202620307866662c206e203e3e2038202620307866662c206e202620307866662c2031293b0a7d0a0a66756e6374696f6e207267626128722c20672c20622c206129207b0a20206966202861203c3d2030292072203d2067203d2062203d204e614e3b0a202072657475726e206e65772052676228722c20672c20622c2061293b0a7d0a0a66756e6374696f6e20726762436f6e76657274286f29207b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e6577205267623b0a20206f203d206f2e72676228293b0a202072657475726e206e657720526762286f2e722c206f2e672c206f2e622c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2072676228722c20672c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f20726762436f6e76657274287229203a206e65772052676228722c20672c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2052676228722c20672c20622c206f70616369747929207b0a2020746869732e72203d202b723b0a2020746869732e67203d202b673b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65285267622c207267622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e20746869733b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7220262620746869732e72203c3d20323535290a20202020202020202626202830203c3d20746869732e6720262620746869732e67203c3d20323535290a20202020202020202626202830203c3d20746869732e6220262620746869732e62203c3d20323535290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a202020207661722061203d20746869732e6f7061636974793b2061203d2069734e614e286129203f2031203a204d6174682e6d617828302c204d6174682e6d696e28312c206129293b0a2020202072657475726e202861203d3d3d2031203f20227267622822203a2022726762612822290a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e7229207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6729207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6229207c7c203029290a20202020202020202b202861203d3d3d2031203f20222922203a20222c2022202b2061202b20222922293b0a20207d0a7d29293b0a0a66756e6374696f6e2068736c6128682c20732c206c2c206129207b0a20206966202861203c3d2030292068203d2073203d206c203d204e614e3b0a2020656c736520696620286c203c3d2030207c7c206c203e3d2031292068203d2073203d204e614e3b0a2020656c7365206966202873203c3d2030292068203d204e614e3b0a202072657475726e206e65772048736c28682c20732c206c2c2061293b0a7d0a0a66756e6374696f6e2068736c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206e65772048736c286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e65772048736c3b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206f3b0a20206f203d206f2e72676228293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206d696e203d204d6174682e6d696e28722c20672c2062292c0a2020202020206d6178203d204d6174682e6d617828722c20672c2062292c0a20202020202068203d204e614e2c0a20202020202073203d206d6178202d206d696e2c0a2020202020206c203d20286d6178202b206d696e29202f20323b0a2020696620287329207b0a202020206966202872203d3d3d206d6178292068203d202867202d206229202f2073202b202867203c206229202a20363b0a20202020656c7365206966202867203d3d3d206d6178292068203d202862202d207229202f2073202b20323b0a20202020656c73652068203d202872202d206729202f2073202b20343b0a2020202073202f3d206c203c20302e35203f206d6178202b206d696e203a2032202d206d6178202d206d696e3b0a2020202068202a3d2036303b0a20207d20656c7365207b0a2020202073203d206c203e2030202626206c203c2031203f2030203a20683b0a20207d0a202072657475726e206e65772048736c28682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068736c28682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068736c436f6e76657274286829203a206e65772048736c28682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048736c28682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848736c2c2068736c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d20746869732e68202520333630202b2028746869732e68203c203029202a203336302c0a202020202020202073203d2069734e614e286829207c7c2069734e614e28746869732e7329203f2030203a20746869732e732c0a20202020202020206c203d20746869732e6c2c0a20202020202020206d32203d206c202b20286c203c20302e35203f206c203a2031202d206c29202a20732c0a20202020202020206d31203d2032202a206c202d206d323b0a2020202072657475726e206e657720526762280a20202020202068736c327267622868203e3d20323430203f2068202d20323430203a2068202b203132302c206d312c206d32292c0a20202020202068736c3272676228682c206d312c206d32292c0a20202020202068736c327267622868203c20313230203f2068202b20323430203a2068202d203132302c206d312c206d32292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7320262620746869732e73203c3d2031207c7c2069734e614e28746869732e7329290a20202020202020202626202830203c3d20746869732e6c20262620746869732e6c203c3d2031290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d0a7d29293b0a0a2f2a2046726f6d204676442031332e33372c2043535320436f6c6f72204d6f64756c65204c6576656c2033202a2f0a66756e6374696f6e2068736c3272676228682c206d312c206d3229207b0a202072657475726e202868203c203630203f206d31202b20286d32202d206d3129202a2068202f2036300a2020202020203a2068203c20313830203f206d320a2020202020203a2068203c20323430203f206d31202b20286d32202d206d3129202a2028323430202d206829202f2036300a2020202020203a206d3129202a203235353b0a7d0a0a7661722064656732726164203d204d6174682e5049202f203138303b0a7661722072616432646567203d20313830202f204d6174682e50493b0a0a766172204b6e203d2031383b0a76617220586e203d20302e3935303437303b0a76617220596e203d20313b0a766172205a6e203d20312e3038383833303b0a766172207430203d2034202f2032393b0a766172207431203d2036202f2032393b0a766172207432203d2033202a207431202a2074313b0a766172207433203d207431202a207431202a2074313b0a0a66756e6374696f6e206c6162436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204c6162292072657475726e206e6577204c6162286f2e6c2c206f2e612c206f2e622c206f2e6f706163697479293b0a2020696620286f20696e7374616e63656f662048636c29207b0a202020207661722068203d206f2e68202a20646567327261643b0a2020202072657475726e206e6577204c6162286f2e6c2c204d6174682e636f73286829202a206f2e632c204d6174682e73696e286829202a206f2e632c206f2e6f706163697479293b0a20207d0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722062203d207267623278797a286f2e72292c0a20202020202061203d207267623278797a286f2e67292c0a2020202020206c203d207267623278797a286f2e62292c0a20202020202078203d2078797a326c61622828302e34313234353634202a2062202b20302e33353735373631202a2061202b20302e31383034333735202a206c29202f20586e292c0a20202020202079203d2078797a326c61622828302e32313236373239202a2062202b20302e37313531353232202a2061202b20302e30373231373530202a206c29202f20596e292c0a2020202020207a203d2078797a326c61622828302e30313933333339202a2062202b20302e31313931393230202a2061202b20302e39353033303431202a206c29202f205a6e293b0a202072657475726e206e6577204c616228313136202a2079202d2031362c20353030202a202878202d2079292c20323030202a202879202d207a292c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206c6162286c2c20612c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206c6162436f6e76657274286c29203a206e6577204c6162286c2c20612c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204c6162286c2c20612c20622c206f70616369747929207b0a2020746869732e6c203d202b6c3b0a2020746869732e61203d202b613b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284c61622c206c61622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202b204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202d204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722079203d2028746869732e6c202b20313629202f203131362c0a202020202020202078203d2069734e614e28746869732e6129203f2079203a2079202b20746869732e61202f203530302c0a20202020202020207a203d2069734e614e28746869732e6229203f2079203a2079202d20746869732e62202f203230303b0a2020202079203d20596e202a206c61623278797a2879293b0a2020202078203d20586e202a206c61623278797a2878293b0a202020207a203d205a6e202a206c61623278797a287a293b0a2020202072657475726e206e657720526762280a20202020202078797a327267622820332e32343034353432202a2078202d20312e35333731333835202a2079202d20302e34393835333134202a207a292c202f2f20443635202d3e20735247420a20202020202078797a32726762282d302e39363932363630202a2078202b20312e38373630313038202a2079202b20302e30343135353630202a207a292c0a20202020202078797a327267622820302e30353536343334202a2078202d20302e32303430323539202a2079202b20312e30353732323532202a207a292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2078797a326c6162287429207b0a202072657475726e2074203e207433203f204d6174682e706f7728742c2031202f203329203a2074202f207432202b2074303b0a7d0a0a66756e6374696f6e206c61623278797a287429207b0a202072657475726e2074203e207431203f2074202a2074202a2074203a207432202a202874202d207430293b0a7d0a0a66756e6374696f6e2078797a32726762287829207b0a202072657475726e20323535202a202878203c3d20302e30303331333038203f2031322e3932202a2078203a20312e303535202a204d6174682e706f7728782c2031202f20322e3429202d20302e303535293b0a7d0a0a66756e6374696f6e207267623278797a287829207b0a202072657475726e202878202f3d2032353529203c3d20302e3034303435203f2078202f2031322e3932203a204d6174682e706f77282878202b20302e30353529202f20312e3035352c20322e34293b0a7d0a0a66756e6374696f6e2068636c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048636c292072657475726e206e65772048636c286f2e682c206f2e632c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66204c61622929206f203d206c6162436f6e76657274286f293b0a20207661722068203d204d6174682e6174616e32286f2e622c206f2e6129202a20726164326465673b0a202072657475726e206e65772048636c2868203c2030203f2068202b20333630203a20682c204d6174682e73717274286f2e61202a206f2e61202b206f2e62202a206f2e62292c206f2e6c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068636c28682c20632c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286829203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048636c28682c20632c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e63203d202b633b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848636c2c2068636c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202b204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202d204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e206c6162436f6e766572742874686973292e72676228293b0a20207d0a7d29293b0a0a7661722041203d202d302e31343836313b0a7661722042203d202b312e37383237373b0a7661722043203d202d302e32393232373b0a7661722044203d202d302e39303634393b0a7661722045203d202b312e39373239343b0a766172204544203d2045202a20443b0a766172204542203d2045202a20423b0a7661722042435f4441203d2042202a2043202d2044202a20413b0a0a66756e6374696f6e206375626568656c6978436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204375626568656c6978292072657475726e206e6577204375626568656c6978286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206c203d202842435f4441202a2062202b204544202a2072202d204542202a206729202f202842435f4441202b204544202d204542292c0a202020202020626c203d2062202d206c2c0a2020202020206b203d202845202a202867202d206c29202d2043202a20626c29202f20442c0a20202020202073203d204d6174682e73717274286b202a206b202b20626c202a20626c29202f202845202a206c202a202831202d206c29292c202f2f204e614e206966206c3d30206f72206c3d310a20202020202068203d2073203f204d6174682e6174616e32286b2c20626c29202a2072616432646567202d20313230203a204e614e3b0a202072657475726e206e6577204375626568656c69782868203c2030203f2068202b20333630203a20682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206375626568656c697828682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206375626568656c6978436f6e76657274286829203a206e6577204375626568656c697828682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204375626568656c697828682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284375626568656c69782c206375626568656c69782c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d2069734e614e28746869732e6829203f2030203a2028746869732e68202b2031323029202a20646567327261642c0a20202020202020206c203d202b746869732e6c2c0a202020202020202061203d2069734e614e28746869732e7329203f2030203a20746869732e73202a206c202a202831202d206c292c0a2020202020202020636f7368203d204d6174682e636f732868292c0a202020202020202073696e68203d204d6174682e73696e2868293b0a2020202072657475726e206e657720526762280a202020202020323535202a20286c202b2061202a202841202a20636f7368202b2042202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202843202a20636f7368202b2044202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202845202a20636f736829292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a6578706f7274732e636f6c6f72203d20636f6c6f723b0a6578706f7274732e726762203d207267623b0a6578706f7274732e68736c203d2068736c3b0a6578706f7274732e6c6162203d206c61623b0a6578706f7274732e68636c203d2068636c3b0a6578706f7274732e6375626568656c6978203d206375626568656c69783b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d64697370617463682f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172206e6f6f70203d207b76616c75653a2066756e6374696f6e2829207b7d7d3b0a0a66756e6374696f6e2064697370617463682829207b0a2020666f7220287661722069203d20302c206e203d20617267756d656e74732e6c656e6774682c205f203d207b7d2c20743b2069203c206e3b202b2b6929207b0a2020202069662028212874203d20617267756d656e74735b695d202b20222229207c7c20287420696e205f2929207468726f77206e6577204572726f722822696c6c6567616c20747970653a2022202b2074293b0a202020205f5b745d203d205b5d3b0a20207d0a202072657475726e206e6577204469737061746368285f293b0a7d0a0a66756e6374696f6e204469737061746368285f29207b0a2020746869732e5f203d205f3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d65732c20747970657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a202020206966202874202626202174797065732e6861734f776e50726f706572747928742929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a44697370617463682e70726f746f74797065203d2064697370617463682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2044697370617463682c0a20206f6e3a2066756e6374696f6e28747970656e616d652c2063616c6c6261636b29207b0a20202020766172205f203d20746869732e5f2c0a202020202020202054203d207061727365547970656e616d657328747970656e616d65202b2022222c205f292c0a2020202020202020742c0a202020202020202069203d202d312c0a20202020202020206e203d20542e6c656e6774683b0a0a202020202f2f204966206e6f2063616c6c6261636b20776173207370656369666965642c2072657475726e207468652063616c6c6261636b206f662074686520676976656e207479706520616e64206e616d652e0a2020202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202020207768696c6520282b2b69203c206e2920696620282874203d2028747970656e616d65203d20545b695d292e7479706529202626202874203d20676574285f5b745d2c20747970656e616d652e6e616d652929292072657475726e20743b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2049662061207479706520776173207370656369666965642c20736574207468652063616c6c6261636b20666f722074686520676976656e207479706520616e64206e616d652e0a202020202f2f204f74686572776973652c2069662061206e756c6c2063616c6c6261636b20776173207370656369666965642c2072656d6f76652063616c6c6261636b73206f662074686520676976656e206e616d652e0a202020206966202863616c6c6261636b20213d206e756c6c20262620747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202874203d2028747970656e616d65203d20545b695d292e7479706529205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c2063616c6c6261636b293b0a202020202020656c7365206966202863616c6c6261636b203d3d206e756c6c2920666f7220287420696e205f29205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c206e756c6c293b0a202020207d0a0a2020202072657475726e20746869733b0a20207d2c0a2020636f70793a2066756e6374696f6e2829207b0a2020202076617220636f7079203d207b7d2c205f203d20746869732e5f3b0a20202020666f722028766172207420696e205f2920636f70795b745d203d205f5b745d2e736c69636528293b0a2020202072657475726e206e657720446973706174636828636f7079293b0a20207d2c0a202063616c6c3a2066756e6374696f6e28747970652c207468617429207b0a2020202069662028286e203d20617267756d656e74732e6c656e677468202d203229203e20302920666f7220287661722061726773203d206e6577204172726179286e292c2069203d20302c206e2c20743b2069203c206e3b202b2b692920617267735b695d203d20617267756d656e74735b69202b20325d3b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f72202874203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d2c0a20206170706c793a2066756e6374696f6e28747970652c20746861742c206172677329207b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f7220287661722074203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d0a7d3b0a0a66756e6374696f6e2067657428747970652c206e616d6529207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774682c20633b2069203c206e3b202b2b6929207b0a20202020696620282863203d20747970655b695d292e6e616d65203d3d3d206e616d6529207b0a20202020202072657475726e20632e76616c75653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073657428747970652c206e616d652c2063616c6c6261636b29207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202069662028747970655b695d2e6e616d65203d3d3d206e616d6529207b0a202020202020747970655b695d203d206e6f6f702c2074797065203d20747970652e736c69636528302c2069292e636f6e63617428747970652e736c6963652869202b203129293b0a202020202020627265616b3b0a202020207d0a20207d0a20206966202863616c6c6261636b20213d206e756c6c2920747970652e70757368287b6e616d653a206e616d652c2076616c75653a2063616c6c6261636b7d293b0a202072657475726e20747970653b0a7d0a0a6578706f7274732e6469737061746368203d2064697370617463683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d647261672f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d73656c656374696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d73656c656374696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c643353656c656374696f6e29207b202775736520737472696374273b0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a766172206e6f64726167203d2066756e6374696f6e287669657729207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e203d20643353656c656374696f6e2e73656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e6f6576656e742c2074727565293b0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2e6f6e282273656c65637473746172742e64726167222c206e6f6576656e742c2074727565293b0a20207d20656c7365207b0a20202020726f6f742e5f5f6e6f73656c656374203d20726f6f742e7374796c652e4d6f7a5573657253656c6563743b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20226e6f6e65223b0a20207d0a7d3b0a0a66756e6374696f6e207965736472616728766965772c206e6f636c69636b29207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e203d20643353656c656374696f6e2e73656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e756c6c293b0a2020696620286e6f636c69636b29207b0a2020202073656c656374696f6e2e6f6e2822636c69636b2e64726167222c206e6f6576656e742c2074727565293b0a2020202073657454696d656f75742866756e6374696f6e2829207b2073656c656374696f6e2e6f6e2822636c69636b2e64726167222c206e756c6c293b207d2c2030293b0a20207d0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2e6f6e282273656c65637473746172742e64726167222c206e756c6c293b0a20207d20656c7365207b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20726f6f742e5f5f6e6f73656c6563743b0a2020202064656c65746520726f6f742e5f5f6e6f73656c6563743b0a20207d0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e20447261674576656e74287461726765742c20747970652c207375626a6563742c2069642c206163746976652c20782c20792c2064782c2064792c20646973706174636824243129207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7375626a656374203d207375626a6563743b0a2020746869732e6964656e746966696572203d2069643b0a2020746869732e616374697665203d206163746976653b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a2020746869732e6478203d2064783b0a2020746869732e6479203d2064793b0a2020746869732e5f203d2064697370617463682424313b0a7d0a0a447261674576656e742e70726f746f747970652e6f6e203d2066756e6374696f6e2829207b0a20207661722076616c7565203d20746869732e5f2e6f6e2e6170706c7928746869732e5f2c20617267756d656e7473293b0a202072657475726e2076616c7565203d3d3d20746869732e5f203f2074686973203a2076616c75653b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74436f6e7461696e65722829207b0a202072657475726e20746869732e706172656e744e6f64653b0a7d0a0a66756e6374696f6e2064656661756c745375626a656374286429207b0a202072657475726e2064203d3d206e756c6c203f207b783a20643353656c656374696f6e2e6576656e742e782c20793a20643353656c656374696f6e2e6576656e742e797d203a20643b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a7661722064726167203d2066756e6374696f6e2829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020636f6e7461696e6572203d2064656661756c74436f6e7461696e65722c0a2020202020207375626a656374203d2064656661756c745375626a6563742c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020206765737475726573203d207b7d2c0a2020202020206c697374656e657273203d20643344697370617463682e646973706174636828227374617274222c202264726167222c2022656e6422292c0a202020202020616374697665203d20302c0a2020202020206d6f757365646f776e782c0a2020202020206d6f757365646f776e792c0a2020202020206d6f7573656d6f76696e672c0a202020202020746f756368656e64696e672c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e20647261672873656c656374696f6e29207b0a2020202073656c656374696f6e0a20202020202020202e6f6e28226d6f757365646f776e2e64726167222c206d6f757365646f776e6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e64726167222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e64726167222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e6472616720746f75636863616e63656c2e64726167222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067657374757265203d206265666f7265737461727428226d6f757365222c20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c20643353656c656374696f6e2e6d6f7573652c20746869732c20617267756d656e7473293b0a20202020696620282167657374757265292072657475726e3b0a20202020643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e64726167222c206d6f75736575707065642c2074727565293b0a202020206e6f6472616728643353656c656374696f6e2e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a202020206d6f7573656d6f76696e67203d2066616c73653b0a202020206d6f757365646f776e78203d20643353656c656374696f6e2e6576656e742e636c69656e74583b0a202020206d6f757365646f776e79203d20643353656c656374696f6e2e6576656e742e636c69656e74593b0a20202020676573747572652822737461727422293b0a20207d0a0a202066756e6374696f6e206d6f7573656d6f7665642829207b0a202020206e6f6576656e7428293b0a2020202069662028216d6f7573656d6f76696e6729207b0a202020202020766172206478203d20643353656c656374696f6e2e6576656e742e636c69656e7458202d206d6f757365646f776e782c206479203d20643353656c656374696f6e2e6576656e742e636c69656e7459202d206d6f757365646f776e793b0a2020202020206d6f7573656d6f76696e67203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a202020207d0a2020202067657374757265732e6d6f75736528226472616722293b0a20207d0a0a202066756e6374696f6e206d6f75736575707065642829207b0a20202020643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167206d6f75736575702e64726167222c206e756c6c293b0a202020207965736472616728643353656c656374696f6e2e6576656e742e766965772c206d6f7573656d6f76696e67293b0a202020206e6f6576656e7428293b0a2020202067657374757265732e6d6f7573652822656e6422293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a202020202020202063203d20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d206265666f7265737461727428746f75636865735b695d2e6964656e7469666965722c20632c20643353656c656374696f6e2e746f7563682c20746869732c20617267756d656e74732929207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822737461727422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865735b695d2e6964656e7469666965725d29207b0a20202020202020206e6f6576656e7428293b0a20202020202020206765737475726528226472616722293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865735b695d2e6964656e7469666965725d29207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822656e6422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206265666f726573746172742869642c20636f6e7461696e65722c20706f696e742c20746861742c206172677329207b0a202020207661722070203d20706f696e7428636f6e7461696e65722c206964292c20732c2064782c2064792c0a20202020202020207375626c697374656e657273203d206c697374656e6572732e636f707928293b0a0a202020206966202821643353656c656374696f6e2e637573746f6d4576656e74286e657720447261674576656e7428647261672c20226265666f72657374617274222c20732c2069642c206163746976652c20705b305d2c20705b315d2c20302c20302c207375626c697374656e657273292c2066756e6374696f6e2829207b0a2020202020206966202828643353656c656374696f6e2e6576656e742e7375626a656374203d2073203d207375626a6563742e6170706c7928746861742c20617267732929203d3d206e756c6c292072657475726e2066616c73653b0a2020202020206478203d20732e78202d20705b305d207c7c20303b0a2020202020206479203d20732e79202d20705b315d207c7c20303b0a20202020202072657475726e20747275653b0a202020207d29292072657475726e3b0a0a2020202072657475726e2066756e6374696f6e2067657374757265287479706529207b0a202020202020766172207030203d20702c206e3b0a20202020202073776974636820287479706529207b0a20202020202020206361736520227374617274223a2067657374757265735b69645d203d20676573747572652c206e203d206163746976652b2b3b20627265616b3b0a2020202020202020636173652022656e64223a2064656c6574652067657374757265735b69645d2c202d2d6163746976653b202f2f206e6f627265616b0a202020202020202063617365202264726167223a2070203d20706f696e7428636f6e7461696e65722c206964292c206e203d206163746976653b20627265616b3b0a2020202020207d0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e657720447261674576656e7428647261672c20747970652c20732c2069642c206e2c20705b305d202b2064782c20705b315d202b2064792c20705b305d202d2070305b305d2c20705b315d202d2070305b315d2c207375626c697374656e657273292c207375626c697374656e6572732e6170706c792c207375626c697374656e6572732c205b747970652c20746861742c20617267735d293b0a202020207d3b0a20207d0a0a2020647261672e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206472616729203a2066696c7465723b0a20207d3b0a0a2020647261672e636f6e7461696e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e7461696e6572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c206472616729203a20636f6e7461696e65723b0a20207d3b0a0a2020647261672e7375626a656374203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287375626a656374203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c206472616729203a207375626a6563743b0a20207d3b0a0a2020647261672e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206472616729203a20746f75636861626c653b0a20207d3b0a0a2020647261672e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f2064726167203a2076616c75653b0a20207d3b0a0a2020647261672e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c206472616729203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e20647261673b0a7d3b0a0a6578706f7274732e64726167203d20647261673b0a6578706f7274732e6472616744697361626c65203d206e6f647261673b0a6578706f7274732e64726167456e61626c65203d20796573647261673b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d73656c656374696f6e223a36317d5d2c34373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d6473762f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220454f4c203d207b7d3b0a76617220454f46203d207b7d3b0a7661722051554f5445203d2033343b0a766172204e45574c494e45203d2031303b0a7661722052455455524e203d2031333b0a0a66756e6374696f6e206f626a656374436f6e76657274657228636f6c756d6e7329207b0a202072657475726e206e65772046756e6374696f6e282264222c202272657475726e207b22202b20636f6c756d6e732e6d61702866756e6374696f6e286e616d652c206929207b0a2020202072657475726e204a534f4e2e737472696e67696679286e616d6529202b20223a20645b22202b2069202b20225d223b0a20207d292e6a6f696e28222c2229202b20227d22293b0a7d0a0a66756e6374696f6e20637573746f6d436f6e76657274657228636f6c756d6e732c206629207b0a2020766172206f626a656374203d206f626a656374436f6e76657274657228636f6c756d6e73293b0a202072657475726e2066756e6374696f6e28726f772c206929207b0a2020202072657475726e2066286f626a65637428726f77292c20692c20636f6c756d6e73293b0a20207d3b0a7d0a0a2f2f20436f6d7075746520756e6971756520636f6c756d6e7320696e206f72646572206f6620646973636f766572792e0a66756e6374696f6e20696e666572436f6c756d6e7328726f777329207b0a202076617220636f6c756d6e536574203d204f626a6563742e637265617465286e756c6c292c0a202020202020636f6c756d6e73203d205b5d3b0a0a2020726f77732e666f72456163682866756e6374696f6e28726f7729207b0a20202020666f72202876617220636f6c756d6e20696e20726f7729207b0a202020202020696620282128636f6c756d6e20696e20636f6c756d6e5365742929207b0a2020202020202020636f6c756d6e732e7075736828636f6c756d6e5365745b636f6c756d6e5d203d20636f6c756d6e293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20636f6c756d6e733b0a7d0a0a76617220647376203d2066756e6374696f6e2864656c696d6974657229207b0a2020766172207265466f726d6174203d206e65772052656745787028225b5c2222202b2064656c696d69746572202b20225c6e5c725d22292c0a20202020202044454c494d49544552203d2064656c696d697465722e63686172436f646541742830293b0a0a202066756e6374696f6e20706172736528746578742c206629207b0a2020202076617220636f6e766572742c20636f6c756d6e732c20726f7773203d207061727365526f777328746578742c2066756e6374696f6e28726f772c206929207b0a20202020202069662028636f6e76657274292072657475726e20636f6e7665727428726f772c2069202d2031293b0a202020202020636f6c756d6e73203d20726f772c20636f6e76657274203d2066203f20637573746f6d436f6e76657274657228726f772c206629203a206f626a656374436f6e76657274657228726f77293b0a202020207d293b0a20202020726f77732e636f6c756d6e73203d20636f6c756d6e73207c7c205b5d3b0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e207061727365526f777328746578742c206629207b0a2020202076617220726f7773203d205b5d2c202f2f206f757470757420726f77730a20202020202020204e203d20746578742e6c656e6774682c0a202020202020202049203d20302c202f2f2063757272656e742063686172616374657220696e6465780a20202020202020206e203d20302c202f2f2063757272656e74206c696e65206e756d6265720a2020202020202020742c202f2f2063757272656e7420746f6b656e0a2020202020202020656f66203d204e203c3d20302c202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f463f0a2020202020202020656f6c203d2066616c73653b202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f4c3f0a0a202020202f2f2053747269702074686520747261696c696e67206e65776c696e652e0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d204e45574c494e4529202d2d4e3b0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d2052455455524e29202d2d4e3b0a0a2020202066756e6374696f6e20746f6b656e2829207b0a20202020202069662028656f66292072657475726e20454f463b0a20202020202069662028656f6c292072657475726e20656f6c203d2066616c73652c20454f4c3b0a0a2020202020202f2f20556e6573636170652071756f7465732e0a20202020202076617220692c206a203d20492c20633b0a20202020202069662028746578742e63686172436f64654174286a29203d3d3d2051554f544529207b0a20202020202020207768696c652028492b2b203c204e20262620746578742e63686172436f6465417428492920213d3d2051554f5445207c7c20746578742e63686172436f64654174282b2b4929203d3d3d2051554f5445293b0a2020202020202020696620282869203d204929203e3d204e2920656f66203d20747275653b0a2020202020202020656c736520696620282863203d20746578742e63686172436f6465417428492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a202020202020202072657475726e20746578742e736c696365286a202b20312c2069202d2031292e7265706c616365282f22222f672c20225c2222293b0a2020202020207d0a0a2020202020202f2f2046696e64206e6578742064656c696d69746572206f72206e65776c696e652e0a2020202020207768696c65202849203c204e29207b0a2020202020202020696620282863203d20746578742e63686172436f646541742869203d20492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a2020202020202020656c736520696620286320213d3d2044454c494d495445522920636f6e74696e75653b0a202020202020202072657475726e20746578742e736c696365286a2c2069293b0a2020202020207d0a0a2020202020202f2f2052657475726e206c61737420746f6b656e206265666f726520454f462e0a20202020202072657475726e20656f66203d20747275652c20746578742e736c696365286a2c204e293b0a202020207d0a0a202020207768696c6520282874203d20746f6b656e28292920213d3d20454f4629207b0a20202020202076617220726f77203d205b5d3b0a2020202020207768696c6520287420213d3d20454f4c202626207420213d3d20454f462920726f772e707573682874292c2074203d20746f6b656e28293b0a20202020202069662028662026262028726f77203d206628726f772c206e2b2b2929203d3d206e756c6c2920636f6e74696e75653b0a202020202020726f77732e7075736828726f77293b0a202020207d0a0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e20666f726d617428726f77732c20636f6c756d6e7329207b0a2020202069662028636f6c756d6e73203d3d206e756c6c2920636f6c756d6e73203d20696e666572436f6c756d6e7328726f7773293b0a2020202072657475726e205b636f6c756d6e732e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572295d2e636f6e63617428726f77732e6d61702866756e6374696f6e28726f7729207b0a20202020202072657475726e20636f6c756d6e732e6d61702866756e6374696f6e28636f6c756d6e29207b0a202020202020202072657475726e20666f726d617456616c756528726f775b636f6c756d6e5d293b0a2020202020207d292e6a6f696e2864656c696d69746572293b0a202020207d29292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f777328726f777329207b0a2020202072657475726e20726f77732e6d617028666f726d6174526f77292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f7728726f7729207b0a2020202072657475726e20726f772e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572293b0a20207d0a0a202066756e6374696f6e20666f726d617456616c7565287465787429207b0a2020202072657475726e2074657874203d3d206e756c6c203f2022220a20202020202020203a207265466f726d61742e746573742874657874202b3d20222229203f20225c2222202b20746578742e7265706c616365282f222f672c20225c225c222229202b20225c22220a20202020202020203a20746578743b0a20207d0a0a202072657475726e207b0a2020202070617273653a2070617273652c0a202020207061727365526f77733a207061727365526f77732c0a20202020666f726d61743a20666f726d61742c0a20202020666f726d6174526f77733a20666f726d6174526f77730a20207d3b0a7d3b0a0a76617220637376203d2064737628222c22293b0a0a766172206373765061727365203d206373762e70617273653b0a766172206373765061727365526f7773203d206373762e7061727365526f77733b0a76617220637376466f726d6174203d206373762e666f726d61743b0a76617220637376466f726d6174526f7773203d206373762e666f726d6174526f77733b0a0a76617220747376203d2064737628225c7422293b0a0a766172207473765061727365203d207473762e70617273653b0a766172207473765061727365526f7773203d207473762e7061727365526f77733b0a76617220747376466f726d6174203d207473762e666f726d61743b0a76617220747376466f726d6174526f7773203d207473762e666f726d6174526f77733b0a0a6578706f7274732e647376466f726d6174203d206473763b0a6578706f7274732e6373765061727365203d2063737650617273653b0a6578706f7274732e6373765061727365526f7773203d206373765061727365526f77733b0a6578706f7274732e637376466f726d6174203d20637376466f726d61743b0a6578706f7274732e637376466f726d6174526f7773203d20637376466f726d6174526f77733b0a6578706f7274732e7473765061727365203d2074737650617273653b0a6578706f7274732e7473765061727365526f7773203d207473765061727365526f77733b0a6578706f7274732e747376466f726d6174203d20747376466f726d61743b0a6578706f7274732e747376466f726d6174526f7773203d20747376466f726d6174526f77733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d656173652f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a66756e6374696f6e206c696e656172287429207b0a202072657475726e202b743b0a7d0a0a66756e6374696f6e2071756164496e287429207b0a202072657475726e2074202a20743b0a7d0a0a66756e6374696f6e20717561644f7574287429207b0a202072657475726e2074202a202832202d2074293b0a7d0a0a66756e6374696f6e2071756164496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074203a202d2d74202a202832202d207429202b203129202f20323b0a7d0a0a66756e6374696f6e206375626963496e287429207b0a202072657475726e2074202a2074202a20743b0a7d0a0a66756e6374696f6e2063756269634f7574287429207b0a202072657475726e202d2d74202a2074202a2074202b20313b0a7d0a0a66756e6374696f6e206375626963496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074202a2074203a202874202d3d203229202a2074202a2074202b203229202f20323b0a7d0a0a766172206578706f6e656e74203d20333b0a0a76617220706f6c79496e203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e287429207b0a2020202072657475726e204d6174682e706f7728742c2065293b0a20207d0a0a2020706f6c79496e2e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e3b0a7d29286578706f6e656e74293b0a0a76617220706f6c794f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c794f7574287429207b0a2020202072657475726e2031202d204d6174682e706f772831202d20742c2065293b0a20207d0a0a2020706f6c794f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c794f75743b0a7d29286578706f6e656e74293b0a0a76617220706f6c79496e4f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728742c206529203a2032202d204d6174682e706f772832202d20742c20652929202f20323b0a20207d0a0a2020706f6c79496e4f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e4f75743b0a7d29286578706f6e656e74293b0a0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a0a66756e6374696f6e2073696e496e287429207b0a202072657475726e2031202d204d6174682e636f732874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e4f7574287429207b0a202072657475726e204d6174682e73696e2874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e496e4f7574287429207b0a202072657475726e202831202d204d6174682e636f73287069202a20742929202f20323b0a7d0a0a66756e6374696f6e20657870496e287429207b0a202072657475726e204d6174682e706f7728322c203130202a2074202d203130293b0a7d0a0a66756e6374696f6e206578704f7574287429207b0a202072657475726e2031202d204d6174682e706f7728322c202d3130202a2074293b0a7d0a0a66756e6374696f6e20657870496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728322c203130202a2074202d20313029203a2032202d204d6174682e706f7728322c203130202d203130202a20742929202f20323b0a7d0a0a66756e6374696f6e20636972636c65496e287429207b0a202072657475726e2031202d204d6174682e737172742831202d2074202a2074293b0a7d0a0a66756e6374696f6e20636972636c654f7574287429207b0a202072657475726e204d6174682e737172742831202d202d2d74202a2074293b0a7d0a0a66756e6374696f6e20636972636c65496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d204d6174682e737172742831202d2074202a207429203a204d6174682e737172742831202d202874202d3d203229202a207429202b203129202f20323b0a7d0a0a766172206231203d2034202f2031313b0a766172206232203d2036202f2031313b0a766172206233203d2038202f2031313b0a766172206234203d2033202f20343b0a766172206235203d2039202f2031313b0a766172206236203d203130202f2031313b0a766172206237203d203135202f2031363b0a766172206238203d203231202f2032323b0a766172206239203d203633202f2036343b0a766172206230203d2031202f206231202f2062313b0a0a66756e6374696f6e20626f756e6365496e287429207b0a202072657475726e2031202d20626f756e63654f75742831202d2074293b0a7d0a0a66756e6374696f6e20626f756e63654f7574287429207b0a202072657475726e202874203d202b7429203c206231203f206230202a2074202a2074203a2074203c206233203f206230202a202874202d3d20623229202a2074202b206234203a2074203c206236203f206230202a202874202d3d20623529202a2074202b206237203a206230202a202874202d3d20623829202a2074202b2062393b0a7d0a0a66756e6374696f6e20626f756e6365496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d20626f756e63654f75742831202d207429203a20626f756e63654f75742874202d203129202b203129202f20323b0a7d0a0a766172206f76657273686f6f74203d20312e37303135383b0a0a766172206261636b496e203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e287429207b0a2020202072657475726e2074202a2074202a20282873202b203129202a2074202d2073293b0a20207d0a0a20206261636b496e2e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e3b0a7d29286f76657273686f6f74293b0a0a766172206261636b4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b4f7574287429207b0a2020202072657475726e202d2d74202a2074202a20282873202b203129202a2074202b207329202b20313b0a20207d0a0a20206261636b4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b4f75743b0a7d29286f76657273686f6f74293b0a0a766172206261636b496e4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c2031203f2074202a2074202a20282873202b203129202a2074202d207329203a202874202d3d203229202a2074202a20282873202b203129202a2074202b207329202b203229202f20323b0a20207d0a0a20206261636b496e4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e4f75743b0a7d29286f76657273686f6f74293b0a0a76617220746175203d2032202a204d6174682e50493b0a76617220616d706c6974756465203d20313b0a76617220706572696f64203d20302e333b0a0a76617220656c6173746963496e203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e287429207b0a2020202072657475726e2061202a204d6174682e706f7728322c203130202a202d2d7429202a204d6174682e73696e282873202d207429202f2070293b0a20207d0a0a2020656c6173746963496e2e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e2e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e3b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c61737469634f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c61737469634f7574287429207b0a2020202072657475726e2031202d2061202a204d6174682e706f7728322c202d3130202a202874203d202b742929202a204d6174682e73696e282874202b207329202f2070293b0a20207d0a0a2020656c61737469634f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c61737469634f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c61737469634f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c6173746963496e4f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e4f7574287429207b0a2020202072657475726e20282874203d2074202a2032202d203129203c20300a20202020202020203f2061202a204d6174682e706f7728322c203130202a207429202a204d6174682e73696e282873202d207429202f2070290a20202020202020203a2032202d2061202a204d6174682e706f7728322c202d3130202a207429202a204d6174682e73696e282873202b207429202f20702929202f20323b0a20207d0a0a2020656c6173746963496e4f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e4f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e4f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a6578706f7274732e656173654c696e656172203d206c696e6561723b0a6578706f7274732e6561736551756164203d2071756164496e4f75743b0a6578706f7274732e6561736551756164496e203d2071756164496e3b0a6578706f7274732e65617365517561644f7574203d20717561644f75743b0a6578706f7274732e6561736551756164496e4f7574203d2071756164496e4f75743b0a6578706f7274732e656173654375626963203d206375626963496e4f75743b0a6578706f7274732e656173654375626963496e203d206375626963496e3b0a6578706f7274732e6561736543756269634f7574203d2063756269634f75743b0a6578706f7274732e656173654375626963496e4f7574203d206375626963496e4f75743b0a6578706f7274732e65617365506f6c79203d20706f6c79496e4f75743b0a6578706f7274732e65617365506f6c79496e203d20706f6c79496e3b0a6578706f7274732e65617365506f6c794f7574203d20706f6c794f75743b0a6578706f7274732e65617365506f6c79496e4f7574203d20706f6c79496e4f75743b0a6578706f7274732e6561736553696e203d2073696e496e4f75743b0a6578706f7274732e6561736553696e496e203d2073696e496e3b0a6578706f7274732e6561736553696e4f7574203d2073696e4f75743b0a6578706f7274732e6561736553696e496e4f7574203d2073696e496e4f75743b0a6578706f7274732e65617365457870203d20657870496e4f75743b0a6578706f7274732e65617365457870496e203d20657870496e3b0a6578706f7274732e656173654578704f7574203d206578704f75743b0a6578706f7274732e65617365457870496e4f7574203d20657870496e4f75743b0a6578706f7274732e65617365436972636c65203d20636972636c65496e4f75743b0a6578706f7274732e65617365436972636c65496e203d20636972636c65496e3b0a6578706f7274732e65617365436972636c654f7574203d20636972636c654f75743b0a6578706f7274732e65617365436972636c65496e4f7574203d20636972636c65496e4f75743b0a6578706f7274732e65617365426f756e6365203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e203d20626f756e6365496e3b0a6578706f7274732e65617365426f756e63654f7574203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e4f7574203d20626f756e6365496e4f75743b0a6578706f7274732e656173654261636b203d206261636b496e4f75743b0a6578706f7274732e656173654261636b496e203d206261636b496e3b0a6578706f7274732e656173654261636b4f7574203d206261636b4f75743b0a6578706f7274732e656173654261636b496e4f7574203d206261636b496e4f75743b0a6578706f7274732e65617365456c6173746963203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e203d20656c6173746963496e3b0a6578706f7274732e65617365456c61737469634f7574203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e4f7574203d20656c6173746963496e4f75743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d666f7263652f2056657273696f6e20312e312e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d717561647472656527292c2072657175697265282764332d636f6c6c656374696f6e27292c2072657175697265282764332d646973706174636827292c2072657175697265282764332d74696d6572272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d7175616474726565272c202764332d636f6c6c656374696f6e272c202764332d6469737061746368272c202764332d74696d6572275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643351756164747265652c6433436f6c6c656374696f6e2c643344697370617463682c643354696d657229207b202775736520737472696374273b0a0a7661722063656e746572203d2066756e6374696f6e28782c207929207b0a2020766172206e6f6465733b0a0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206e6f64652c0a20202020202020207378203d20302c0a20202020202020207379203d20303b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c207378202b3d206e6f64652e782c207379202b3d206e6f64652e793b0a202020207d0a0a20202020666f7220287378203d207378202f206e202d20782c207379203d207379202f206e202d20792c2069203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e78202d3d2073782c206e6f64652e79202d3d2073793b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206a6967676c65203d2066756e6374696f6e2829207b0a202072657475726e20284d6174682e72616e646f6d2829202d20302e3529202a2031652d363b0a7d3b0a0a66756e6374696f6e2078286429207b0a202072657475726e20642e78202b20642e76783b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20642e79202b20642e76793b0a7d0a0a76617220636f6c6c696465203d2066756e6374696f6e2872616469757329207b0a2020766172206e6f6465732c0a20202020202072616469692c0a202020202020737472656e677468203d20312c0a202020202020697465726174696f6e73203d20313b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e7428726164697573203d3d206e756c6c203f2031203a202b726164697573293b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c0a2020202020202020747265652c0a20202020202020206e6f64652c0a202020202020202078692c0a202020202020202079692c0a202020202020202072692c0a20202020202020207269323b0a0a20202020666f722028766172206b203d20303b206b203c20697465726174696f6e733b202b2b6b29207b0a20202020202074726565203d20643351756164747265652e7175616474726565286e6f6465732c20782c2079292e766973697441667465722870726570617265293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020207269203d2072616469695b6e6f64652e696e6465785d2c20726932203d207269202a2072693b0a20202020202020207869203d206e6f64652e78202b206e6f64652e76783b0a20202020202020207969203d206e6f64652e79202b206e6f64652e76793b0a2020202020202020747265652e7669736974286170706c79293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e206170706c7928717561642c2078302c2079302c2078312c20793129207b0a2020202020207661722064617461203d20717561642e646174612c20726a203d20717561642e722c2072203d207269202b20726a3b0a202020202020696620286461746129207b0a202020202020202069662028646174612e696e646578203e206e6f64652e696e64657829207b0a202020202020202020207661722078203d207869202d20646174612e78202d20646174612e76782c0a202020202020202020202020202079203d207969202d20646174612e79202d20646174612e76792c0a20202020202020202020202020206c203d2078202a2078202b2079202a20793b0a20202020202020202020696620286c203c2072202a207229207b0a2020202020202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020202020206c203d202872202d20286c203d204d6174682e73717274286c292929202f206c202a20737472656e6774683b0a2020202020202020202020206e6f64652e7678202b3d202878202a3d206c29202a202872203d2028726a202a3d20726a29202f2028726932202b20726a29293b0a2020202020202020202020206e6f64652e7679202b3d202879202a3d206c29202a20723b0a202020202020202020202020646174612e7678202d3d2078202a202872203d2031202d2072293b0a202020202020202020202020646174612e7679202d3d2079202a20723b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a20202020202072657475726e207830203e207869202b2072207c7c207831203c207869202d2072207c7c207930203e207969202b2072207c7c207931203c207969202d20723b0a202020207d0a20207d0a0a202066756e6374696f6e2070726570617265287175616429207b0a2020202069662028717561642e64617461292072657475726e20717561642e72203d2072616469695b717561642e646174612e696e6465785d3b0a20202020666f7220287661722069203d20717561642e72203d20303b2069203c20343b202b2b6929207b0a20202020202069662028717561645b695d20262620717561645b695d2e72203e20717561642e7229207b0a2020202020202020717561642e72203d20717561645b695d2e723b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a202020207261646969203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c2072616469695b6e6f64652e696e6465785d203d202b726164697573286e6f64652c20692c206e6f646573293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d202b5f2c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a66756e6374696f6e20696e646578286429207b0a202072657475726e20642e696e6465783b0a7d0a0a66756e6374696f6e2066696e64286e6f6465427949642c206e6f6465496429207b0a2020766172206e6f6465203d206e6f6465427949642e676574286e6f64654964293b0a202069662028216e6f646529207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202072657475726e206e6f64653b0a7d0a0a766172206c696e6b203d2066756e6374696f6e286c696e6b7329207b0a2020766172206964203d20696e6465782c0a202020202020737472656e677468203d2064656661756c74537472656e6774682c0a202020202020737472656e677468732c0a20202020202064697374616e6365203d20636f6e7374616e74283330292c0a20202020202064697374616e6365732c0a2020202020206e6f6465732c0a202020202020636f756e742c0a202020202020626961732c0a202020202020697465726174696f6e73203d20313b0a0a2020696620286c696e6b73203d3d206e756c6c29206c696e6b73203d205b5d3b0a0a202066756e6374696f6e2064656661756c74537472656e677468286c696e6b29207b0a2020202072657475726e2031202f204d6174682e6d696e28636f756e745b6c696e6b2e736f757263652e696e6465785d2c20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a20207d0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f722028766172206b203d20302c206e203d206c696e6b732e6c656e6774683b206b203c20697465726174696f6e733b202b2b6b29207b0a202020202020666f7220287661722069203d20302c206c696e6b2c20736f757263652c207461726765742c20782c20792c206c2c20623b2069203c206e3b202b2b6929207b0a20202020202020206c696e6b203d206c696e6b735b695d2c20736f75726365203d206c696e6b2e736f757263652c20746172676574203d206c696e6b2e7461726765743b0a202020202020202078203d207461726765742e78202b207461726765742e7678202d20736f757263652e78202d20736f757263652e7678207c7c206a6967676c6528293b0a202020202020202079203d207461726765742e79202b207461726765742e7679202d20736f757263652e79202d20736f757263652e7679207c7c206a6967676c6528293b0a20202020202020206c203d204d6174682e737172742878202a2078202b2079202a2079293b0a20202020202020206c203d20286c202d2064697374616e6365735b695d29202f206c202a20616c706861202a20737472656e677468735b695d3b0a202020202020202078202a3d206c2c2079202a3d206c3b0a20202020202020207461726765742e7678202d3d2078202a202862203d20626961735b695d293b0a20202020202020207461726765742e7679202d3d2079202a20623b0a2020202020202020736f757263652e7678202b3d2078202a202862203d2031202d2062293b0a2020202020202020736f757263652e7679202b3d2079202a20623b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206d203d206c696e6b732e6c656e6774682c0a20202020202020206e6f646542794964203d206433436f6c6c656374696f6e2e6d6170286e6f6465732c206964292c0a20202020202020206c696e6b3b0a0a20202020666f72202869203d20302c20636f756e74203d206e6577204172726179286e293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c206c696e6b2e696e646578203d20693b0a20202020202069662028747970656f66206c696e6b2e736f7572636520213d3d20226f626a6563742229206c696e6b2e736f75726365203d2066696e64286e6f6465427949642c206c696e6b2e736f75726365293b0a20202020202069662028747970656f66206c696e6b2e74617267657420213d3d20226f626a6563742229206c696e6b2e746172676574203d2066696e64286e6f6465427949642c206c696e6b2e746172676574293b0a202020202020636f756e745b6c696e6b2e736f757263652e696e6465785d203d2028636f756e745b6c696e6b2e736f757263652e696e6465785d207c7c203029202b20313b0a202020202020636f756e745b6c696e6b2e7461726765742e696e6465785d203d2028636f756e745b6c696e6b2e7461726765742e696e6465785d207c7c203029202b20313b0a202020207d0a0a20202020666f72202869203d20302c2062696173203d206e6577204172726179286d293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c20626961735b695d203d20636f756e745b6c696e6b2e736f757263652e696e6465785d202f2028636f756e745b6c696e6b2e736f757263652e696e6465785d202b20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a202020207d0a0a20202020737472656e67746873203d206e6577204172726179286d292c20696e697469616c697a65537472656e67746828293b0a2020202064697374616e636573203d206e6577204172726179286d292c20696e697469616c697a6544697374616e636528293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a65537472656e6774682829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d202b737472656e677468286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a6544697374616e63652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202064697374616e6365735b695d203d202b64697374616e6365286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e6c696e6b73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c696e6b73203d205f2c20696e697469616c697a6528292c20666f72636529203a206c696e6b733b0a20207d3b0a0a2020666f7263652e6964203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d205f2c20666f72636529203a2069643b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a65537472656e67746828292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e6365203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6544697374616e636528292c20666f72636529203a2064697374616e63653b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a66756e6374696f6e20782431286429207b0a202072657475726e20642e783b0a7d0a0a66756e6374696f6e20792431286429207b0a202072657475726e20642e793b0a7d0a0a76617220696e697469616c526164697573203d2031303b0a76617220696e697469616c416e676c65203d204d6174682e5049202a202833202d204d6174682e73717274283529293b0a0a7661722073696d756c6174696f6e203d2066756e6374696f6e286e6f64657329207b0a20207661722073696d756c6174696f6e2c0a202020202020616c706861203d20312c0a202020202020616c7068614d696e203d20302e3030312c0a202020202020616c7068614465636179203d2031202d204d6174682e706f7728616c7068614d696e2c2031202f20333030292c0a202020202020616c706861546172676574203d20302c0a20202020202076656c6f636974794465636179203d20302e362c0a202020202020666f72636573203d206433436f6c6c656374696f6e2e6d617028292c0a20202020202073746570706572203d20643354696d65722e74696d65722873746570292c0a2020202020206576656e74203d20643344697370617463682e646973706174636828227469636b222c2022656e6422293b0a0a2020696620286e6f646573203d3d206e756c6c29206e6f646573203d205b5d3b0a0a202066756e6374696f6e20737465702829207b0a202020207469636b28293b0a202020206576656e742e63616c6c28227469636b222c2073696d756c6174696f6e293b0a2020202069662028616c706861203c20616c7068614d696e29207b0a202020202020737465707065722e73746f7028293b0a2020202020206576656e742e63616c6c2822656e64222c2073696d756c6174696f6e293b0a202020207d0a20207d0a0a202066756e6374696f6e207469636b2829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a0a20202020616c706861202b3d2028616c706861546172676574202d20616c70686129202a20616c70686144656361793b0a0a20202020666f726365732e656163682866756e6374696f6e28666f72636529207b0a202020202020666f72636528616c706861293b0a202020207d293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d3b0a202020202020696620286e6f64652e6678203d3d206e756c6c29206e6f64652e78202b3d206e6f64652e7678202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e78203d206e6f64652e66782c206e6f64652e7678203d20303b0a202020202020696620286e6f64652e6679203d3d206e756c6c29206e6f64652e79202b3d206e6f64652e7679202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e79203d206e6f64652e66792c206e6f64652e7679203d20303b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a654e6f6465732829207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e696e646578203d20693b0a2020202020206966202869734e614e286e6f64652e7829207c7c2069734e614e286e6f64652e792929207b0a202020202020202076617220726164697573203d20696e697469616c526164697573202a204d6174682e737172742869292c20616e676c65203d2069202a20696e697469616c416e676c653b0a20202020202020206e6f64652e78203d20726164697573202a204d6174682e636f7328616e676c65293b0a20202020202020206e6f64652e79203d20726164697573202a204d6174682e73696e28616e676c65293b0a2020202020207d0a2020202020206966202869734e614e286e6f64652e767829207c7c2069734e614e286e6f64652e76792929207b0a20202020202020206e6f64652e7678203d206e6f64652e7679203d20303b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a65466f72636528666f72636529207b0a2020202069662028666f7263652e696e697469616c697a652920666f7263652e696e697469616c697a65286e6f646573293b0a2020202072657475726e20666f7263653b0a20207d0a0a2020696e697469616c697a654e6f64657328293b0a0a202072657475726e2073696d756c6174696f6e203d207b0a202020207469636b3a207469636b2c0a0a20202020726573746172743a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e726573746172742873746570292c2073696d756c6174696f6e3b0a202020207d2c0a0a2020202073746f703a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e73746f7028292c2073696d756c6174696f6e3b0a202020207d2c0a0a202020206e6f6465733a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646573203d205f2c20696e697469616c697a654e6f64657328292c20666f726365732e6561636828696e697469616c697a65466f726365292c2073696d756c6174696f6e29203a206e6f6465733b0a202020207d2c0a0a20202020616c7068613a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d202b5f2c2073696d756c6174696f6e29203a20616c7068613b0a202020207d2c0a0a20202020616c7068614d696e3a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614d696e203d202b5f2c2073696d756c6174696f6e29203a20616c7068614d696e3b0a202020207d2c0a0a20202020616c70686144656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614465636179203d202b5f2c2073696d756c6174696f6e29203a202b616c70686144656361793b0a202020207d2c0a0a20202020616c7068615461726765743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861546172676574203d202b5f2c2073696d756c6174696f6e29203a20616c7068615461726765743b0a202020207d2c0a0a2020202076656c6f6369747944656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f202876656c6f636974794465636179203d2031202d205f2c2073696d756c6174696f6e29203a2031202d2076656c6f6369747944656361793b0a202020207d2c0a0a20202020666f7263653a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f2028285f203d3d206e756c6c203f20666f726365732e72656d6f7665286e616d6529203a20666f726365732e736574286e616d652c20696e697469616c697a65466f726365285f2929292c2073696d756c6174696f6e29203a20666f726365732e676574286e616d65293b0a202020207d2c0a0a2020202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a2020202020207661722069203d20302c0a202020202020202020206e203d206e6f6465732e6c656e6774682c0a2020202020202020202064782c0a2020202020202020202064792c0a2020202020202020202064322c0a202020202020202020206e6f64652c0a20202020202020202020636c6f736573743b0a0a20202020202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a202020202020656c736520726164697573202a3d207261646975733b0a0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020206478203d2078202d206e6f64652e783b0a20202020202020206479203d2079202d206e6f64652e793b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c207261646975732920636c6f73657374203d206e6f64652c20726164697573203d2064323b0a2020202020207d0a0a20202020202072657475726e20636c6f736573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20286576656e742e6f6e286e616d652c205f292c2073696d756c6174696f6e29203a206576656e742e6f6e286e616d65293b0a202020207d0a20207d3b0a7d3b0a0a766172206d616e79426f6479203d2066756e6374696f6e2829207b0a2020766172206e6f6465732c0a2020202020206e6f64652c0a202020202020616c7068612c0a202020202020737472656e677468203d20636f6e7374616e74282d3330292c0a202020202020737472656e677468732c0a20202020202064697374616e63654d696e32203d20312c0a20202020202064697374616e63654d617832203d20496e66696e6974792c0a202020202020746865746132203d20302e38313b0a0a202066756e6374696f6e20666f726365285f29207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c2074726565203d20643351756164747265652e7175616474726565286e6f6465732c207824312c20792431292e7669736974416674657228616363756d756c617465293b0a20202020666f722028616c706861203d205f2c2069203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20747265652e7669736974286170706c79293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20737472656e677468735b6e6f64652e696e6465785d203d202b737472656e677468286e6f64652c20692c206e6f646573293b0a20207d0a0a202066756e6374696f6e20616363756d756c617465287175616429207b0a2020202076617220737472656e677468203d20302c20712c20632c20776569676874203d20302c20782c20792c20693b0a0a202020202f2f20466f7220696e7465726e616c206e6f6465732c20616363756d756c61746520666f726365732066726f6d206368696c64207175616472616e74732e0a2020202069662028717561642e6c656e67746829207b0a202020202020666f72202878203d2079203d2069203d20303b2069203c20343b202b2b6929207b0a2020202020202020696620282871203d20717561645b695d29202626202863203d204d6174682e61627328712e76616c7565292929207b0a20202020202020202020737472656e677468202b3d20712e76616c75652c20776569676874202b3d20632c2078202b3d2063202a20712e782c2079202b3d2063202a20712e793b0a20202020202020207d0a2020202020207d0a202020202020717561642e78203d2078202f207765696768743b0a202020202020717561642e79203d2079202f207765696768743b0a202020207d0a0a202020202f2f20466f72206c656166206e6f6465732c20616363756d756c61746520666f726365732066726f6d20636f696e636964656e74207175616472616e74732e0a20202020656c7365207b0a20202020202071203d20717561643b0a202020202020712e78203d20712e646174612e783b0a202020202020712e79203d20712e646174612e793b0a202020202020646f20737472656e677468202b3d20737472656e677468735b712e646174612e696e6465785d3b0a2020202020207768696c65202871203d20712e6e657874293b0a202020207d0a0a20202020717561642e76616c7565203d20737472656e6774683b0a20207d0a0a202066756e6374696f6e206170706c7928717561642c2078312c205f2c20783229207b0a202020206966202821717561642e76616c7565292072657475726e20747275653b0a0a202020207661722078203d20717561642e78202d206e6f64652e782c0a202020202020202079203d20717561642e79202d206e6f64652e792c0a202020202020202077203d207832202d2078312c0a20202020202020206c203d2078202a2078202b2079202a20793b0a0a202020202f2f204170706c7920746865204261726e65732d48757420617070726f78696d6174696f6e20696620706f737369626c652e0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a202020206966202877202a2077202f20746865746132203c206c29207b0a202020202020696620286c203c2064697374616e63654d61783229207b0a20202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a20202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a20202020202020206e6f64652e7678202b3d2078202a20717561642e76616c7565202a20616c706861202f206c3b0a20202020202020206e6f64652e7679202b3d2079202a20717561642e76616c7565202a20616c706861202f206c3b0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2f204f74686572776973652c2070726f6365737320706f696e7473206469726563746c792e0a20202020656c73652069662028717561642e6c656e677468207c7c206c203e3d2064697374616e63654d617832292072657475726e3b0a0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a2020202069662028717561642e6461746120213d3d206e6f6465207c7c20717561642e6e65787429207b0a2020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a202020207d0a0a20202020646f2069662028717561642e6461746120213d3d206e6f646529207b0a20202020202077203d20737472656e677468735b717561642e646174612e696e6465785d202a20616c706861202f206c3b0a2020202020206e6f64652e7678202b3d2078202a20773b0a2020202020206e6f64652e7679202b3d2079202a20773b0a202020207d207768696c65202871756164203d20717561642e6e657874293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e63654d696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d696e32203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d696e32293b0a20207d3b0a0a2020666f7263652e64697374616e63654d6178203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d617832203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d617832293b0a20207d3b0a0a2020666f7263652e7468657461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746865746132203d205f202a205f2c20666f72636529203a204d6174682e7371727428746865746132293b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a7661722072616469616c203d2066756e6374696f6e287261646975732c20782c207929207b0a2020766172206e6f6465732c0a202020202020737472656e677468203d20636f6e7374616e7428302e31292c0a202020202020737472656e677468732c0a20202020202072616469757365733b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e74282b726164697573293b0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d206e6f6465735b695d2c0a202020202020202020206478203d206e6f64652e78202d2078207c7c2031652d362c0a202020202020202020206479203d206e6f64652e79202d2079207c7c2031652d362c0a2020202020202020202072203d204d6174682e73717274286478202a206478202b206479202a206479292c0a202020202020202020206b203d202872616469757365735b695d202d207229202a20737472656e677468735b695d202a20616c706861202f20723b0a2020202020206e6f64652e7678202b3d206478202a206b3b0a2020202020206e6f64652e7679202b3d206479202a206b3b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a202020207261646975736573203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202072616469757365735b695d203d202b726164697573286e6f6465735b695d2c20692c206e6f646573293b0a202020202020737472656e677468735b695d203d2069734e614e2872616469757365735b695d29203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f2c20696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220782432203d2066756e6374696f6e287829207b0a202076617220737472656e677468203d20636f6e7374616e7428302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020787a3b0a0a202069662028747970656f66207820213d3d202266756e6374696f6e22292078203d20636f6e7374616e742878203d3d206e756c6c203f2030203a202b78293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7678202b3d2028787a5b695d202d206e6f64652e7829202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020787a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28787a5b695d203d202b78286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20783b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220792432203d2066756e6374696f6e287929207b0a202076617220737472656e677468203d20636f6e7374616e7428302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020797a3b0a0a202069662028747970656f66207920213d3d202266756e6374696f6e22292079203d20636f6e7374616e742879203d3d206e756c6c203f2030203a202b79293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7679202b3d2028797a5b695d202d206e6f64652e7929202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020797a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28797a5b695d203d202b79286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a6578706f7274732e666f72636543656e746572203d2063656e7465723b0a6578706f7274732e666f726365436f6c6c696465203d20636f6c6c6964653b0a6578706f7274732e666f7263654c696e6b203d206c696e6b3b0a6578706f7274732e666f7263654d616e79426f6479203d206d616e79426f64793b0a6578706f7274732e666f72636552616469616c203d2072616469616c3b0a6578706f7274732e666f72636553696d756c6174696f6e203d2073696d756c6174696f6e3b0a6578706f7274732e666f72636558203d207824323b0a6578706f7274732e666f72636559203d207924323b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6c656374696f6e223a34332c2264332d6469737061746368223a34352c2264332d7175616474726565223a35362c2264332d74696d6572223a36357d5d2c35303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d666f726d61742f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a2f2f20436f6d70757465732074686520646563696d616c20636f656666696369656e7420616e64206578706f6e656e74206f662074686520737065636966696564206e756d626572207820776974680a2f2f207369676e69666963616e742064696769747320702c207768657265207820697320706f73697469766520616e64207020697320696e205b312c2032315d206f7220756e646566696e65642e0a2f2f20466f72206578616d706c652c20666f726d6174446563696d616c28312e3233292072657475726e73205b22313233222c20305d2e0a76617220666f726d6174446563696d616c203d2066756e6374696f6e28782c207029207b0a2020696620282869203d202878203d2070203f20782e746f4578706f6e656e7469616c2870202d203129203a20782e746f4578706f6e656e7469616c2829292e696e6465784f66282265222929203c2030292072657475726e206e756c6c3b202f2f204e614e2c20c2b1496e66696e6974790a202076617220692c20636f656666696369656e74203d20782e736c69636528302c2069293b0a0a20202f2f2054686520737472696e672072657475726e656420627920746f4578706f6e656e7469616c20656974686572206861732074686520666f726d205c645c2e5c642b655b2d2b5d5c642b0a20202f2f2028652e672e2c20312e32652b3329206f722074686520666f726d205c64655b2d2b5d5c642b2028652e672e2c2031652b33292e0a202072657475726e205b0a20202020636f656666696369656e742e6c656e677468203e2031203f20636f656666696369656e745b305d202b20636f656666696369656e742e736c696365283229203a20636f656666696369656e742c0a202020202b782e736c6963652869202b2031290a20205d3b0a7d3b0a0a766172206578706f6e656e74203d2066756e6374696f6e287829207b0a202072657475726e2078203d20666f726d6174446563696d616c284d6174682e616273287829292c2078203f20785b315d203a204e614e3b0a7d3b0a0a76617220666f726d617447726f7570203d2066756e6374696f6e2867726f7570696e672c2074686f7573616e647329207b0a202072657475726e2066756e6374696f6e2876616c75652c20776964746829207b0a202020207661722069203d2076616c75652e6c656e6774682c0a202020202020202074203d205b5d2c0a20202020202020206a203d20302c0a202020202020202067203d2067726f7570696e675b305d2c0a20202020202020206c656e677468203d20303b0a0a202020207768696c65202869203e20302026262067203e203029207b0a202020202020696620286c656e677468202b2067202b2031203e207769647468292067203d204d6174682e6d617828312c207769647468202d206c656e677468293b0a202020202020742e707573682876616c75652e737562737472696e672869202d3d20672c2069202b206729293b0a20202020202069662028286c656e677468202b3d2067202b203129203e2077696474682920627265616b3b0a20202020202067203d2067726f7570696e675b6a203d20286a202b20312920252067726f7570696e672e6c656e6774685d3b0a202020207d0a0a2020202072657475726e20742e7265766572736528292e6a6f696e2874686f7573616e6473293b0a20207d3b0a7d3b0a0a76617220666f726d61744e756d6572616c73203d2066756e6374696f6e286e756d6572616c7329207b0a202072657475726e2066756e6374696f6e2876616c756529207b0a2020202072657475726e2076616c75652e7265706c616365282f5b302d395d2f672c2066756e6374696f6e286929207b0a20202020202072657475726e206e756d6572616c735b2b695d3b0a202020207d293b0a20207d3b0a7d3b0a0a76617220666f726d617444656661756c74203d2066756e6374696f6e28782c207029207b0a202078203d20782e746f507265636973696f6e2870293b0a0a20206f75743a20666f722028766172206e203d20782e6c656e6774682c2069203d20312c206930203d202d312c2069313b2069203c206e3b202b2b6929207b0a202020207377697463682028785b695d29207b0a2020202020206361736520222e223a206930203d206931203d20693b20627265616b3b0a20202020202063617365202230223a20696620286930203d3d3d203029206930203d20693b206931203d20693b20627265616b3b0a20202020202063617365202265223a20627265616b206f75743b0a20202020202064656661756c743a20696620286930203e203029206930203d20303b20627265616b3b0a202020207d0a20207d0a0a202072657475726e206930203e2030203f20782e736c69636528302c20693029202b20782e736c696365286931202b203129203a20783b0a7d3b0a0a766172207072656669784578706f6e656e743b0a0a76617220666f726d61745072656669784175746f203d2066756e6374696f6e28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d2c0a20202020202069203d206578706f6e656e74202d20287072656669784578706f6e656e74203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e74202f2033292929202a203329202b20312c0a2020202020206e203d20636f656666696369656e742e6c656e6774683b0a202072657475726e2069203d3d3d206e203f20636f656666696369656e740a2020202020203a2069203e206e203f20636f656666696369656e74202b206e65772041727261792869202d206e202b2031292e6a6f696e28223022290a2020202020203a2069203e2030203f20636f656666696369656e742e736c69636528302c206929202b20222e22202b20636f656666696369656e742e736c6963652869290a2020202020203a2022302e22202b206e65772041727261792831202d2069292e6a6f696e2822302229202b20666f726d6174446563696d616c28782c204d6174682e6d617828302c2070202b2069202d203129295b305d3b202f2f206c657373207468616e203179210a7d3b0a0a76617220666f726d6174526f756e646564203d2066756e6374696f6e28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d3b0a202072657475726e206578706f6e656e74203c2030203f2022302e22202b206e6577204172726179282d6578706f6e656e74292e6a6f696e2822302229202b20636f656666696369656e740a2020202020203a20636f656666696369656e742e6c656e677468203e206578706f6e656e74202b2031203f20636f656666696369656e742e736c69636528302c206578706f6e656e74202b203129202b20222e22202b20636f656666696369656e742e736c696365286578706f6e656e74202b2031290a2020202020203a20636f656666696369656e74202b206e6577204172726179286578706f6e656e74202d20636f656666696369656e742e6c656e677468202b2032292e6a6f696e28223022293b0a7d3b0a0a76617220666f726d61745479706573203d207b0a202022223a20666f726d617444656661756c742c0a20202225223a2066756e6374696f6e28782c207029207b2072657475726e202878202a20313030292e746f46697865642870293b207d2c0a20202262223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672832293b207d2c0a20202263223a2066756e6374696f6e287829207b2072657475726e2078202b2022223b207d2c0a20202264223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283130293b207d2c0a20202265223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f4578706f6e656e7469616c2870293b207d2c0a20202266223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f46697865642870293b207d2c0a20202267223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f507265636973696f6e2870293b207d2c0a2020226f223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672838293b207d2c0a20202270223a2066756e6374696f6e28782c207029207b2072657475726e20666f726d6174526f756e6465642878202a203130302c2070293b207d2c0a20202272223a20666f726d6174526f756e6465642c0a20202273223a20666f726d61745072656669784175746f2c0a20202258223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136292e746f55707065724361736528293b207d2c0a20202278223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136293b207d0a7d3b0a0a2f2f205b5b66696c6c5d616c69676e5d5b7369676e5d5b73796d626f6c5d5b305d5b77696474685d5b2c5d5b2e707265636973696f6e5d5b747970655d0a766172207265203d202f5e283f3a282e293f285b3c3e3d5e5d29293f285b2b5c2d5c28205d293f285b24235d293f2830293f285c642b293f282c293f285c2e5c642b293f285b612d7a255d293f242f693b0a0a66756e6374696f6e20666f726d61745370656369666965722873706563696669657229207b0a202072657475726e206e657720466f726d617453706563696669657228737065636966696572293b0a7d0a0a666f726d61745370656369666965722e70726f746f74797065203d20466f726d61745370656369666965722e70726f746f747970653b202f2f20696e7374616e63656f660a0a66756e6374696f6e20466f726d61745370656369666965722873706563696669657229207b0a20206966202821286d61746368203d2072652e6578656328737065636966696572292929207468726f77206e6577204572726f722822696e76616c696420666f726d61743a2022202b20737065636966696572293b0a0a2020766172206d617463682c0a20202020202066696c6c203d206d617463685b315d207c7c202220222c0a202020202020616c69676e203d206d617463685b325d207c7c20223e222c0a2020202020207369676e203d206d617463685b335d207c7c20222d222c0a20202020202073796d626f6c203d206d617463685b345d207c7c2022222c0a2020202020207a65726f203d2021216d617463685b355d2c0a2020202020207769647468203d206d617463685b365d202626202b6d617463685b365d2c0a202020202020636f6d6d61203d2021216d617463685b375d2c0a202020202020707265636973696f6e203d206d617463685b385d202626202b6d617463685b385d2e736c6963652831292c0a20202020202074797065203d206d617463685b395d207c7c2022223b0a0a20202f2f2054686520226e22207479706520697320616e20616c69617320666f7220222c67222e0a20206966202874797065203d3d3d20226e222920636f6d6d61203d20747275652c2074797065203d202267223b0a0a20202f2f204d617020696e76616c696420747970657320746f207468652064656661756c7420666f726d61742e0a2020656c7365206966202821666f726d617454797065735b747970655d292074797065203d2022223b0a0a20202f2f204966207a65726f2066696c6c206973207370656369666965642c2070616464696e6720676f6573206166746572207369676e20616e64206265666f7265206469676974732e0a2020696620287a65726f207c7c202866696c6c203d3d3d2022302220262620616c69676e203d3d3d20223d222929207a65726f203d20747275652c2066696c6c203d202230222c20616c69676e203d20223d223b0a0a2020746869732e66696c6c203d2066696c6c3b0a2020746869732e616c69676e203d20616c69676e3b0a2020746869732e7369676e203d207369676e3b0a2020746869732e73796d626f6c203d2073796d626f6c3b0a2020746869732e7a65726f203d207a65726f3b0a2020746869732e7769647468203d2077696474683b0a2020746869732e636f6d6d61203d20636f6d6d613b0a2020746869732e707265636973696f6e203d20707265636973696f6e3b0a2020746869732e74797065203d20747970653b0a7d0a0a466f726d61745370656369666965722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a202072657475726e20746869732e66696c6c0a2020202020202b20746869732e616c69676e0a2020202020202b20746869732e7369676e0a2020202020202b20746869732e73796d626f6c0a2020202020202b2028746869732e7a65726f203f20223022203a202222290a2020202020202b2028746869732e7769647468203d3d206e756c6c203f202222203a204d6174682e6d617828312c20746869732e7769647468207c203029290a2020202020202b2028746869732e636f6d6d61203f20222c22203a202222290a2020202020202b2028746869732e707265636973696f6e203d3d206e756c6c203f202222203a20222e22202b204d6174682e6d617828302c20746869732e707265636973696f6e207c203029290a2020202020202b20746869732e747970653b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a766172207072656669786573203d205b2279222c227a222c2261222c2266222c2270222c226e222c22c2b5222c226d222c22222c226b222c224d222c2247222c2254222c2250222c2245222c225a222c2259225d3b0a0a76617220666f726d61744c6f63616c65203d2066756e6374696f6e286c6f63616c6529207b0a20207661722067726f7570203d206c6f63616c652e67726f7570696e67202626206c6f63616c652e74686f7573616e6473203f20666f726d617447726f7570286c6f63616c652e67726f7570696e672c206c6f63616c652e74686f7573616e647329203a206964656e746974792c0a20202020202063757272656e6379203d206c6f63616c652e63757272656e63792c0a202020202020646563696d616c203d206c6f63616c652e646563696d616c2c0a2020202020206e756d6572616c73203d206c6f63616c652e6e756d6572616c73203f20666f726d61744e756d6572616c73286c6f63616c652e6e756d6572616c7329203a206964656e746974792c0a20202020202070657263656e74203d206c6f63616c652e70657263656e74207c7c202225223b0a0a202066756e6374696f6e206e6577466f726d61742873706563696669657229207b0a20202020737065636966696572203d20666f726d617453706563696669657228737065636966696572293b0a0a202020207661722066696c6c203d207370656369666965722e66696c6c2c0a2020202020202020616c69676e203d207370656369666965722e616c69676e2c0a20202020202020207369676e203d207370656369666965722e7369676e2c0a202020202020202073796d626f6c203d207370656369666965722e73796d626f6c2c0a20202020202020207a65726f203d207370656369666965722e7a65726f2c0a20202020202020207769647468203d207370656369666965722e77696474682c0a2020202020202020636f6d6d61203d207370656369666965722e636f6d6d612c0a2020202020202020707265636973696f6e203d207370656369666965722e707265636973696f6e2c0a202020202020202074797065203d207370656369666965722e747970653b0a0a202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202f2f20466f722053492d7072656669782c2074686520737566666978206973206c617a696c7920636f6d70757465642e0a2020202076617220707265666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b305d203a2073796d626f6c203d3d3d20222322202626202f5b626f78585d2f2e74657374287479706529203f20223022202b20747970652e746f4c6f776572436173652829203a2022222c0a2020202020202020737566666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b315d203a202f5b25705d2f2e74657374287479706529203f2070657263656e74203a2022223b0a0a202020202f2f205768617420666f726d61742066756e6374696f6e2073686f756c64207765207573653f0a202020202f2f204973207468697320616e20696e746567657220747970653f0a202020202f2f2043616e207468697320747970652067656e6572617465206578706f6e656e7469616c206e6f746174696f6e3f0a2020202076617220666f726d617454797065203d20666f726d617454797065735b747970655d2c0a20202020202020206d61796265537566666978203d202174797065207c7c202f5b64656667707273255d2f2e746573742874797065293b0a0a202020202f2f20536574207468652064656661756c7420707265636973696f6e206966206e6f74207370656369666965642c0a202020202f2f206f7220636c616d70207468652073706563696669656420707265636973696f6e20746f2074686520737570706f727465642072616e67652e0a202020202f2f20466f72207369676e69666963616e7420707265636973696f6e2c206974206d75737420626520696e205b312c2032315d2e0a202020202f2f20466f7220666978656420707265636973696f6e2c206974206d75737420626520696e205b302c2032305d2e0a20202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f202874797065203f2036203a203132290a20202020202020203a202f5b677072735d2f2e74657374287479706529203f204d6174682e6d617828312c204d6174682e6d696e2832312c20707265636973696f6e29290a20202020202020203a204d6174682e6d617828302c204d6174682e6d696e2832302c20707265636973696f6e29293b0a0a2020202066756e6374696f6e20666f726d61742876616c756529207b0a2020202020207661722076616c7565507265666978203d207072656669782c0a2020202020202020202076616c7565537566666978203d207375666669782c0a20202020202020202020692c206e2c20633b0a0a2020202020206966202874797065203d3d3d2022632229207b0a202020202020202076616c7565537566666978203d20666f726d6174547970652876616c756529202b2076616c75655375666669783b0a202020202020202076616c7565203d2022223b0a2020202020207d20656c7365207b0a202020202020202076616c7565203d202b76616c75653b0a0a20202020202020202f2f20506572666f726d2074686520696e697469616c20666f726d617474696e672e0a20202020202020207661722076616c75654e65676174697665203d2076616c7565203c20303b0a202020202020202076616c7565203d20666f726d617454797065284d6174682e6162732876616c7565292c20707265636973696f6e293b0a0a20202020202020202f2f2049662061206e656761746976652076616c756520726f756e647320746f207a65726f20647572696e6720666f726d617474696e672c20747265617420617320706f7369746976652e0a20202020202020206966202876616c75654e65676174697665202626202b76616c7565203d3d3d2030292076616c75654e65676174697665203d2066616c73653b0a0a20202020202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202020202076616c7565507265666978203d202876616c75654e65676174697665203f20287369676e203d3d3d20222822203f207369676e203a20222d2229203a207369676e203d3d3d20222d22207c7c207369676e203d3d3d20222822203f202222203a207369676e29202b2076616c75655072656669783b0a202020202020202076616c7565537566666978203d2076616c7565537566666978202b202874797065203d3d3d20227322203f2070726566697865735b38202b207072656669784578706f6e656e74202f20335d203a20222229202b202876616c75654e65676174697665202626207369676e203d3d3d20222822203f20222922203a202222293b0a0a20202020202020202f2f20427265616b2074686520666f726d61747465642076616c756520696e746f2074686520696e746567657220e2809c76616c7565e2809d207061727420746861742063616e2062650a20202020202020202f2f2067726f757065642c20616e64206672616374696f6e616c206f72206578706f6e656e7469616c20e2809c737566666978e2809d20706172742074686174206973206e6f742e0a2020202020202020696620286d6179626553756666697829207b0a2020202020202020202069203d202d312c206e203d2076616c75652e6c656e6774683b0a202020202020202020207768696c6520282b2b69203c206e29207b0a2020202020202020202020206966202863203d2076616c75652e63686172436f646541742869292c203438203e2063207c7c2063203e20353729207b0a202020202020202020202020202076616c7565537566666978203d202863203d3d3d203436203f20646563696d616c202b2076616c75652e736c6963652869202b203129203a2076616c75652e736c69636528692929202b2076616c75655375666669783b0a202020202020202020202020202076616c7565203d2076616c75652e736c69636528302c2069293b0a2020202020202020202020202020627265616b3b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973206e6f74202230222c2067726f7570696e67206973206170706c696564206265666f72652070616464696e672e0a20202020202069662028636f6d6d6120262620217a65726f292076616c7565203d2067726f75702876616c75652c20496e66696e697479293b0a0a2020202020202f2f20436f6d70757465207468652070616464696e672e0a202020202020766172206c656e677468203d2076616c75655072656669782e6c656e677468202b2076616c75652e6c656e677468202b2076616c75655375666669782e6c656e6774682c0a2020202020202020202070616464696e67203d206c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29203a2022223b0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973202230222c2067726f7570696e67206973206170706c6965642061667465722070616464696e672e0a20202020202069662028636f6d6d61202626207a65726f292076616c7565203d2067726f75702870616464696e67202b2076616c75652c2070616464696e672e6c656e677468203f207769647468202d2076616c75655375666669782e6c656e677468203a20496e66696e697479292c2070616464696e67203d2022223b0a0a2020202020202f2f205265636f6e737472756374207468652066696e616c206f7574707574206261736564206f6e20746865206465736972656420616c69676e6d656e742e0a2020202020207377697463682028616c69676e29207b0a20202020202020206361736520223c223a2076616c7565203d2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e673b20627265616b3b0a20202020202020206361736520223d223a2076616c7565203d2076616c7565507265666978202b2070616464696e67202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a20202020202020206361736520225e223a2076616c7565203d2070616464696e672e736c69636528302c206c656e677468203d2070616464696e672e6c656e677468203e3e203129202b2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e672e736c696365286c656e677468293b20627265616b3b0a202020202020202064656661756c743a2076616c7565203d2070616464696e67202b2076616c7565507265666978202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a2020202020207d0a0a20202020202072657475726e206e756d6572616c732876616c7565293b0a202020207d0a0a20202020666f726d61742e746f537472696e67203d2066756e6374696f6e2829207b0a20202020202072657475726e20737065636966696572202b2022223b0a202020207d3b0a0a2020202072657475726e20666f726d61743b0a20207d0a0a202066756e6374696f6e20666f726d6174507265666978287370656369666965722c2076616c756529207b0a202020207661722066203d206e6577466f726d61742828737065636966696572203d20666f726d617453706563696669657228737065636966696572292c207370656369666965722e74797065203d202266222c2073706563696669657229292c0a202020202020202065203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e742876616c756529202f2033292929202a20332c0a20202020202020206b203d204d6174682e706f772831302c202d65292c0a2020202020202020707265666978203d2070726566697865735b38202b2065202f20335d3b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066286b202a2076616c756529202b207072656669783b0a202020207d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a206e6577466f726d61742c0a20202020666f726d61745072656669783a20666f726d61745072656669780a20207d3b0a7d3b0a0a766172206c6f63616c653b0a0a0a0a64656661756c744c6f63616c65287b0a2020646563696d616c3a20222e222c0a202074686f7573616e64733a20222c222c0a202067726f7570696e673a205b335d2c0a202063757272656e63793a205b2224222c2022225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e666f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e666f726d6174507265666978203d206c6f63616c652e666f726d61745072656669783b0a202072657475726e206c6f63616c653b0a7d0a0a76617220707265636973696f6e4669786564203d2066756e6374696f6e287374657029207b0a202072657475726e204d6174682e6d617828302c202d6578706f6e656e74284d6174682e61627328737465702929293b0a7d3b0a0a76617220707265636973696f6e507265666978203d2066756e6374696f6e28737465702c2076616c756529207b0a202072657475726e204d6174682e6d617828302c204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e742876616c756529202f2033292929202a2033202d206578706f6e656e74284d6174682e61627328737465702929293b0a7d3b0a0a76617220707265636973696f6e526f756e64203d2066756e6374696f6e28737465702c206d617829207b0a202073746570203d204d6174682e6162732873746570292c206d6178203d204d6174682e616273286d617829202d20737465703b0a202072657475726e204d6174682e6d617828302c206578706f6e656e74286d617829202d206578706f6e656e7428737465702929202b20313b0a7d3b0a0a6578706f7274732e666f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e666f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e666f726d6174537065636966696572203d20666f726d61745370656369666965723b0a6578706f7274732e707265636973696f6e4669786564203d20707265636973696f6e46697865643b0a6578706f7274732e707265636973696f6e507265666978203d20707265636973696f6e5072656669783b0a6578706f7274732e707265636973696f6e526f756e64203d20707265636973696f6e526f756e643b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d67656f2f2056657273696f6e20312e392e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d6172726179272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c6433417272617929207b202775736520737472696374273b0a0a2f2f204164647320666c6f6174696e6720706f696e74206e756d62657273207769746820747769636520746865206e6f726d616c20707265636973696f6e2e0a2f2f205265666572656e63653a204a2e20522e20536865776368756b2c20416461707469766520507265636973696f6e20466c6f6174696e672d506f696e742041726974686d6574696320616e640a2f2f204661737420526f627573742047656f6d657472696320507265646963617465732c204469736372657465202620436f6d7075746174696f6e616c2047656f6d657472792031382833290a2f2f20333035e28093333633202831393937292e0a2f2f20436f646520616461707465642066726f6d2047656f677261706869634c696220627920436861726c657320462e20462e204b61726e65792c0a2f2f20687474703a2f2f67656f677261706869636c69622e736f75726365666f7267652e6e65742f0a0a766172206164646572203d2066756e6374696f6e2829207b0a202072657475726e206e65772041646465723b0a7d3b0a0a66756e6374696f6e2041646465722829207b0a2020746869732e726573657428293b0a7d0a0a41646465722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2041646465722c0a202072657365743a2066756e6374696f6e2829207b0a20202020746869732e73203d202f2f20726f756e6465642076616c75650a20202020746869732e74203d20303b202f2f206578616374206572726f720a20207d2c0a20206164643a2066756e6374696f6e287929207b0a202020206164642874656d702c20792c20746869732e74293b0a2020202061646428746869732c2074656d702e732c20746869732e73293b0a2020202069662028746869732e732920746869732e74202b3d2074656d702e743b0a20202020656c736520746869732e73203d2074656d702e743b0a20207d2c0a202076616c75654f663a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e733b0a20207d0a7d3b0a0a7661722074656d70203d206e65772041646465723b0a0a66756e6374696f6e206164642861646465722c20612c206229207b0a20207661722078203d2061646465722e73203d2061202b20622c0a2020202020206276203d2078202d20612c0a2020202020206176203d2078202d2062763b0a202061646465722e74203d202861202d20617629202b202862202d206276293b0a7d0a0a76617220657073696c6f6e203d2031652d363b0a76617220657073696c6f6e32203d2031652d31323b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220717561727465725069203d207069202f20343b0a76617220746175203d207069202a20323b0a0a7661722064656772656573203d20313830202f2070693b0a7661722072616469616e73203d207069202f203138303b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e203d204d6174682e6174616e3b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f73203d204d6174682e636f733b0a766172206365696c203d204d6174682e6365696c3b0a76617220657870203d204d6174682e6578703b0a0a766172206c6f67203d204d6174682e6c6f673b0a76617220706f77203d204d6174682e706f773b0a7661722073696e203d204d6174682e73696e3b0a766172207369676e203d204d6174682e7369676e207c7c2066756e6374696f6e287829207b2072657475726e2078203e2030203f2031203a2078203c2030203f202d31203a20303b207d3b0a7661722073717274203d204d6174682e737172743b0a7661722074616e203d204d6174682e74616e3b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f207069203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e2031203f2068616c665069203a2078203c202d31203f202d68616c665069203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20686176657273696e287829207b0a202072657475726e202878203d2073696e2878202f20322929202a20783b0a7d0a0a66756e6374696f6e206e6f6f702829207b7d0a0a66756e6374696f6e2073747265616d47656f6d657472792867656f6d657472792c2073747265616d29207b0a20206966202867656f6d657472792026262073747265616d47656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e747970652929207b0a2020202073747265616d47656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c2073747265616d293b0a20207d0a7d0a0a7661722073747265616d4f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d47656f6d65747279286f626a6563742e67656f6d657472792c2073747265616d293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792866656174757265735b695d2e67656f6d657472792c2073747265616d293b0a20207d0a7d3b0a0a7661722073747265616d47656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d2e73706865726528293b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020206f626a656374203d206f626a6563742e636f6f7264696e617465733b0a2020202073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e29206f626a656374203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d4c696e65286f626a6563742e636f6f7264696e617465732c2073747265616d2c2030293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2030293b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d506f6c79676f6e286f626a6563742e636f6f7264696e617465732c2073747265616d293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d506f6c79676f6e28636f6f7264696e617465735b695d2c2073747265616d293b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792867656f6d6574726965735b695d2c2073747265616d293b0a20207d0a7d3b0a0a66756e6374696f6e2073747265616d4c696e6528636f6f7264696e617465732c2073747265616d2c20636c6f73656429207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e677468202d20636c6f7365642c20636f6f7264696e6174653b0a202073747265616d2e6c696e65537461727428293b0a20207768696c6520282b2b69203c206e2920636f6f7264696e617465203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e7428636f6f7264696e6174655b305d2c20636f6f7264696e6174655b315d2c20636f6f7264696e6174655b325d293b0a202073747265616d2e6c696e65456e6428293b0a7d0a0a66756e6374696f6e2073747265616d506f6c79676f6e28636f6f7264696e617465732c2073747265616d29207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202073747265616d2e706f6c79676f6e537461727428293b0a20207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2031293b0a202073747265616d2e706f6c79676f6e456e6428293b0a7d0a0a7661722067656f53747265616d203d2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020696620286f626a6563742026262073747265616d4f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e747970652929207b0a2020202073747265616d4f626a656374547970655b6f626a6563742e747970655d286f626a6563742c2073747265616d293b0a20207d20656c7365207b0a2020202073747265616d47656f6d65747279286f626a6563742c2073747265616d293b0a20207d0a7d3b0a0a766172206172656152696e6753756d203d20616464657228293b0a0a766172206172656153756d203d20616464657228293b0a766172206c616d62646130303b0a7661722070686930303b0a766172206c616d626461303b0a76617220636f73506869303b0a7661722073696e506869303b0a0a766172206172656153747265616d203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656152696e6753756d2e726573657428293b0a202020206172656153747265616d2e6c696e655374617274203d206172656152696e6753746172743b0a202020206172656153747265616d2e6c696e65456e64203d206172656152696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020766172206172656152696e67203d202b6172656152696e6753756d3b0a202020206172656153756d2e616464286172656152696e67203c2030203f20746175202b206172656152696e67203a206172656152696e67293b0a20202020746869732e6c696e655374617274203d20746869732e6c696e65456e64203d20746869732e706f696e74203d206e6f6f703b0a20207d2c0a20207370686572653a2066756e6374696f6e2829207b0a202020206172656153756d2e61646428746175293b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e6753746172742829207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e7446697273743b0a7d0a0a66756e6374696f6e206172656152696e67456e642829207b0a202061726561506f696e74286c616d62646130302c207068693030293b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374286c616d6264612c2070686929207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e743b0a20206c616d6264613030203d206c616d6264612c207068693030203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f7328706869203d20706869202f2032202b20717561727465725069292c2073696e50686930203d2073696e28706869293b0a7d0a0a66756e6374696f6e2061726561506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a2020706869203d20706869202f2032202b207175617274657250693b202f2f2068616c662074686520616e67756c61722064697374616e63652066726f6d20736f75746820706f6c650a0a20202f2f2053706865726963616c20657863657373204520666f7220612073706865726963616c20747269616e676c6520776974682076657274696365733a20736f75746820706f6c652c0a20202f2f2070726576696f757320706f696e742c2063757272656e7420706f696e742e202055736573206120666f726d756c6120646572697665642066726f6d204361676e6f6c69e28099730a20202f2f207468656f72656d2e202053656520546f6468756e7465722c2053706865726963616c20547269672e202831383731292c205365632e203130332c2045712e202832292e0a202076617220644c616d626461203d206c616d626461202d206c616d626461302c0a20202020202073644c616d626461203d20644c616d626461203e3d2030203f2031203a202d312c0a20202020202061644c616d626461203d2073644c616d626461202a20644c616d6264612c0a202020202020636f73506869203d20636f7328706869292c0a20202020202073696e506869203d2073696e28706869292c0a2020202020206b203d2073696e50686930202a2073696e5068692c0a20202020202075203d20636f7350686930202a20636f73506869202b206b202a20636f732861644c616d626461292c0a20202020202076203d206b202a2073644c616d626461202a2073696e2861644c616d626461293b0a20206172656152696e6753756d2e616464286174616e3228762c207529293b0a0a20202f2f20416476616e6365207468652070726576696f757320706f696e74732e0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f735068692c2073696e50686930203d2073696e5068693b0a7d0a0a7661722061726561203d2066756e6374696f6e286f626a65637429207b0a20206172656153756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206172656153747265616d293b0a202072657475726e206172656153756d202a20323b0a7d3b0a0a66756e6374696f6e2073706865726963616c2863617274657369616e29207b0a202072657475726e205b6174616e322863617274657369616e5b315d2c2063617274657369616e5b305d292c206173696e2863617274657369616e5b325d295d3b0a7d0a0a66756e6374696f6e2063617274657369616e2873706865726963616c29207b0a2020766172206c616d626461203d2073706865726963616c5b305d2c20706869203d2073706865726963616c5b315d2c20636f73506869203d20636f7328706869293b0a202072657475726e205b636f73506869202a20636f73286c616d626461292c20636f73506869202a2073696e286c616d626461292c2073696e28706869295d3b0a7d0a0a66756e6374696f6e2063617274657369616e446f7428612c206229207b0a202072657475726e20615b305d202a20625b305d202b20615b315d202a20625b315d202b20615b325d202a20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e43726f737328612c206229207b0a202072657475726e205b615b315d202a20625b325d202d20615b325d202a20625b315d2c20615b325d202a20625b305d202d20615b305d202a20625b325d2c20615b305d202a20625b315d202d20615b315d202a20625b305d5d3b0a7d0a0a2f2f20544f444f2072657475726e20610a66756e6374696f6e2063617274657369616e416464496e506c61636528612c206229207b0a2020615b305d202b3d20625b305d2c20615b315d202b3d20625b315d2c20615b325d202b3d20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e5363616c6528766563746f722c206b29207b0a202072657475726e205b766563746f725b305d202a206b2c20766563746f725b315d202a206b2c20766563746f725b325d202a206b5d3b0a7d0a0a2f2f20544f444f2072657475726e20640a66756e6374696f6e2063617274657369616e4e6f726d616c697a65496e506c616365286429207b0a2020766172206c203d207371727428645b305d202a20645b305d202b20645b315d202a20645b315d202b20645b325d202a20645b325d293b0a2020645b305d202f3d206c2c20645b315d202f3d206c2c20645b325d202f3d206c3b0a7d0a0a766172206c616d6264613024313b0a76617220706869303b0a766172206c616d626461313b0a76617220706869313b0a766172206c616d626461323b0a766172206c616d626461303024313b0a76617220706869303024313b0a7661722070303b0a7661722064656c746153756d203d20616464657228293b0a7661722072616e6765733b0a7661722072616e676524313b0a0a76617220626f756e647353747265616d203d207b0a2020706f696e743a20626f756e6473506f696e742c0a20206c696e6553746172743a20626f756e64734c696e6553746172742c0a20206c696e65456e643a20626f756e64734c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e647352696e67506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e647352696e6753746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e647352696e67456e643b0a2020202064656c746153756d2e726573657428293b0a202020206172656153747265616d2e706f6c79676f6e537461727428293b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d2e706f6c79676f6e456e6428293b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e64734c696e6553746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e64734c696e65456e643b0a20202020696620286172656152696e6753756d203c203029206c616d626461302431203d202d286c616d62646131203d20313830292c2070686930203d202d2870686931203d203930293b0a20202020656c7365206966202864656c746153756d203e20657073696c6f6e292070686931203d2039303b0a20202020656c7365206966202864656c746153756d203c202d657073696c6f6e292070686930203d202d39303b0a2020202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74286c616d6264612c2070686929207b0a202072616e6765732e707573682872616e67652431203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a7d0a0a66756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a20207661722070203d2063617274657369616e285b6c616d626461202a2072616469616e732c20706869202a2072616469616e735d293b0a202069662028703029207b0a20202020766172206e6f726d616c203d2063617274657369616e43726f73732870302c2070292c0a202020202020202065717561746f7269616c203d205b6e6f726d616c5b315d2c202d6e6f726d616c5b305d2c20305d2c0a2020202020202020696e666c656374696f6e203d2063617274657369616e43726f73732865717561746f7269616c2c206e6f726d616c293b0a2020202063617274657369616e4e6f726d616c697a65496e506c61636528696e666c656374696f6e293b0a20202020696e666c656374696f6e203d2073706865726963616c28696e666c656374696f6e293b0a202020207661722064656c7461203d206c616d626461202d206c616d626461322c0a20202020202020207369676e242431203d2064656c7461203e2030203f2031203a202d312c0a20202020202020206c616d62646169203d20696e666c656374696f6e5b305d202a2064656772656573202a207369676e2424312c0a2020202020202020706869692c0a2020202020202020616e74696d6572696469616e203d206162732864656c746129203e203138303b0a2020202069662028616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d20696e666c656374696f6e5b315d202a20646567726565733b0a2020202020206966202870686969203e2070686931292070686931203d20706869693b0a202020207d20656c736520696620286c616d62646169203d20286c616d62646169202b2033363029202520333630202d203138302c20616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d202d696e666c656374696f6e5b315d202a20646567726565733b0a2020202020206966202870686969203c2070686930292070686930203d20706869693b0a202020207d20656c7365207b0a20202020202069662028706869203c2070686930292070686930203d207068693b0a20202020202069662028706869203e2070686931292070686931203d207068693b0a202020207d0a2020202069662028616e74696d6572696469616e29207b0a202020202020696620286c616d626461203c206c616d6264613229207b0a202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c616d62646131203e3d206c616d62646130243129207b0a2020202020202020696620286c616d626461203c206c616d62646130243129206c616d626461302431203d206c616d6264613b0a2020202020202020696620286c616d626461203e206c616d6264613129206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a2020202020202020696620286c616d626461203e206c616d6264613229207b0a2020202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a20202020202020207d20656c7365207b0a2020202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a20202020202020207d0a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202072616e6765732e707573682872616e67652431203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a20207d0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a20207030203d20702c206c616d62646132203d206c616d6264613b0a7d0a0a66756e6374696f6e20626f756e64734c696e6553746172742829207b0a2020626f756e647353747265616d2e706f696e74203d206c696e65506f696e743b0a7d0a0a66756e6374696f6e20626f756e64734c696e65456e642829207b0a202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a2020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20207030203d206e756c6c3b0a7d0a0a66756e6374696f6e20626f756e647352696e67506f696e74286c616d6264612c2070686929207b0a202069662028703029207b0a202020207661722064656c7461203d206c616d626461202d206c616d626461323b0a2020202064656c746153756d2e616464286162732864656c746129203e20313830203f2064656c7461202b202864656c7461203e2030203f20333630203a202d33363029203a2064656c7461293b0a20207d20656c7365207b0a202020206c616d62646130302431203d206c616d6264612c2070686930302431203d207068693b0a20207d0a20206172656153747265616d2e706f696e74286c616d6264612c20706869293b0a20206c696e65506f696e74286c616d6264612c20706869293b0a7d0a0a66756e6374696f6e20626f756e647352696e6753746172742829207b0a20206172656153747265616d2e6c696e65537461727428293b0a7d0a0a66756e6374696f6e20626f756e647352696e67456e642829207b0a2020626f756e647352696e67506f696e74286c616d626461303024312c2070686930302431293b0a20206172656153747265616d2e6c696e65456e6428293b0a2020696620286162732864656c746153756d29203e20657073696c6f6e29206c616d626461302431203d202d286c616d62646131203d20313830293b0a202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a20207030203d206e756c6c3b0a7d0a0a2f2f2046696e647320746865206c6566742d72696768742064697374616e6365206265747765656e2074776f206c6f6e676974756465732e0a2f2f205468697320697320616c6d6f7374207468652073616d6520617320286c616d62646131202d206c616d62646130202b20333630c2b029202520333630c2b02c2065786365707420746861742077652077616e740a2f2f207468652064697374616e6365206265747765656e20c2b1313830c2b020746f20626520333630c2b02e0a66756e6374696f6e20616e676c65286c616d626461302c206c616d6264613129207b0a202072657475726e20286c616d62646131202d3d206c616d6264613029203c2030203f206c616d62646131202b20333630203a206c616d626461313b0a7d0a0a66756e6374696f6e2072616e6765436f6d7061726528612c206229207b0a202072657475726e20615b305d202d20625b305d3b0a7d0a0a66756e6374696f6e2072616e6765436f6e7461696e732872616e67652424312c207829207b0a202072657475726e2072616e67652424315b305d203c3d2072616e67652424315b315d203f2072616e67652424315b305d203c3d20782026262078203c3d2072616e67652424315b315d203a2078203c2072616e67652424315b305d207c7c2072616e67652424315b315d203c20783b0a7d0a0a76617220626f756e6473203d2066756e6374696f6e286665617475726529207b0a202076617220692c206e2c20612c20622c206d65726765642c2064656c74614d61782c2064656c74613b0a0a202070686931203d206c616d62646131203d202d286c616d626461302431203d2070686930203d20496e66696e697479293b0a202072616e676573203d205b5d3b0a202067656f53747265616d28666561747572652c20626f756e647353747265616d293b0a0a20202f2f2046697273742c20736f72742072616e676573206279207468656972206d696e696d756d206c6f6e676974756465732e0a2020696620286e203d2072616e6765732e6c656e67746829207b0a2020202072616e6765732e736f72742872616e6765436f6d70617265293b0a0a202020202f2f205468656e2c206d6572676520616e792072616e6765732074686174206f7665726c61702e0a20202020666f72202869203d20312c2061203d2072616e6765735b305d2c206d6572676564203d205b615d3b2069203c206e3b202b2b6929207b0a20202020202062203d2072616e6765735b695d3b0a2020202020206966202872616e6765436f6e7461696e7328612c20625b305d29207c7c2072616e6765436f6e7461696e7328612c20625b315d2929207b0a202020202020202069662028616e676c6528615b305d2c20625b315d29203e20616e676c6528615b305d2c20615b315d292920615b315d203d20625b315d3b0a202020202020202069662028616e676c6528625b305d2c20615b315d29203e20616e676c6528615b305d2c20615b315d292920615b305d203d20625b305d3b0a2020202020207d20656c7365207b0a20202020202020206d65726765642e707573682861203d2062293b0a2020202020207d0a202020207d0a0a202020202f2f2046696e616c6c792c2066696e6420746865206c61726765737420676170206265747765656e20746865206d65726765642072616e6765732e0a202020202f2f205468652066696e616c20626f756e64696e6720626f782077696c6c2062652074686520696e7665727365206f662074686973206761702e0a20202020666f72202864656c74614d6178203d202d496e66696e6974792c206e203d206d65726765642e6c656e677468202d20312c2069203d20302c2061203d206d65726765645b6e5d3b2069203c3d206e3b2061203d20622c202b2b6929207b0a20202020202062203d206d65726765645b695d3b0a202020202020696620282864656c7461203d20616e676c6528615b315d2c20625b305d2929203e2064656c74614d6178292064656c74614d6178203d2064656c74612c206c616d626461302431203d20625b305d2c206c616d62646131203d20615b315d3b0a202020207d0a20207d0a0a202072616e676573203d2072616e67652431203d206e756c6c3b0a0a202072657475726e206c616d626461302431203d3d3d20496e66696e697479207c7c2070686930203d3d3d20496e66696e6974790a2020202020203f205b5b4e614e2c204e614e5d2c205b4e614e2c204e614e5d5d0a2020202020203a205b5b6c616d6264613024312c20706869305d2c205b6c616d626461312c20706869315d5d3b0a7d3b0a0a7661722057303b0a7661722057313b0a7661722058303b0a7661722059303b0a766172205a303b0a7661722058313b0a7661722059313b0a766172205a313b0a7661722058323b0a7661722059323b0a766172205a323b0a766172206c616d626461303024323b0a76617220706869303024323b0a7661722078303b0a7661722079303b0a766172207a303b202f2f2070726576696f757320706f696e740a0a7661722063656e74726f696453747265616d203d207b0a20207370686572653a206e6f6f702c0a2020706f696e743a2063656e74726f6964506f696e742c0a20206c696e6553746172743a2063656e74726f69644c696e6553746172742c0a20206c696e65456e643a2063656e74726f69644c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f696452696e6753746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f696452696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f69644c696e6553746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f69644c696e65456e643b0a20207d0a7d3b0a0a2f2f2041726974686d65746963206d65616e206f662043617274657369616e20766563746f72732e0a66756e6374696f6e2063656e74726f6964506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869293b0a202063656e74726f6964506f696e7443617274657369616e28636f73506869202a20636f73286c616d626461292c20636f73506869202a2073696e286c616d626461292c2073696e2870686929293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7443617274657369616e28782c20792c207a29207b0a20202b2b57303b0a20205830202b3d202878202d20583029202f2057303b0a20205930202b3d202879202d20593029202f2057303b0a20205a30202b3d20287a202d205a3029202f2057303b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e6553746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869293b0a20207830203d20636f73506869202a20636f73286c616d626461293b0a20207930203d20636f73506869202a2073696e286c616d626461293b0a20207a30203d2073696e28706869293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e743b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869292c0a20202020202078203d20636f73506869202a20636f73286c616d626461292c0a20202020202079203d20636f73506869202a2073696e286c616d626461292c0a2020202020207a203d2073696e28706869292c0a20202020202077203d206174616e322873717274282877203d207930202a207a202d207a30202a207929202a2077202b202877203d207a30202a2078202d207830202a207a29202a2077202b202877203d207830202a2079202d207930202a207829202a2077292c207830202a2078202b207930202a2079202b207a30202a207a293b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e642829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a2f2f20536565204a2e20452e2042726f636b2c2054686520496e65727469612054656e736f7220666f7220612053706865726963616c20547269616e676c652c0a2f2f204a2e204170706c696564204d656368616e6963732034322c20323339202831393735292e0a66756e6374696f6e2063656e74726f696452696e6753746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e642829207b0a202063656e74726f696452696e67506f696e74286c616d626461303024322c2070686930302432293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e744669727374286c616d6264612c2070686929207b0a20206c616d62646130302432203d206c616d6264612c2070686930302432203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e743b0a202076617220636f73506869203d20636f7328706869293b0a20207830203d20636f73506869202a20636f73286c616d626461293b0a20207930203d20636f73506869202a2073696e286c616d626461293b0a20207a30203d2073696e28706869293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869292c0a20202020202078203d20636f73506869202a20636f73286c616d626461292c0a20202020202079203d20636f73506869202a2073696e286c616d626461292c0a2020202020207a203d2073696e28706869292c0a2020202020206378203d207930202a207a202d207a30202a20792c0a2020202020206379203d207a30202a2078202d207830202a207a2c0a202020202020637a203d207830202a2079202d207930202a20782c0a2020202020206d203d2073717274286378202a206378202b206379202a206379202b20637a202a20637a292c0a20202020202077203d206173696e286d292c202f2f206c696e6520776569676874203d20616e676c650a20202020202076203d206d202626202d77202f206d3b202f2f206172656120776569676874206d756c7469706c6965720a20205832202b3d2076202a2063783b0a20205932202b3d2076202a2063793b0a20205a32202b3d2076202a20637a3b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a7661722063656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a20205730203d205731203d0a20205830203d205930203d205a30203d0a20205831203d205931203d205a31203d0a20205832203d205932203d205a32203d20303b0a202067656f53747265616d286f626a6563742c2063656e74726f696453747265616d293b0a0a20207661722078203d2058322c0a20202020202079203d2059322c0a2020202020207a203d205a322c0a2020202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a0a20202f2f2049662074686520617265612d7765696768746564206363656e74726f696420697320756e646566696e65642c2066616c6c206261636b20746f206c656e6774682d7765696768746564206363656e74726f69642e0a2020696620286d203c20657073696c6f6e3229207b0a2020202078203d2058312c2079203d2059312c207a203d205a313b0a202020202f2f20496620746865206665617475726520686173207a65726f206c656e6774682c2066616c6c206261636b20746f2061726974686d65746963206d65616e206f6620706f696e7420766563746f72732e0a20202020696620285731203c20657073696c6f6e292078203d2058302c2079203d2059302c207a203d205a303b0a202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a202020202f2f204966207468652066656174757265207374696c6c2068617320616e20756e646566696e6564206363656e74726f69642c207468656e2072657475726e2e0a20202020696620286d203c20657073696c6f6e32292072657475726e205b4e614e2c204e614e5d3b0a20207d0a0a202072657475726e205b6174616e3228792c207829202a20646567726565732c206173696e287a202f2073717274286d2929202a20646567726565735d3b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a76617220636f6d706f7365203d2066756e6374696f6e28612c206229207b0a0a202066756e6374696f6e20636f6d706f736528782c207929207b0a2020202072657475726e2078203d206128782c2079292c206228785b305d2c20785b315d293b0a20207d0a0a202069662028612e696e7665727420262620622e696e766572742920636f6d706f73652e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d20622e696e7665727428782c2079292c207820262620612e696e7665727428785b305d2c20785b315d293b0a20207d3b0a0a202072657475726e20636f6d706f73653b0a7d3b0a0a66756e6374696f6e20726f746174696f6e4964656e74697479286c616d6264612c2070686929207b0a202072657475726e205b6c616d626461203e207069203f206c616d626461202d20746175203a206c616d626461203c202d7069203f206c616d626461202b20746175203a206c616d6264612c207068695d3b0a7d0a0a726f746174696f6e4964656e746974792e696e76657274203d20726f746174696f6e4964656e746974793b0a0a66756e6374696f6e20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d6129207b0a202072657475726e202864656c74614c616d62646120253d2074617529203f202864656c7461506869207c7c2064656c746147616d6d61203f20636f6d706f736528726f746174696f6e4c616d6264612864656c74614c616d626461292c20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129290a202020203a20726f746174696f6e4c616d6264612864656c74614c616d62646129290a202020203a202864656c7461506869207c7c2064656c746147616d6d61203f20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d61290a202020203a20726f746174696f6e4964656e74697479293b0a7d0a0a66756e6374696f6e20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202072657475726e2066756e6374696f6e286c616d6264612c2070686929207b0a2020202072657475726e206c616d626461202b3d2064656c74614c616d6264612c205b6c616d626461203e207069203f206c616d626461202d20746175203a206c616d626461203c202d7069203f206c616d626461202b20746175203a206c616d6264612c207068695d3b0a20207d3b0a7d0a0a66756e6374696f6e20726f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202076617220726f746174696f6e203d20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d626461293b0a2020726f746174696f6e2e696e76657274203d20666f7277617264526f746174696f6e4c616d626461282d64656c74614c616d626461293b0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129207b0a202076617220636f7344656c7461506869203d20636f732864656c7461506869292c0a20202020202073696e44656c7461506869203d2073696e2864656c7461506869292c0a202020202020636f7344656c746147616d6d61203d20636f732864656c746147616d6d61292c0a20202020202073696e44656c746147616d6d61203d2073696e2864656c746147616d6d61293b0a0a202066756e6374696f6e20726f746174696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f7328706869292c0a202020202020202078203d20636f73286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e28706869292c0a20202020202020206b203d207a202a20636f7344656c7461506869202b2078202a2073696e44656c74615068693b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202d206b202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202d207a202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c746147616d6d61202b2079202a2073696e44656c746147616d6d61290a202020205d3b0a20207d0a0a2020726f746174696f6e2e696e76657274203d2066756e6374696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f7328706869292c0a202020202020202078203d20636f73286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e28706869292c0a20202020202020206b203d207a202a20636f7344656c746147616d6d61202d2079202a2073696e44656c746147616d6d613b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202b207a202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202b206b202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c7461506869202d2078202a2073696e44656c7461506869290a202020205d3b0a20207d3b0a0a202072657475726e20726f746174696f6e3b0a7d0a0a76617220726f746174696f6e203d2066756e6374696f6e28726f7461746529207b0a2020726f74617465203d20726f7461746552616469616e7328726f746174655b305d202a2072616469616e732c20726f746174655b315d202a2072616469616e732c20726f746174652e6c656e677468203e2032203f20726f746174655b325d202a2072616469616e73203a2030293b0a0a202066756e6374696f6e20666f727761726428636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f7461746528636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d20646567726565732c20636f6f7264696e617465735b315d202a3d20646567726565732c20636f6f7264696e617465733b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f746174652e696e7665727428636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d20646567726565732c20636f6f7264696e617465735b315d202a3d20646567726565732c20636f6f7264696e617465733b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d3b0a0a2f2f2047656e657261746573206120636972636c652063656e7465726564206174205b30c2b02c2030c2b05d2c2077697468206120676976656e2072616469757320616e6420707265636973696f6e2e0a66756e6374696f6e20636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2074302c20743129207b0a2020696620282164656c7461292072657475726e3b0a202076617220636f73526164697573203d20636f7328726164697573292c0a20202020202073696e526164697573203d2073696e28726164697573292c0a20202020202073746570203d20646972656374696f6e202a2064656c74613b0a2020696620287430203d3d206e756c6c29207b0a202020207430203d20726164697573202b20646972656374696f6e202a207461753b0a202020207431203d20726164697573202d2073746570202f20323b0a20207d20656c7365207b0a202020207430203d20636972636c6552616469757328636f735261646975732c207430293b0a202020207431203d20636972636c6552616469757328636f735261646975732c207431293b0a2020202069662028646972656374696f6e203e2030203f207430203c207431203a207430203e20743129207430202b3d20646972656374696f6e202a207461753b0a20207d0a2020666f72202876617220706f696e742c2074203d2074303b20646972656374696f6e203e2030203f2074203e207431203a2074203c2074313b2074202d3d207374657029207b0a20202020706f696e74203d2073706865726963616c285b636f735261646975732c202d73696e526164697573202a20636f732874292c202d73696e526164697573202a2073696e2874295d293b0a2020202073747265616d2e706f696e7428706f696e745b305d2c20706f696e745b315d293b0a20207d0a7d0a0a2f2f2052657475726e7320746865207369676e656420616e676c65206f6620612063617274657369616e20706f696e742072656c617469766520746f205b636f735261646975732c20302c20305d2e0a66756e6374696f6e20636972636c6552616469757328636f735261646975732c20706f696e7429207b0a2020706f696e74203d2063617274657369616e28706f696e74292c20706f696e745b305d202d3d20636f735261646975733b0a202063617274657369616e4e6f726d616c697a65496e506c61636528706f696e74293b0a202076617220726164697573203d2061636f73282d706f696e745b315d293b0a202072657475726e2028282d706f696e745b325d203c2030203f202d726164697573203a2072616469757329202b20746175202d20657073696c6f6e292025207461753b0a7d0a0a76617220636972636c65203d2066756e6374696f6e2829207b0a20207661722063656e746572203d20636f6e7374616e74285b302c20305d292c0a202020202020726164697573203d20636f6e7374616e74283930292c0a202020202020707265636973696f6e203d20636f6e7374616e742836292c0a20202020202072696e672c0a202020202020726f746174652c0a20202020202073747265616d203d207b706f696e743a20706f696e747d3b0a0a202066756e6374696f6e20706f696e7428782c207929207b0a2020202072696e672e707573682878203d20726f7461746528782c207929293b0a20202020785b305d202a3d20646567726565732c20785b315d202a3d20646567726565733b0a20207d0a0a202066756e6374696f6e20636972636c652829207b0a202020207661722063203d2063656e7465722e6170706c7928746869732c20617267756d656e7473292c0a202020202020202072203d207261646975732e6170706c7928746869732c20617267756d656e747329202a2072616469616e732c0a202020202020202070203d20707265636973696f6e2e6170706c7928746869732c20617267756d656e747329202a2072616469616e733b0a2020202072696e67203d205b5d3b0a20202020726f74617465203d20726f7461746552616469616e73282d635b305d202a2072616469616e732c202d635b315d202a2072616469616e732c2030292e696e766572743b0a20202020636972636c6553747265616d2873747265616d2c20722c20702c2031293b0a2020202063203d207b747970653a2022506f6c79676f6e222c20636f6f7264696e617465733a205b72696e675d7d3b0a2020202072696e67203d20726f74617465203d206e756c6c3b0a2020202072657475726e20633b0a20207d0a0a2020636972636c652e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b2b5f5b305d2c202b5f5b315d5d292c20636972636c6529203a2063656e7465723b0a20207d3b0a0a2020636972636c652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20636972636c6529203a207261646975733b0a20207d3b0a0a2020636972636c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636973696f6e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20636972636c6529203a20707265636973696f6e3b0a20207d3b0a0a202072657475726e20636972636c653b0a7d3b0a0a76617220636c6970427566666572203d2066756e6374696f6e2829207b0a2020766172206c696e6573203d205b5d2c0a2020202020206c696e653b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020206c696e652e70757368285b782c20795d293b0a202020207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020206c696e65732e70757368286c696e65203d205b5d293b0a202020207d2c0a202020206c696e65456e643a206e6f6f702c0a2020202072656a6f696e3a2066756e6374696f6e2829207b0a202020202020696620286c696e65732e6c656e677468203e203129206c696e65732e70757368286c696e65732e706f7028292e636f6e636174286c696e65732e7368696674282929293b0a202020207d2c0a20202020726573756c743a2066756e6374696f6e2829207b0a20202020202076617220726573756c74203d206c696e65733b0a2020202020206c696e6573203d205b5d3b0a2020202020206c696e65203d206e756c6c3b0a20202020202072657475726e20726573756c743b0a202020207d0a20207d3b0a7d3b0a0a76617220706f696e74457175616c203d2066756e6374696f6e28612c206229207b0a202072657475726e2061627328615b305d202d20625b305d29203c20657073696c6f6e2026262061627328615b315d202d20625b315d29203c20657073696c6f6e3b0a7d3b0a0a66756e6374696f6e20496e74657273656374696f6e28706f696e742c20706f696e74732c206f746865722c20656e74727929207b0a2020746869732e78203d20706f696e743b0a2020746869732e7a203d20706f696e74733b0a2020746869732e6f203d206f746865723b202f2f20616e6f7468657220696e74657273656374696f6e0a2020746869732e65203d20656e7472793b202f2f20697320616e20656e7472793f0a2020746869732e76203d2066616c73653b202f2f20766973697465640a2020746869732e6e203d20746869732e70203d206e756c6c3b202f2f206e65787420262070726576696f75730a7d0a0a2f2f20412067656e6572616c697a656420706f6c79676f6e20636c697070696e6720616c676f726974686d3a20676976656e206120706f6c79676f6e207468617420686173206265656e206375740a2f2f20696e746f206974732076697369626c65206c696e65207365676d656e74732c20616e642072656a6f696e7320746865207365676d656e747320627920696e746572706f6c6174696e670a2f2f20616c6f6e672074686520636c697020656467652e0a76617220636c697052656a6f696e203d2066756e6374696f6e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d29207b0a2020766172207375626a656374203d205b5d2c0a202020202020636c6970203d205b5d2c0a202020202020692c0a2020202020206e3b0a0a20207365676d656e74732e666f72456163682866756e6374696f6e287365676d656e7429207b0a2020202069662028286e203d207365676d656e742e6c656e677468202d203129203c3d2030292072657475726e3b0a20202020766172206e2c207030203d207365676d656e745b305d2c207031203d207365676d656e745b6e5d2c20783b0a0a202020202f2f2049662074686520666972737420616e64206c61737420706f696e7473206f662061207365676d656e742061726520636f696e636964656e742c207468656e20747265617420617320610a202020202f2f20636c6f7365642072696e672e20544f444f20696620616c6c2072696e67732061726520636c6f7365642c207468656e207468652077696e64696e67206f72646572206f66207468650a202020202f2f206578746572696f722072696e672073686f756c6420626520636865636b65642e0a2020202069662028706f696e74457175616c2870302c2070312929207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b69292073747265616d2e706f696e7428287030203d207365676d656e745b695d295b305d2c2070305b315d293b0a20202020202073747265616d2e6c696e65456e6428293b0a20202020202072657475726e3b0a202020207d0a0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870302c207365676d656e742c206e756c6c2c207472756529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870302c206e756c6c2c20782c2066616c736529293b0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870312c207365676d656e742c206e756c6c2c2066616c736529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870312c206e756c6c2c20782c207472756529293b0a20207d293b0a0a202069662028217375626a6563742e6c656e677468292072657475726e3b0a0a2020636c69702e736f727428636f6d70617265496e74657273656374696f6e293b0a20206c696e6b287375626a656374293b0a20206c696e6b28636c6970293b0a0a2020666f72202869203d20302c206e203d20636c69702e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020636c69705b695d2e65203d207374617274496e73696465203d20217374617274496e736964653b0a20207d0a0a2020766172207374617274203d207375626a6563745b305d2c0a202020202020706f696e74732c0a202020202020706f696e743b0a0a20207768696c6520283129207b0a202020202f2f2046696e6420666972737420756e7669736974656420696e74657273656374696f6e2e0a202020207661722063757272656e74203d2073746172742c0a202020202020202069735375626a656374203d20747275653b0a202020207768696c65202863757272656e742e762920696620282863757272656e74203d2063757272656e742e6e29203d3d3d207374617274292072657475726e3b0a20202020706f696e7473203d2063757272656e742e7a3b0a2020202073747265616d2e6c696e65537461727428293b0a20202020646f207b0a20202020202063757272656e742e76203d2063757272656e742e6f2e76203d20747275653b0a2020202020206966202863757272656e742e6529207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020666f72202869203d20302c206e203d20706f696e74732e6c656e6774683b2069203c206e3b202b2b69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e6e2e782c20312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e6e3b0a2020202020207d20656c7365207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020706f696e7473203d2063757272656e742e702e7a3b0a20202020202020202020666f72202869203d20706f696e74732e6c656e677468202d20313b2069203e3d20303b202d2d69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e702e782c202d312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e703b0a2020202020207d0a20202020202063757272656e74203d2063757272656e742e6f3b0a202020202020706f696e7473203d2063757272656e742e7a3b0a20202020202069735375626a656374203d202169735375626a6563743b0a202020207d207768696c6520282163757272656e742e76293b0a2020202073747265616d2e6c696e65456e6428293b0a20207d0a7d3b0a0a66756e6374696f6e206c696e6b28617272617929207b0a20206966202821286e203d2061727261792e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a20202020202061203d2061727261795b305d2c0a202020202020623b0a20207768696c6520282b2b69203c206e29207b0a20202020612e6e203d2062203d2061727261795b695d3b0a20202020622e70203d20613b0a2020202061203d20623b0a20207d0a2020612e6e203d2062203d2061727261795b305d3b0a2020622e70203d20613b0a7d0a0a7661722073756d203d20616464657228293b0a0a76617220706f6c79676f6e436f6e7461696e73203d2066756e6374696f6e28706f6c79676f6e2c20706f696e7429207b0a2020766172206c616d626461203d20706f696e745b305d2c0a202020202020706869203d20706f696e745b315d2c0a2020202020206e6f726d616c203d205b73696e286c616d626461292c202d636f73286c616d626461292c20305d2c0a202020202020616e676c65203d20302c0a20202020202077696e64696e67203d20303b0a0a202073756d2e726573657428293b0a0a2020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a202020206966202821286d203d202872696e67203d20706f6c79676f6e5b695d292e6c656e677468292920636f6e74696e75653b0a202020207661722072696e672c0a20202020202020206d2c0a2020202020202020706f696e7430203d2072696e675b6d202d20315d2c0a20202020202020206c616d62646130203d20706f696e74305b305d2c0a202020202020202070686930203d20706f696e74305b315d202f2032202b207175617274657250692c0a202020202020202073696e50686930203d2073696e2870686930292c0a2020202020202020636f7350686930203d20636f732870686930293b0a0a20202020666f722028766172206a203d20303b206a203c206d3b202b2b6a2c206c616d62646130203d206c616d626461312c2073696e50686930203d2073696e506869312c20636f7350686930203d20636f73506869312c20706f696e7430203d20706f696e743129207b0a20202020202076617220706f696e7431203d2072696e675b6a5d2c0a202020202020202020206c616d62646131203d20706f696e74315b305d2c0a2020202020202020202070686931203d20706f696e74315b315d202f2032202b207175617274657250692c0a2020202020202020202073696e50686931203d2073696e2870686931292c0a20202020202020202020636f7350686931203d20636f732870686931292c0a2020202020202020202064656c7461203d206c616d62646131202d206c616d626461302c0a202020202020202020207369676e242431203d2064656c7461203e3d2030203f2031203a202d312c0a2020202020202020202061627344656c7461203d207369676e242431202a2064656c74612c0a20202020202020202020616e74696d6572696469616e203d2061627344656c7461203e2070692c0a202020202020202020206b203d2073696e50686930202a2073696e506869313b0a0a20202020202073756d2e616464286174616e32286b202a207369676e242431202a2073696e2861627344656c7461292c20636f7350686930202a20636f7350686931202b206b202a20636f732861627344656c74612929293b0a202020202020616e676c65202b3d20616e74696d6572696469616e203f2064656c7461202b207369676e242431202a20746175203a2064656c74613b0a0a2020202020202f2f2041726520746865206c6f6e67697475646573206569746865722073696465206f662074686520706f696e74e2809973206d6572696469616e20286c616d626461292c0a2020202020202f2f20616e642061726520746865206c617469747564657320736d616c6c6572207468616e2074686520706172616c6c656c2028706869293f0a20202020202069662028616e74696d6572696469616e205e206c616d62646130203e3d206c616d626461205e206c616d62646131203e3d206c616d62646129207b0a202020202020202076617220617263203d2063617274657369616e43726f73732863617274657369616e28706f696e7430292c2063617274657369616e28706f696e743129293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528617263293b0a202020202020202076617220696e74657273656374696f6e203d2063617274657369616e43726f7373286e6f726d616c2c20617263293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528696e74657273656374696f6e293b0a202020202020202076617220706869417263203d2028616e74696d6572696469616e205e2064656c7461203e3d2030203f202d31203a203129202a206173696e28696e74657273656374696f6e5b325d293b0a202020202020202069662028706869203e20706869417263207c7c20706869203d3d3d2070686941726320262620286172635b305d207c7c206172635b315d2929207b0a2020202020202020202077696e64696e67202b3d20616e74696d6572696469616e205e2064656c7461203e3d2030203f2031203a202d313b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a20202f2f2046697273742c2064657465726d696e6520776865746865722074686520536f75746820706f6c6520697320696e73696465206f72206f7574736964653a0a20202f2f0a20202f2f20497420697320696e736964652069663a0a20202f2f202a2074686520706f6c79676f6e2077696e64732061726f756e6420697420696e206120636c6f636b7769736520646972656374696f6e2e0a20202f2f202a2074686520706f6c79676f6e20646f6573206e6f74202863756d756c61746976656c79292077696e642061726f756e642069742c20627574206861732061206e656761746976650a20202f2f20202028636f756e7465722d636c6f636b776973652920617265612e0a20202f2f0a20202f2f205365636f6e642c20636f756e742074686520287369676e656429206e756d626572206f662074696d65732061207365676d656e742063726f737365732061206c616d6264610a20202f2f2066726f6d2074686520706f696e7420746f2074686520536f75746820706f6c652e20204966206974206973207a65726f2c207468656e2074686520706f696e74206973207468650a20202f2f2073616d6520736964652061732074686520536f75746820706f6c652e0a0a202072657475726e2028616e676c65203c202d657073696c6f6e207c7c20616e676c65203c20657073696c6f6e2026262073756d203c202d657073696c6f6e29205e202877696e64696e6720262031293b0a7d3b0a0a76617220636c6970203d2066756e6374696f6e28706f696e7456697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20737461727429207b0a202072657475726e2066756e6374696f6e2873696e6b29207b0a20202020766172206c696e65203d20636c69704c696e652873696e6b292c0a202020202020202072696e67427566666572203d20636c697042756666657228292c0a202020202020202072696e6753696e6b203d20636c69704c696e652872696e67427566666572292c0a2020202020202020706f6c79676f6e53746172746564203d2066616c73652c0a2020202020202020706f6c79676f6e2c0a20202020202020207365676d656e74732c0a202020202020202072696e673b0a0a2020202076617220636c6970203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e7452696e673b0a2020202020202020636c69702e6c696e655374617274203d2072696e6753746172743b0a2020202020202020636c69702e6c696e65456e64203d2072696e67456e643b0a20202020202020207365676d656e7473203d205b5d3b0a2020202020202020706f6c79676f6e203d205b5d3b0a2020202020207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e743b0a2020202020202020636c69702e6c696e655374617274203d206c696e6553746172743b0a2020202020202020636c69702e6c696e65456e64203d206c696e65456e643b0a20202020202020207365676d656e7473203d20643341727261792e6d65726765287365676d656e7473293b0a2020202020202020766172207374617274496e73696465203d20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c207374617274293b0a2020202020202020696620287365676d656e74732e6c656e67746829207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073696e6b293b0a20202020202020207d20656c736520696620287374617274496e7369646529207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202069662028706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e456e6428292c20706f6c79676f6e53746172746564203d2066616c73653b0a20202020202020207365676d656e7473203d20706f6c79676f6e203d206e756c6c3b0a2020202020207d2c0a2020202020207370686572653a2066756e6374696f6e2829207b0a202020202020202073696e6b2e706f6c79676f6e537461727428293b0a202020202020202073696e6b2e6c696e65537461727428293b0a2020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a202020202020202073696e6b2e6c696e65456e6428293b0a202020202020202073696e6b2e706f6c79676f6e456e6428293b0a2020202020207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e74286c616d6264612c2070686929207b0a20202020202069662028706f696e7456697369626c65286c616d6264612c2070686929292073696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e20706f696e744c696e65286c616d6264612c2070686929207b0a2020202020206c696e652e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c69702e706f696e74203d20706f696e744c696e653b0a2020202020206c696e652e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020636c69702e706f696e74203d20706f696e743b0a2020202020206c696e652e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e20706f696e7452696e67286c616d6264612c2070686929207b0a20202020202072696e672e70757368285b6c616d6264612c207068695d293b0a20202020202072696e6753696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a20202020202072696e6753696e6b2e6c696e65537461727428293b0a20202020202072696e67203d205b5d3b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020706f696e7452696e672872696e675b305d5b305d2c2072696e675b305d5b315d293b0a20202020202072696e6753696e6b2e6c696e65456e6428293b0a0a20202020202076617220636c65616e203d2072696e6753696e6b2e636c65616e28292c0a2020202020202020202072696e675365676d656e7473203d2072696e674275666665722e726573756c7428292c0a20202020202020202020692c206e203d2072696e675365676d656e74732e6c656e6774682c206d2c0a202020202020202020207365676d656e742c0a20202020202020202020706f696e743b0a0a20202020202072696e672e706f7028293b0a202020202020706f6c79676f6e2e707573682872696e67293b0a20202020202072696e67203d206e756c6c3b0a0a20202020202069662028216e292072657475726e3b0a0a2020202020202f2f204e6f20696e74657273656374696f6e732e0a20202020202069662028636c65616e2026203129207b0a20202020202020207365676d656e74203d2072696e675365676d656e74735b305d3b0a202020202020202069662028286d203d207365676d656e742e6c656e677468202d203129203e203029207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020666f72202869203d20303b2069203c206d3b202b2b69292073696e6b2e706f696e742828706f696e74203d207365676d656e745b695d295b305d2c20706f696e745b315d293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a0a2020202020202f2f2052656a6f696e20636f6e6e6563746564207365676d656e74732e0a2020202020202f2f20544f444f2072657573652072696e674275666665722e72656a6f696e28293f0a202020202020696620286e203e203120262620636c65616e20262032292072696e675365676d656e74732e707573682872696e675365676d656e74732e706f7028292e636f6e6361742872696e675365676d656e74732e7368696674282929293b0a0a2020202020207365676d656e74732e707573682872696e675365676d656e74732e66696c7465722876616c69645365676d656e7429293b0a202020207d0a0a2020202072657475726e20636c69703b0a20207d3b0a7d3b0a0a66756e6374696f6e2076616c69645365676d656e74287365676d656e7429207b0a202072657475726e207365676d656e742e6c656e677468203e20313b0a7d0a0a2f2f20496e74657273656374696f6e732061726520736f7274656420616c6f6e672074686520636c697020656467652e20466f7220626f746820616e74696d6572696469616e2063757474696e670a2f2f20616e6420636972636c6520636c697070696e672c207468652073616d6520636f6d70617269736f6e20697320757365642e0a66756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a202072657475726e20282861203d20612e78295b305d203c2030203f20615b315d202d2068616c665069202d20657073696c6f6e203a2068616c665069202d20615b315d290a202020202020202d20282862203d20622e78295b305d203c2030203f20625b315d202d2068616c665069202d20657073696c6f6e203a2068616c665069202d20625b315d293b0a7d0a0a76617220636c6970416e74696d6572696469616e203d20636c6970280a202066756e6374696f6e2829207b2072657475726e20747275653b207d2c0a2020636c6970416e74696d6572696469616e4c696e652c0a2020636c6970416e74696d6572696469616e496e746572706f6c6174652c0a20205b2d70692c202d68616c6650695d0a293b0a0a2f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c7565733a2030202d20746865726520776572650a2f2f20696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f20696e74657273656374696f6e733b2032202d20746865726520776572650a2f2f20696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74732073686f756c642062652072656a6f696e65642e0a66756e6374696f6e20636c6970416e74696d6572696469616e4c696e652873747265616d29207b0a2020766172206c616d62646130203d204e614e2c0a20202020202070686930203d204e614e2c0a2020202020207369676e30203d204e614e2c0a202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a0a202072657475726e207b0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020636c65616e203d20313b0a202020207d2c0a20202020706f696e743a2066756e6374696f6e286c616d626461312c207068693129207b0a202020202020766172207369676e31203d206c616d62646131203e2030203f207069203a202d70692c0a2020202020202020202064656c7461203d20616273286c616d62646131202d206c616d62646130293b0a202020202020696620286162732864656c7461202d20706929203c20657073696c6f6e29207b202f2f206c696e652063726f73736573206120706f6c650a202020202020202073747265616d2e706f696e74286c616d626461302c2070686930203d202870686930202b207068693129202f2032203e2030203f2068616c665069203a202d68616c665069293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a202020202020202073747265616d2e706f696e74286c616d626461312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d20656c736520696620287369676e3020213d3d207369676e312026262064656c7461203e3d20706929207b202f2f206c696e652063726f7373657320616e74696d6572696469616e0a202020202020202069662028616273286c616d62646130202d207369676e3029203c20657073696c6f6e29206c616d62646130202d3d207369676e30202a20657073696c6f6e3b202f2f2068616e646c6520646567656e657261636965730a202020202020202069662028616273286c616d62646131202d207369676e3129203c20657073696c6f6e29206c616d62646131202d3d207369676e31202a20657073696c6f6e3b0a202020202020202070686930203d20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c2070686931293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d0a20202020202073747265616d2e706f696e74286c616d62646130203d206c616d626461312c2070686930203d2070686931293b0a2020202020207369676e30203d207369676e313b0a202020207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65456e6428293b0a2020202020206c616d62646130203d2070686930203d204e614e3b0a202020207d2c0a20202020636c65616e3a2066756e6374696f6e2829207b0a20202020202072657475726e2032202d20636c65616e3b202f2f20696620696e74657273656374696f6e732c2072656a6f696e20666972737420616e64206c617374207365676d656e74730a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c207068693129207b0a202076617220636f73506869302c0a202020202020636f73506869312c0a20202020202073696e4c616d626461304c616d62646131203d2073696e286c616d62646130202d206c616d62646131293b0a202072657475726e206162732873696e4c616d626461304c616d6264613129203e20657073696c6f6e0a2020202020203f206174616e282873696e287068693029202a2028636f7350686931203d20636f7328706869312929202a2073696e286c616d62646131290a202020202020202020202d2073696e287068693129202a2028636f7350686930203d20636f7328706869302929202a2073696e286c616d6264613029290a202020202020202020202f2028636f7350686930202a20636f7350686931202a2073696e4c616d626461304c616d6264613129290a2020202020203a202870686930202b207068693129202f20323b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a2020766172207068693b0a20206966202866726f6d203d3d206e756c6c29207b0a20202020706869203d20646972656374696f6e202a2068616c6650693b0a2020202073747265616d2e706f696e74282d70692c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e742870692c20706869293b0a2020202073747265616d2e706f696e742870692c2030293b0a2020202073747265616d2e706f696e742870692c202d706869293b0a2020202073747265616d2e706f696e7428302c202d706869293b0a2020202073747265616d2e706f696e74282d70692c202d706869293b0a2020202073747265616d2e706f696e74282d70692c2030293b0a2020202073747265616d2e706f696e74282d70692c20706869293b0a20207d20656c736520696620286162732866726f6d5b305d202d20746f5b305d29203e20657073696c6f6e29207b0a20202020766172206c616d626461203d2066726f6d5b305d203c20746f5b305d203f207069203a202d70693b0a20202020706869203d20646972656374696f6e202a206c616d626461202f20323b0a2020202073747265616d2e706f696e74282d6c616d6264612c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e74286c616d6264612c20706869293b0a20207d20656c7365207b0a2020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a20207d0a7d0a0a76617220636c6970436972636c65203d2066756e6374696f6e2872616469757329207b0a2020766172206372203d20636f7328726164697573292c0a20202020202064656c7461203d2036202a2072616469616e732c0a202020202020736d616c6c526164697573203d206372203e20302c0a2020202020206e6f7448656d69737068657265203d2061627328637229203e20657073696c6f6e3b202f2f20544f444f206f7074696d69736520666f72207468697320636f6d6d6f6e20636173650a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a20202020636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2066726f6d2c20746f293b0a20207d0a0a202066756e6374696f6e2076697369626c65286c616d6264612c2070686929207b0a2020202072657475726e20636f73286c616d62646129202a20636f732870686929203e2063723b0a20207d0a0a20202f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c756573207573656420666f7220706f6c79676f6e0a20202f2f20636c697070696e673a2030202d207468657265207765726520696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f0a20202f2f20696e74657273656374696f6e732032202d207468657265207765726520696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74730a20202f2f2073686f756c642062652072656a6f696e65642e0a202066756e6374696f6e20636c69704c696e652873747265616d29207b0a2020202076617220706f696e74302c202f2f2070726576696f757320706f696e740a202020202020202063302c202f2f20636f646520666f722070726576696f757320706f696e740a202020202020202076302c202f2f207669736962696c697479206f662070726576696f757320706f696e740a20202020202020207630302c202f2f207669736962696c697479206f6620666972737420706f696e740a2020202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a2020202072657475726e207b0a2020202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020202020763030203d207630203d2066616c73653b0a2020202020202020636c65616e203d20313b0a2020202020207d2c0a202020202020706f696e743a2066756e6374696f6e286c616d6264612c2070686929207b0a202020202020202076617220706f696e7431203d205b6c616d6264612c207068695d2c0a202020202020202020202020706f696e74322c0a20202020202020202020202076203d2076697369626c65286c616d6264612c20706869292c0a20202020202020202020202063203d20736d616c6c5261646975730a20202020202020202020202020203f2076203f2030203a20636f6465286c616d6264612c20706869290a20202020202020202020202020203a2076203f20636f6465286c616d626461202b20286c616d626461203c2030203f207069203a202d7069292c2070686929203a20303b0a20202020202020206966202821706f696e74302026262028763030203d207630203d207629292073747265616d2e6c696e65537461727428293b0a20202020202020202f2f2048616e646c6520646567656e657261636965732e0a20202020202020202f2f20544f444f2069676e6f7265206966206e6f7420636c697070696e6720706f6c79676f6e732e0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a202020202020202020206966202821706f696e7432207c7c20706f696e74457175616c28706f696e74302c20706f696e743229207c7c20706f696e74457175616c28706f696e74312c20706f696e74322929207b0a202020202020202020202020706f696e74315b305d202b3d20657073696c6f6e3b0a202020202020202020202020706f696e74315b315d202b3d20657073696c6f6e3b0a20202020202020202020202076203d2076697369626c6528706f696e74315b305d2c20706f696e74315b315d293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020636c65616e203d20303b0a20202020202020202020696620287629207b0a2020202020202020202020202f2f206f75747369646520676f696e6720696e0a20202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74312c20706f696e7430293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a202020202020202020207d20656c7365207b0a2020202020202020202020202f2f20696e7369646520676f696e67206f75740a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a20202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020207d0a20202020202020202020706f696e7430203d20706f696e74323b0a20202020202020207d20656c736520696620286e6f7448656d6973706865726520262620706f696e743020262620736d616c6c526164697573205e207629207b0a2020202020202020202076617220743b0a202020202020202020202f2f2049662074686520636f64657320666f722074776f20706f696e74732061726520646966666572656e742c206f722061726520626f7468207a65726f2c0a202020202020202020202f2f20616e642074686572652074686973207365676d656e7420696e746572736563747320776974682074686520736d616c6c20636972636c652e0a2020202020202020202069662028212863202620633029202626202874203d20696e7465727365637428706f696e74312c20706f696e74302c2074727565292929207b0a202020202020202020202020636c65616e203d20303b0a20202020202020202020202069662028736d616c6c52616469757329207b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a20202020202020206966202876202626202821706f696e7430207c7c2021706f696e74457175616c28706f696e74302c20706f696e7431292929207b0a2020202020202020202073747265616d2e706f696e7428706f696e74315b305d2c20706f696e74315b315d293b0a20202020202020207d0a2020202020202020706f696e7430203d20706f696e74312c207630203d20762c206330203d20633b0a2020202020207d2c0a2020202020206c696e65456e643a2066756e6374696f6e2829207b0a2020202020202020696620287630292073747265616d2e6c696e65456e6428293b0a2020202020202020706f696e7430203d206e756c6c3b0a2020202020207d2c0a2020202020202f2f2052656a6f696e20666972737420616e64206c617374207365676d656e7473206966207468657265207765726520696e74657273656374696f6e7320616e64207468652066697273740a2020202020202f2f20616e64206c61737420706f696e747320776572652076697369626c652e0a202020202020636c65616e3a2066756e6374696f6e2829207b0a202020202020202072657475726e20636c65616e207c20282876303020262620763029203c3c2031293b0a2020202020207d0a202020207d3b0a20207d0a0a20202f2f20496e74657273656374732074686520677265617420636972636c65206265747765656e206120616e64206220776974682074686520636c697020636972636c652e0a202066756e6374696f6e20696e7465727365637428612c20622c2074776f29207b0a20202020766172207061203d2063617274657369616e2861292c0a20202020202020207062203d2063617274657369616e2862293b0a0a202020202f2f20576520686176652074776f20706c616e65732c206e312e70203d20643120616e64206e322e70203d2064322e0a202020202f2f2046696e6420696e74657273656374696f6e206c696e652070287429203d206331206e31202b206332206e32202b207420286e3120e2a8af206e32292e0a20202020766172206e31203d205b312c20302c20305d2c202f2f206e6f726d616c0a20202020202020206e32203d2063617274657369616e43726f73732870612c207062292c0a20202020202020206e326e32203d2063617274657369616e446f74286e322c206e32292c0a20202020202020206e316e32203d206e325b305d2c202f2f2063617274657369616e446f74286e312c206e32292c0a202020202020202064657465726d696e616e74203d206e326e32202d206e316e32202a206e316e323b0a0a202020202f2f2054776f20706f6c617220706f696e74732e0a20202020696620282164657465726d696e616e74292072657475726e202174776f20262620613b0a0a20202020766172206331203d20206372202a206e326e32202f2064657465726d696e616e742c0a20202020202020206332203d202d6372202a206e316e32202f2064657465726d696e616e742c0a20202020202020206e31786e32203d2063617274657369616e43726f7373286e312c206e32292c0a202020202020202041203d2063617274657369616e5363616c65286e312c206331292c0a202020202020202042203d2063617274657369616e5363616c65286e322c206332293b0a2020202063617274657369616e416464496e506c61636528412c2042293b0a0a202020202f2f20536f6c7665207c702874297c5e32203d20312e0a202020207661722075203d206e31786e322c0a202020202020202077203d2063617274657369616e446f7428412c2075292c0a20202020202020207575203d2063617274657369616e446f7428752c2075292c0a20202020202020207432203d2077202a2077202d207575202a202863617274657369616e446f7428412c204129202d2031293b0a0a20202020696620287432203c2030292072657475726e3b0a0a202020207661722074203d2073717274287432292c0a202020202020202071203d2063617274657369616e5363616c6528752c20282d77202d207429202f207575293b0a2020202063617274657369616e416464496e506c61636528712c2041293b0a2020202071203d2073706865726963616c2871293b0a0a20202020696620282174776f292072657475726e20713b0a0a202020202f2f2054776f20696e74657273656374696f6e20706f696e74732e0a20202020766172206c616d62646130203d20615b305d2c0a20202020202020206c616d62646131203d20625b305d2c0a202020202020202070686930203d20615b315d2c0a202020202020202070686931203d20625b315d2c0a20202020202020207a3b0a0a20202020696620286c616d62646131203c206c616d6264613029207a203d206c616d626461302c206c616d62646130203d206c616d626461312c206c616d62646131203d207a3b0a0a202020207661722064656c7461203d206c616d62646131202d206c616d626461302c0a2020202020202020706f6c6172203d206162732864656c7461202d20706929203c20657073696c6f6e2c0a20202020202020206d6572696469616e203d20706f6c6172207c7c2064656c7461203c20657073696c6f6e3b0a0a202020206966202821706f6c61722026262070686931203c207068693029207a203d20706869302c2070686930203d20706869312c2070686931203d207a3b0a0a202020202f2f20436865636b20746861742074686520666972737420706f696e74206973206265747765656e206120616e6420622e0a20202020696620286d6572696469616e0a20202020202020203f20706f6c61720a202020202020202020203f2070686930202b2070686931203e2030205e20715b315d203c202861627328715b305d202d206c616d6264613029203c20657073696c6f6e203f2070686930203a2070686931290a202020202020202020203a2070686930203c3d20715b315d20262620715b315d203c3d20706869310a20202020202020203a2064656c7461203e207069205e20286c616d62646130203c3d20715b305d20262620715b305d203c3d206c616d626461312929207b0a202020202020766172207131203d2063617274657369616e5363616c6528752c20282d77202b207429202f207575293b0a20202020202063617274657369616e416464496e506c6163652871312c2041293b0a20202020202072657475726e205b712c2073706865726963616c287131295d3b0a202020207d0a20207d0a0a20202f2f2047656e657261746573206120342d62697420766563746f7220726570726573656e74696e6720746865206c6f636174696f6e206f66206120706f696e742072656c617469766520746f0a20202f2f2074686520736d616c6c20636972636c65277320626f756e64696e6720626f782e0a202066756e6374696f6e20636f6465286c616d6264612c2070686929207b0a202020207661722072203d20736d616c6c526164697573203f20726164697573203a207069202d207261646975732c0a2020202020202020636f6465203d20303b0a20202020696620286c616d626461203c202d722920636f6465207c3d20313b202f2f206c6566740a20202020656c736520696620286c616d626461203e20722920636f6465207c3d20323b202f2f2072696768740a2020202069662028706869203c202d722920636f6465207c3d20343b202f2f2062656c6f770a20202020656c73652069662028706869203e20722920636f6465207c3d20383b202f2f2061626f76650a2020202072657475726e20636f64653b0a20207d0a0a202072657475726e20636c69702876697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20736d616c6c526164697573203f205b302c202d7261646975735d203a205b2d70692c20726164697573202d2070695d293b0a7d3b0a0a76617220636c69704c696e65203d2066756e6374696f6e28612c20622c2078302c2079302c2078312c20793129207b0a2020766172206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a2020696620287430203e20302920615b305d203d206178202b207430202a2064782c20615b315d203d206179202b207430202a2064793b0a2020696620287431203c20312920625b305d203d206178202b207431202a2064782c20625b315d203d206179202b207431202a2064793b0a202072657475726e20747275653b0a7d3b0a0a76617220636c69704d6178203d203165393b0a76617220636c69704d696e203d202d636c69704d61783b0a0a2f2f20544f444f205573652064332d706f6c79676f6ee280997320706f6c79676f6e436f6e7461696e73206865726520666f72207468652072696e6720636865636b3f0a2f2f20544f444f20456c696d696e617465206475706c696361746520627566666572696e6720696e20636c697042756666657220616e6420706f6c79676f6e2e707573683f0a0a66756e6374696f6e20636c697052656374616e676c652878302c2079302c2078312c20793129207b0a0a202066756e6374696f6e2076697369626c6528782c207929207b0a2020202072657475726e207830203c3d20782026262078203c3d207831202626207930203c3d20792026262079203c3d2079313b0a20207d0a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a202020207661722061203d20302c206131203d20303b0a202020206966202866726f6d203d3d206e756c6c0a20202020202020207c7c202861203d20636f726e65722866726f6d2c20646972656374696f6e292920213d3d20286131203d20636f726e657228746f2c20646972656374696f6e29290a20202020202020207c7c20636f6d70617265506f696e742866726f6d2c20746f29203c2030205e20646972656374696f6e203e203029207b0a202020202020646f2073747265616d2e706f696e742861203d3d3d2030207c7c2061203d3d3d2033203f207830203a2078312c2061203e2031203f207931203a207930293b0a2020202020207768696c6520282861203d202861202b20646972656374696f6e202b203429202520342920213d3d206131293b0a202020207d20656c7365207b0a20202020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a202020207d0a20207d0a0a202066756e6374696f6e20636f726e657228702c20646972656374696f6e29207b0a2020202072657475726e2061627328705b305d202d20783029203c20657073696c6f6e203f20646972656374696f6e203e2030203f2030203a20330a20202020202020203a2061627328705b305d202d20783129203c20657073696c6f6e203f20646972656374696f6e203e2030203f2032203a20310a20202020202020203a2061627328705b315d202d20793029203c20657073696c6f6e203f20646972656374696f6e203e2030203f2031203a20300a20202020202020203a20646972656374696f6e203e2030203f2033203a20323b202f2f2061627328705b315d202d20793129203c20657073696c6f6e0a20207d0a0a202066756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265506f696e7428612e782c20622e78293b0a20207d0a0a202066756e6374696f6e20636f6d70617265506f696e7428612c206229207b0a20202020766172206361203d20636f726e657228612c2031292c0a20202020202020206362203d20636f726e657228622c2031293b0a2020202072657475726e20636120213d3d206362203f206361202d2063620a20202020202020203a206361203d3d3d2030203f20625b315d202d20615b315d0a20202020202020203a206361203d3d3d2031203f20615b305d202d20625b305d0a20202020202020203a206361203d3d3d2032203f20615b315d202d20625b315d0a20202020202020203a20625b305d202d20615b305d3b0a20207d0a0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722061637469766553747265616d203d2073747265616d2c0a202020202020202062756666657253747265616d203d20636c697042756666657228292c0a20202020202020207365676d656e74732c0a2020202020202020706f6c79676f6e2c0a202020202020202072696e672c0a2020202020202020785f5f2c20795f5f2c20765f5f2c202f2f20666972737420706f696e740a2020202020202020785f2c20795f2c20765f2c202f2f2070726576696f757320706f696e740a202020202020202066697273742c0a2020202020202020636c65616e3b0a0a2020202076617220636c697053747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a20706f6c79676f6e53746172742c0a202020202020706f6c79676f6e456e643a20706f6c79676f6e456e640a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a2020202020206966202876697369626c6528782c207929292061637469766553747265616d2e706f696e7428782c2079293b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e496e736964652829207b0a2020202020207661722077696e64696e67203d20303b0a0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020202020666f7220287661722072696e67203d20706f6c79676f6e5b695d2c206a203d20312c206d203d2072696e672e6c656e6774682c20706f696e74203d2072696e675b305d2c2061302c2061312c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b206a203c206d3b202b2b6a29207b0a202020202020202020206130203d2062302c206131203d2062312c20706f696e74203d2072696e675b6a5d2c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b0a20202020202020202020696620286131203c3d20793129207b20696620286231203e20793120262620286230202d20613029202a20287931202d20613129203e20286231202d20613129202a20287830202d2061302929202b2b77696e64696e673b207d0a20202020202020202020656c7365207b20696620286231203c3d20793120262620286230202d20613029202a20287931202d20613129203c20286231202d20613129202a20287830202d2061302929202d2d77696e64696e673b207d0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e2077696e64696e673b0a202020207d0a0a202020202f2f204275666665722067656f6d657472792077697468696e206120706f6c79676f6e20616e64207468656e20636c697020697420656e206d617373652e0a2020202066756e6374696f6e20706f6c79676f6e53746172742829207b0a20202020202061637469766553747265616d203d2062756666657253747265616d2c207365676d656e7473203d205b5d2c20706f6c79676f6e203d205b5d2c20636c65616e203d20747275653b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e456e642829207b0a202020202020766172207374617274496e73696465203d20706f6c79676f6e496e7369646528292c0a20202020202020202020636c65616e496e73696465203d20636c65616e202626207374617274496e736964652c0a2020202020202020202076697369626c65203d20287365676d656e7473203d20643341727261792e6d65726765287365676d656e747329292e6c656e6774683b0a20202020202069662028636c65616e496e73696465207c7c2076697369626c6529207b0a202020202020202073747265616d2e706f6c79676f6e537461727428293b0a202020202020202069662028636c65616e496e7369646529207b0a2020202020202020202073747265616d2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073747265616d293b0a2020202020202020202073747265616d2e6c696e65456e6428293b0a20202020202020207d0a20202020202020206966202876697369626c6529207b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d293b0a20202020202020207d0a202020202020202073747265616d2e706f6c79676f6e456e6428293b0a2020202020207d0a20202020202061637469766553747265616d203d2073747265616d2c207365676d656e7473203d20706f6c79676f6e203d2072696e67203d206e756c6c3b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c697053747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202069662028706f6c79676f6e2920706f6c79676f6e2e707573682872696e67203d205b5d293b0a2020202020206669727374203d20747275653b0a202020202020765f203d2066616c73653b0a202020202020785f203d20795f203d204e614e3b0a202020207d0a0a202020202f2f20544f444f20726174686572207468616e207370656369616c2d6361736520706f6c79676f6e732c2073696d706c792068616e646c65207468656d2073657061726174656c792e0a202020202f2f20496465616c6c792c20636f696e636964656e7420696e74657273656374696f6e20706f696e74732073686f756c64206265206a6974746572656420746f2061766f69640a202020202f2f20636c697070696e67206973737565732e0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020696620287365676d656e747329207b0a20202020202020206c696e65506f696e7428785f5f2c20795f5f293b0a202020202020202069662028765f5f20262620765f292062756666657253747265616d2e72656a6f696e28293b0a20202020202020207365676d656e74732e707573682862756666657253747265616d2e726573756c742829293b0a2020202020207d0a202020202020636c697053747265616d2e706f696e74203d20706f696e743b0a20202020202069662028765f292061637469766553747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e7428782c207929207b0a2020202020207661722076203d2076697369626c6528782c2079293b0a20202020202069662028706f6c79676f6e292072696e672e70757368285b782c20795d293b0a20202020202069662028666972737429207b0a2020202020202020785f5f203d20782c20795f5f203d20792c20765f5f203d20763b0a20202020202020206669727374203d2066616c73653b0a2020202020202020696620287629207b0a2020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a2020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020696620287620262620765f292061637469766553747265616d2e706f696e7428782c2079293b0a2020202020202020656c7365207b0a202020202020202020207661722061203d205b785f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20785f29292c20795f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20795f29295d2c0a202020202020202020202020202062203d205b78203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207829292c2079203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207929295d3b0a2020202020202020202069662028636c69704c696e6528612c20622c2078302c2079302c2078312c2079312929207b0a2020202020202020202020206966202821765f29207b0a202020202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a202020202020202020202020202061637469766553747265616d2e706f696e7428615b305d2c20615b315d293b0a2020202020202020202020207d0a20202020202020202020202061637469766553747265616d2e706f696e7428625b305d2c20625b315d293b0a202020202020202020202020696620282176292061637469766553747265616d2e6c696e65456e6428293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d20656c736520696620287629207b0a20202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a20202020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020202020785f203d20782c20795f203d20792c20765f203d20763b0a202020207d0a0a2020202072657475726e20636c697053747265616d3b0a20207d3b0a7d0a0a76617220657874656e74203d2066756e6374696f6e2829207b0a2020766172207830203d20302c0a2020202020207930203d20302c0a2020202020207831203d203936302c0a2020202020207931203d203530302c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a202020202020636c69703b0a0a202072657475726e20636c6970203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d20636c697052656374616e676c652878302c2079302c2078312c2079312928636163686553747265616d203d2073747265616d293b0a202020207d2c0a20202020657874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d2c206361636865203d20636163686553747265616d203d206e756c6c2c20636c697029203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d0a20207d3b0a7d3b0a0a766172206c656e67746853756d203d20616464657228293b0a766172206c616d6264613024323b0a7661722073696e5068693024313b0a76617220636f735068693024313b0a0a766172206c656e67746853747265616d203d207b0a20207370686572653a206e6f6f702c0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206c656e6774684c696e6553746172742c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a206e6f6f702c0a2020706f6c79676f6e456e643a206e6f6f700a7d3b0a0a66756e6374696f6e206c656e6774684c696e6553746172742829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e7446697273743b0a20206c656e67746853747265616d2e6c696e65456e64203d206c656e6774684c696e65456e643b0a7d0a0a66756e6374696f6e206c656e6774684c696e65456e642829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e67746853747265616d2e6c696e65456e64203d206e6f6f703b0a7d0a0a66756e6374696f6e206c656e677468506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e28706869292c20636f73506869302431203d20636f7328706869293b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e743b0a7d0a0a66756e6374696f6e206c656e677468506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20207661722073696e506869203d2073696e28706869292c0a202020202020636f73506869203d20636f7328706869292c0a20202020202064656c7461203d20616273286c616d626461202d206c616d626461302432292c0a202020202020636f7344656c7461203d20636f732864656c7461292c0a20202020202073696e44656c7461203d2073696e2864656c7461292c0a20202020202078203d20636f73506869202a2073696e44656c74612c0a20202020202079203d20636f73506869302431202a2073696e506869202d2073696e506869302431202a20636f73506869202a20636f7344656c74612c0a2020202020207a203d2073696e506869302431202a2073696e506869202b20636f73506869302431202a20636f73506869202a20636f7344656c74613b0a20206c656e67746853756d2e616464286174616e3228737172742878202a2078202b2079202a2079292c207a29293b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e5068692c20636f73506869302431203d20636f735068693b0a7d0a0a766172206c656e677468203d2066756e6374696f6e286f626a65637429207b0a20206c656e67746853756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206c656e67746853747265616d293b0a202072657475726e202b6c656e67746853756d3b0a7d3b0a0a76617220636f6f7264696e61746573203d205b6e756c6c2c206e756c6c5d3b0a766172206f626a656374203d207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b0a0a7661722064697374616e6365203d2066756e6374696f6e28612c206229207b0a2020636f6f7264696e617465735b305d203d20613b0a2020636f6f7264696e617465735b315d203d20623b0a202072657475726e206c656e677468286f626a656374293b0a7d3b0a0a76617220636f6e7461696e734f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e7347656f6d65747279286f626a6563742e67656f6d657472792c20706f696e74293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792866656174757265735b695d2e67656f6d657472792c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a76617220636f6e7461696e7347656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e2829207b0a2020202072657475726e20747275653b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f696e74286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f696e7428636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e734c696e65286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e734c696e6528636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f6c79676f6e286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f6c79676f6e28636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792867656f6d6574726965735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20636f6e7461696e7347656f6d657472792867656f6d657472792c20706f696e7429207b0a202072657475726e2067656f6d6574727920262620636f6e7461696e7347656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e74797065290a2020202020203f20636f6e7461696e7347656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c20706f696e74290a2020202020203a2066616c73653b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f696e7428636f6f7264696e617465732c20706f696e7429207b0a202072657475726e2064697374616e636528636f6f7264696e617465732c20706f696e7429203d3d3d20303b0a7d0a0a66756e6374696f6e20636f6e7461696e734c696e6528636f6f7264696e617465732c20706f696e7429207b0a2020766172206162203d2064697374616e636528636f6f7264696e617465735b305d2c20636f6f7264696e617465735b315d292c0a202020202020616f203d2064697374616e636528636f6f7264696e617465735b305d2c20706f696e74292c0a2020202020206f62203d2064697374616e636528706f696e742c20636f6f7264696e617465735b315d293b0a202072657475726e20616f202b206f62203c3d206162202b20657073696c6f6e3b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f6c79676f6e28636f6f7264696e617465732c20706f696e7429207b0a202072657475726e202121706f6c79676f6e436f6e7461696e7328636f6f7264696e617465732e6d61702872696e6752616469616e73292c20706f696e7452616469616e7328706f696e7429293b0a7d0a0a66756e6374696f6e2072696e6752616469616e732872696e6729207b0a202072657475726e2072696e67203d2072696e672e6d617028706f696e7452616469616e73292c2072696e672e706f7028292c2072696e673b0a7d0a0a66756e6374696f6e20706f696e7452616469616e7328706f696e7429207b0a202072657475726e205b706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e735d3b0a7d0a0a76617220636f6e7461696e73203d2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202072657475726e20286f626a65637420262620636f6e7461696e734f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e74797065290a2020202020203f20636f6e7461696e734f626a656374547970655b6f626a6563742e747970655d0a2020202020203a20636f6e7461696e7347656f6d6574727929286f626a6563742c20706f696e74293b0a7d3b0a0a66756e6374696f6e20677261746963756c65582879302c2079312c20647929207b0a20207661722079203d20643341727261792e72616e67652879302c207931202d20657073696c6f6e2c206479292e636f6e636174287931293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e20792e6d61702866756e6374696f6e287929207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c65592878302c2078312c20647829207b0a20207661722078203d20643341727261792e72616e67652878302c207831202d20657073696c6f6e2c206478292e636f6e636174287831293b0a202072657475726e2066756e6374696f6e287929207b2072657475726e20782e6d61702866756e6374696f6e287829207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c652829207b0a20207661722078312c2078302c2058312c2058302c0a20202020202079312c2079302c2059312c2059302c0a2020202020206478203d2031302c206479203d2064782c204458203d2039302c204459203d203336302c0a202020202020782c20792c20582c20592c0a202020202020707265636973696f6e203d20322e353b0a0a202066756e6374696f6e20677261746963756c652829207b0a2020202072657475726e207b747970653a20224d756c74694c696e65537472696e67222c20636f6f7264696e617465733a206c696e657328297d3b0a20207d0a0a202066756e6374696f6e206c696e65732829207b0a2020202072657475726e20643341727261792e72616e6765286365696c285830202f20445829202a2044582c2058312c204458292e6d61702858290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c285930202f20445929202a2044592c2059312c204459292e6d6170285929290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c287830202f20647829202a2064782c2078312c206478292e66696c7465722866756e6374696f6e287829207b2072657475726e206162732878202520445829203e20657073696c6f6e3b207d292e6d6170287829290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c287930202f20647929202a2064792c2079312c206479292e66696c7465722866756e6374696f6e287929207b2072657475726e206162732879202520445929203e20657073696c6f6e3b207d292e6d6170287929293b0a20207d0a0a2020677261746963756c652e6c696e6573203d2066756e6374696f6e2829207b0a2020202072657475726e206c696e657328292e6d61702866756e6374696f6e28636f6f7264696e6174657329207b2072657475726e207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b207d293b0a20207d3b0a0a2020677261746963756c652e6f75746c696e65203d2066756e6374696f6e2829207b0a2020202072657475726e207b0a202020202020747970653a2022506f6c79676f6e222c0a202020202020636f6f7264696e617465733a205b0a202020202020202058285830292e636f6e636174280a202020202020202059285931292e736c6963652831292c0a202020202020202058285831292e7265766572736528292e736c6963652831292c0a202020202020202059285930292e7265766572736528292e736c696365283129290a2020202020205d0a202020207d3b0a20207d3b0a0a2020677261746963756c652e657874656e74203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e657874656e744d696e6f7228293b0a2020202072657475726e20677261746963756c652e657874656e744d616a6f72285f292e657874656e744d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e657874656e744d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b58302c2059305d2c205b58312c2059315d5d3b0a202020205830203d202b5f5b305d5b305d2c205831203d202b5f5b315d5b305d3b0a202020205930203d202b5f5b305d5b315d2c205931203d202b5f5b315d5b315d3b0a20202020696620285830203e20583129205f203d2058302c205830203d2058312c205831203d205f3b0a20202020696620285930203e20593129205f203d2059302c205930203d2059312c205931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e657874656e744d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207830203d202b5f5b305d5b305d2c207831203d202b5f5b315d5b305d3b0a202020207930203d202b5f5b305d5b315d2c207931203d202b5f5b315d5b315d3b0a20202020696620287830203e20783129205f203d2078302c207830203d2078312c207831203d205f3b0a20202020696620287930203e20793129205f203d2079302c207930203d2079312c207931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e73746570203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e737465704d696e6f7228293b0a2020202072657475726e20677261746963756c652e737465704d616a6f72285f292e737465704d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e737465704d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b44582c2044595d3b0a202020204458203d202b5f5b305d2c204459203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e737465704d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a202020206478203d202b5f5b305d2c206479203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20707265636973696f6e3b0a20202020707265636973696f6e203d202b5f3b0a2020202078203d20677261746963756c65582879302c2079312c203930293b0a2020202079203d20677261746963756c65592878302c2078312c20707265636973696f6e293b0a2020202058203d20677261746963756c65582859302c2059312c203930293b0a2020202059203d20677261746963756c65592858302c2058312c20707265636973696f6e293b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a202072657475726e20677261746963756c650a2020202020202e657874656e744d616a6f72285b5b2d3138302c202d3930202b20657073696c6f6e5d2c205b3138302c203930202d20657073696c6f6e5d5d290a2020202020202e657874656e744d696e6f72285b5b2d3138302c202d3830202d20657073696c6f6e5d2c205b3138302c203830202b20657073696c6f6e5d5d293b0a7d0a0a66756e6374696f6e20677261746963756c6531302829207b0a202072657475726e20677261746963756c65282928293b0a7d0a0a76617220696e746572706f6c617465203d2066756e6374696f6e28612c206229207b0a2020766172207830203d20615b305d202a2072616469616e732c0a2020202020207930203d20615b315d202a2072616469616e732c0a2020202020207831203d20625b305d202a2072616469616e732c0a2020202020207931203d20625b315d202a2072616469616e732c0a202020202020637930203d20636f73287930292c0a202020202020737930203d2073696e287930292c0a202020202020637931203d20636f73287931292c0a202020202020737931203d2073696e287931292c0a2020202020206b7830203d20637930202a20636f73287830292c0a2020202020206b7930203d20637930202a2073696e287830292c0a2020202020206b7831203d20637931202a20636f73287831292c0a2020202020206b7931203d20637931202a2073696e287831292c0a20202020202064203d2032202a206173696e287371727428686176657273696e287931202d20793029202b20637930202a20637931202a20686176657273696e287831202d2078302929292c0a2020202020206b203d2073696e2864293b0a0a202076617220696e746572706f6c617465203d2064203f2066756e6374696f6e287429207b0a202020207661722042203d2073696e2874202a3d206429202f206b2c0a202020202020202041203d2073696e2864202d207429202f206b2c0a202020202020202078203d2041202a206b7830202b2042202a206b78312c0a202020202020202079203d2041202a206b7930202b2042202a206b79312c0a20202020202020207a203d2041202a20737930202b2042202a207379313b0a2020202072657475726e205b0a2020202020206174616e3228792c207829202a20646567726565732c0a2020202020206174616e32287a2c20737172742878202a2078202b2079202a20792929202a20646567726565730a202020205d3b0a20207d203a2066756e6374696f6e2829207b0a2020202072657475726e205b7830202a20646567726565732c207930202a20646567726565735d3b0a20207d3b0a0a2020696e746572706f6c6174652e64697374616e6365203d20643b0a0a202072657475726e20696e746572706f6c6174653b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a766172206172656153756d2431203d20616464657228293b0a766172206172656152696e6753756d2431203d20616464657228293b0a766172207830303b0a766172207930303b0a76617220783024313b0a76617220793024313b0a0a766172206172656153747265616d2431203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656152696e67537461727424313b0a202020206172656153747265616d24312e6c696e65456e64203d206172656152696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656153747265616d24312e6c696e65456e64203d206172656153747265616d24312e706f696e74203d206e6f6f703b0a202020206172656153756d24312e61646428616273286172656152696e6753756d243129293b0a202020206172656152696e6753756d24312e726573657428293b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722061726561203d206172656153756d2431202f20323b0a202020206172656153756d24312e726573657428293b0a2020202072657475726e20617265613b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e67537461727424312829207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e74466972737424313b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374243128782c207929207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e7424313b0a2020783030203d2078302431203d20782c20793030203d2079302431203d20793b0a7d0a0a66756e6374696f6e2061726561506f696e74243128782c207929207b0a20206172656152696e6753756d24312e6164642879302431202a2078202d2078302431202a2079293b0a202078302431203d20782c2079302431203d20793b0a7d0a0a66756e6374696f6e206172656152696e67456e6424312829207b0a202061726561506f696e742431287830302c20793030293b0a7d0a0a7661722078302432203d20496e66696e6974793b0a7661722079302432203d20783024323b0a766172207831203d202d783024323b0a766172207931203d2078313b0a0a76617220626f756e647353747265616d2431203d207b0a2020706f696e743a20626f756e6473506f696e7424312c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a206e6f6f702c0a2020706f6c79676f6e456e643a206e6f6f702c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202076617220626f756e6473203d205b5b783024322c20793024325d2c205b78312c2079315d5d3b0a202020207831203d207931203d202d2879302432203d2078302432203d20496e66696e697479293b0a2020202072657475726e20626f756e64733b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74243128782c207929207b0a20206966202878203c2078302432292078302432203d20783b0a20206966202878203e20783129207831203d20783b0a20206966202879203c2079302432292079302432203d20793b0a20206966202879203e20793129207931203d20793b0a7d0a0a2f2f20544f444f20456e666f72636520706f736974697665206172656120666f72206578746572696f722c206e65676174697665206172656120666f7220696e746572696f723f0a0a7661722058302431203d20303b0a7661722059302431203d20303b0a766172205a302431203d20303b0a7661722058312431203d20303b0a7661722059312431203d20303b0a766172205a312431203d20303b0a7661722058322431203d20303b0a7661722059322431203d20303b0a766172205a322431203d20303b0a7661722078303024313b0a7661722079303024313b0a76617220783024333b0a76617220793024333b0a0a7661722063656e74726f696453747265616d2431203d207b0a2020706f696e743a2063656e74726f6964506f696e7424312c0a20206c696e6553746172743a2063656e74726f69644c696e65537461727424312c0a20206c696e65456e643a2063656e74726f69644c696e65456e6424312c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f696452696e67537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f696452696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f69644c696e65537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f69644c696e65456e6424313b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722063656e74726f6964203d205a322431203f205b58322431202f205a3224312c2059322431202f205a3224315d0a20202020202020203a205a312431203f205b58312431202f205a3124312c2059312431202f205a3124315d0a20202020202020203a205a302431203f205b58302431202f205a3024312c2059302431202f205a3024315d0a20202020202020203a205b4e614e2c204e614e5d3b0a2020202058302431203d2059302431203d205a302431203d0a2020202058312431203d2059312431203d205a312431203d0a2020202058322431203d2059322431203d205a322431203d20303b0a2020202072657475726e2063656e74726f69643b0a20207d0a7d3b0a0a66756e6374696f6e2063656e74726f6964506f696e74243128782c207929207b0a202058302431202b3d20783b0a202059302431202b3d20793b0a20202b2b5a3024313b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7446697273744c696e653b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7446697273744c696e6528782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e744c696e653b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e744c696e6528782c207929207b0a2020766172206478203d2078202d20783024332c206479203d2079202d20793024332c207a203d2073717274286478202a206478202b206479202a206479293b0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e6424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e74466972737452696e673b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e6424312829207b0a202063656e74726f6964506f696e7452696e672878303024312c207930302431293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e74466972737452696e6728782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7452696e673b0a202063656e74726f6964506f696e742431287830302431203d2078302433203d20782c207930302431203d2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7452696e6728782c207929207b0a2020766172206478203d2078202d20783024332c0a2020202020206479203d2079202d20793024332c0a2020202020207a203d2073717274286478202a206478202b206479202a206479293b0a0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a0a20207a203d2079302433202a2078202d2078302433202a20793b0a202058322431202b3d207a202a202878302433202b2078293b0a202059322431202b3d207a202a202879302433202b2079293b0a20205a322431202b3d207a202a20333b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2050617468436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a50617468436f6e746578742e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202072657475726e20746869732e5f726164697573203d205f2c20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2878202b20746869732e5f7261646975732c2079293b0a2020202020202020746869732e5f636f6e746578742e61726328782c20792c20746869732e5f7261646975732c20302c20746175293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a206e6f6f700a7d3b0a0a766172206c656e67746853756d2431203d20616464657228293b0a766172206c656e67746852696e673b0a7661722078303024323b0a7661722079303024323b0a76617220783024343b0a76617220793024343b0a0a766172206c656e67746853747265616d2431203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a202020206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e74466972737424313b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020696620286c656e67746852696e6729206c656e677468506f696e7424312878303024322c207930302432293b0a202020206c656e67746853747265616d24312e706f696e74203d206e6f6f703b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d20747275653b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d206e756c6c3b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a20202020766172206c656e677468203d202b6c656e67746853756d24313b0a202020206c656e67746853756d24312e726573657428293b0a2020202072657475726e206c656e6774683b0a20207d0a7d3b0a0a66756e6374696f6e206c656e677468506f696e744669727374243128782c207929207b0a20206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e7424313b0a20207830302432203d2078302434203d20782c207930302432203d2079302434203d20793b0a7d0a0a66756e6374696f6e206c656e677468506f696e74243128782c207929207b0a202078302434202d3d20782c2079302434202d3d20793b0a20206c656e67746853756d24312e61646428737172742878302434202a2078302434202b2079302434202a207930243429293b0a202078302434203d20782c2079302434203d20793b0a7d0a0a66756e6374696f6e2050617468537472696e672829207b0a2020746869732e5f737472696e67203d205b5d3b0a7d0a0a50617468537472696e672e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a20205f636972636c653a20636972636c65243128342e35292c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202069662028285f203d202b5f2920213d3d20746869732e5f7261646975732920746869732e5f726164697573203d205f2c20746869732e5f636972636c65203d206e756c6c3b0a2020202072657475726e20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f737472696e672e7075736828225a22293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f737472696e672e7075736828224c222c20782c20222c222c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f636972636c65203d3d206e756c6c2920746869732e5f636972636c65203d20636972636c65243128746869732e5f726164697573293b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c20792c20746869732e5f636972636c65293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f737472696e672e6c656e67746829207b0a20202020202076617220726573756c74203d20746869732e5f737472696e672e6a6f696e282222293b0a202020202020746869732e5f737472696e67203d205b5d3b0a20202020202072657475726e20726573756c743b0a202020207d20656c7365207b0a20202020202072657475726e206e756c6c3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e20636972636c6524312872616469757329207b0a202072657475726e20226d302c22202b207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b202d32202a207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b2032202a207261646975730a2020202020202b20227a223b0a7d0a0a76617220696e646578203d2066756e6374696f6e2870726f6a656374696f6e2c20636f6e7465787429207b0a202076617220706f696e74526164697573203d20342e352c0a20202020202070726f6a656374696f6e53747265616d2c0a202020202020636f6e7465787453747265616d3b0a0a202066756e6374696f6e2070617468286f626a65637429207b0a20202020696620286f626a65637429207b0a20202020202069662028747970656f6620706f696e74526164697573203d3d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e74526164697573282b706f696e745261646975732e6170706c7928746869732c20617267756d656e747329293b0a20202020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28636f6e7465787453747265616d29293b0a202020207d0a2020202072657475726e20636f6e7465787453747265616d2e726573756c7428293b0a20207d0a0a2020706174682e61726561203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286172656153747265616d243129293b0a2020202072657475726e206172656153747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e6d656173757265203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286c656e67746853747265616d243129293b0a2020202072657475726e206c656e67746853747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e626f756e6473203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28626f756e647353747265616d243129293b0a2020202072657475726e20626f756e647353747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e63656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d2863656e74726f696453747265616d243129293b0a2020202072657475726e2063656e74726f696453747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e70726f6a656374696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374696f6e53747265616d203d205f203d3d206e756c6c203f202870726f6a656374696f6e203d206e756c6c2c206964656e7469747929203a202870726f6a656374696f6e203d205f292e73747265616d2c207061746829203a2070726f6a656374696f6e3b0a20207d3b0a0a2020706174682e636f6e74657874203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20636f6e746578743b0a20202020636f6e7465787453747265616d203d205f203d3d206e756c6c203f2028636f6e74657874203d206e756c6c2c206e65772050617468537472696e6729203a206e65772050617468436f6e7465787428636f6e74657874203d205f293b0a2020202069662028747970656f6620706f696e7452616469757320213d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e7452616469757328706f696e74526164697573293b0a2020202072657475726e20706174683b0a20207d3b0a0a2020706174682e706f696e74526164697573203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20706f696e745261646975733b0a20202020706f696e74526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2028636f6e7465787453747265616d2e706f696e74526164697573282b5f292c202b5f293b0a2020202072657475726e20706174683b0a20207d3b0a0a202072657475726e20706174682e70726f6a656374696f6e2870726f6a656374696f6e292e636f6e7465787428636f6e74657874293b0a7d3b0a0a766172207472616e73666f726d203d2066756e6374696f6e286d6574686f647329207b0a202072657475726e207b0a2020202073747265616d3a207472616e73666f726d6572286d6574686f6473290a20207d3b0a7d3b0a0a66756e6374696f6e207472616e73666f726d6572286d6574686f647329207b0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722073203d206e6577205472616e73666f726d53747265616d3b0a20202020666f722028766172206b657920696e206d6574686f64732920735b6b65795d203d206d6574686f64735b6b65795d3b0a20202020732e73747265616d203d2073747265616d3b0a2020202072657475726e20733b0a20207d3b0a7d0a0a66756e6374696f6e205472616e73666f726d53747265616d2829207b7d0a0a5472616e73666f726d53747265616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d53747265616d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b20746869732e73747265616d2e706f696e7428782c2079293b207d2c0a20207370686572653a2066756e6374696f6e2829207b20746869732e73747265616d2e73706865726528293b207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65537461727428293b207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65456e6428293b207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e537461727428293b207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e456e6428293b207d0a7d3b0a0a66756e6374696f6e206669742870726f6a656374696f6e2c20666974426f756e64732c206f626a65637429207b0a202076617220636c6970203d2070726f6a656374696f6e2e636c6970457874656e742026262070726f6a656374696f6e2e636c6970457874656e7428293b0a202070726f6a656374696f6e2e7363616c6528313530292e7472616e736c617465285b302c20305d293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e74286e756c6c293b0a202067656f53747265616d286f626a6563742c2070726f6a656374696f6e2e73747265616d28626f756e647353747265616d243129293b0a2020666974426f756e647328626f756e647353747265616d24312e726573756c742829293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e7428636c6970293b0a202072657475726e2070726f6a656374696f6e3b0a7d0a0a66756e6374696f6e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d20657874656e745b315d5b305d202d20657874656e745b305d5b305d2c0a202020202020202068203d20657874656e745b315d5b315d202d20657874656e745b305d5b315d2c0a20202020202020206b203d204d6174682e6d696e2877202f2028625b315d5b305d202d20625b305d5b305d292c2068202f2028625b315d5b315d202d20625b305d5b315d29292c0a202020202020202078203d202b657874656e745b305d5b305d202b202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202b657874656e745b305d5b315d202b202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a65637429207b0a202072657475726e20666974457874656e742870726f6a656374696f6e2c205b5b302c20305d2c2073697a655d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d202b77696474682c0a20202020202020206b203d2077202f2028625b315d5b305d202d20625b305d5b305d292c0a202020202020202078203d202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202d6b202a20625b305d5b315d3b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722068203d202b6865696768742c0a20202020202020206b203d2068202f2028625b315d5b315d202d20625b305d5b315d292c0a202020202020202078203d202d6b202a20625b305d5b305d2c0a202020202020202079203d202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a766172206d61784465707468203d2031363b0a76617220636f734d696e44697374616e6365203d20636f73283330202a2072616469616e73293b202f2f20636f73286d696e696d756d20616e67756c61722064697374616e6365290a0a76617220726573616d706c65203d2066756e6374696f6e2870726f6a6563742c2064656c74613229207b0a202072657475726e202b64656c746132203f20726573616d706c6524312870726f6a6563742c2064656c74613229203a20726573616d706c654e6f6e652870726f6a656374293b0a7d3b0a0a66756e6374696f6e20726573616d706c654e6f6e652870726f6a65637429207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a202020202020746869732e73747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20726573616d706c6524312870726f6a6563742c2064656c74613229207b0a0a202066756e6374696f6e20726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d29207b0a20202020766172206478203d207831202d2078302c0a20202020202020206479203d207931202d2079302c0a20202020202020206432203d206478202a206478202b206479202a2064793b0a20202020696620286432203e2034202a2064656c7461322026262064657074682d2d29207b0a2020202020207661722061203d206130202b2061312c0a2020202020202020202062203d206230202b2062312c0a2020202020202020202063203d206330202b2063312c0a202020202020202020206d203d20737172742861202a2061202b2062202a2062202b2063202a2063292c0a2020202020202020202070686932203d206173696e2863202f3d206d292c0a202020202020202020206c616d62646132203d2061627328616273286329202d203129203c20657073696c6f6e207c7c20616273286c616d62646130202d206c616d6264613129203c20657073696c6f6e203f20286c616d62646130202b206c616d6264613129202f2032203a206174616e3228622c2061292c0a2020202020202020202070203d2070726f6a656374286c616d626461322c2070686932292c0a202020202020202020207832203d20705b305d2c0a202020202020202020207932203d20705b315d2c0a20202020202020202020647832203d207832202d2078302c0a20202020202020202020647932203d207932202d2079302c0a20202020202020202020647a203d206479202a20647832202d206478202a206479323b0a20202020202069662028647a202a20647a202f206432203e2064656c746132202f2f2070657270656e646963756c61722070726f6a65637465642064697374616e63650a202020202020202020207c7c2061627328286478202a20647832202b206479202a2064793229202f206432202d20302e3529203e20302e33202f2f206d6964706f696e7420636c6f736520746f20616e20656e640a202020202020202020207c7c206130202a206131202b206230202a206231202b206330202a206331203c20636f734d696e44697374616e636529207b202f2f20616e67756c61722064697374616e63650a2020202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078322c2079322c206c616d626461322c2061202f3d206d2c2062202f3d206d2c20632c2064657074682c2073747265616d293b0a202020202020202073747265616d2e706f696e742878322c207932293b0a2020202020202020726573616d706c654c696e65546f2878322c2079322c206c616d626461322c20612c20622c20632c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d293b0a2020202020207d0a202020207d0a20207d0a202072657475726e2066756e6374696f6e2873747265616d29207b0a20202020766172206c616d62646130302c207830302c207930302c206130302c206230302c206330302c202f2f20666972737420706f696e740a20202020202020206c616d626461302c2078302c2079302c2061302c2062302c2063303b202f2f2070726576696f757320706f696e740a0a2020202076617220726573616d706c6553747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e537461727428293b20726573616d706c6553747265616d2e6c696e655374617274203d2072696e6753746172743b207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e456e6428293b20726573616d706c6553747265616d2e6c696e655374617274203d206c696e6553746172743b207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a20202020202073747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a2020202020207830203d204e614e3b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202073747265616d2e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a2020202020207661722063203d2063617274657369616e285b6c616d6264612c207068695d292c2070203d2070726f6a656374286c616d6264612c20706869293b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830203d20705b305d2c207930203d20705b315d2c206c616d62646130203d206c616d6264612c206130203d20635b305d2c206230203d20635b315d2c206330203d20635b325d2c206d617844657074682c2073747265616d293b0a20202020202073747265616d2e706f696e742878302c207930293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020726573616d706c6553747265616d2e706f696e74203d20706f696e743b0a20202020202073747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a2020202020206c696e65537461727428293b0a202020202020726573616d706c6553747265616d2e706f696e74203d2072696e67506f696e743b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d2072696e67456e643b0a202020207d0a0a2020202066756e6374696f6e2072696e67506f696e74286c616d6264612c2070686929207b0a2020202020206c696e65506f696e74286c616d6264613030203d206c616d6264612c20706869292c20783030203d2078302c20793030203d2079302c20613030203d2061302c20623030203d2062302c20633030203d2063303b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830302c207930302c206c616d62646130302c206130302c206230302c206330302c206d617844657074682c2073747265616d293b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d206c696e65456e643b0a2020202020206c696e65456e6428293b0a202020207d0a0a2020202072657475726e20726573616d706c6553747265616d3b0a20207d3b0a7d0a0a766172207472616e73666f726d52616469616e73203d207472616e73666f726d6572287b0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e73747265616d2e706f696e742878202a2072616469616e732c2079202a2072616469616e73293b0a20207d0a7d293b0a0a66756e6374696f6e207472616e73666f726d526f7461746528726f7461746529207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020207661722072203d20726f7461746528782c2079293b0a20202020202072657475726e20746869732e73747265616d2e706f696e7428725b305d2c20725b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e2870726f6a65637429207b0a202072657475726e2070726f6a656374696f6e4d757461746f722866756e6374696f6e2829207b2072657475726e2070726f6a6563743b207d2928293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e4d757461746f722870726f6a656374417429207b0a20207661722070726f6a6563742c0a2020202020206b203d203135302c202f2f207363616c650a20202020202078203d203438302c2079203d203235302c202f2f207472616e736c6174650a20202020202064782c2064792c206c616d626461203d20302c20706869203d20302c202f2f2063656e7465720a20202020202064656c74614c616d626461203d20302c2064656c7461506869203d20302c2064656c746147616d6d61203d20302c20726f746174652c2070726f6a656374526f746174652c202f2f20726f746174650a2020202020207468657461203d206e756c6c2c20707265636c6970203d20636c6970416e74696d6572696469616e2c202f2f20636c697020616e676c650a2020202020207830203d206e756c6c2c2079302c2078312c2079312c20706f7374636c6970203d206964656e746974792c202f2f20636c697020657874656e740a20202020202064656c746132203d20302e352c2070726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132292c202f2f20707265636973696f6e0a20202020202063616368652c0a202020202020636163686553747265616d3b0a0a202066756e6374696f6e2070726f6a656374696f6e28706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f7461746528706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e73293b0a2020202072657475726e205b706f696e745b305d202a206b202b2064782c206479202d20706f696e745b315d202a206b5d3b0a20207d0a0a202066756e6374696f6e20696e7665727428706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f746174652e696e766572742828706f696e745b305d202d20647829202f206b2c20286479202d20706f696e745b315d29202f206b293b0a2020202072657475726e20706f696e74202626205b706f696e745b305d202a20646567726565732c20706f696e745b315d202a20646567726565735d3b0a20207d0a0a202066756e6374696f6e2070726f6a6563745472616e73666f726d28782c207929207b0a2020202072657475726e2078203d2070726f6a65637428782c2079292c205b785b305d202a206b202b2064782c206479202d20785b315d202a206b5d3b0a20207d0a0a202070726f6a656374696f6e2e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d52616469616e73287472616e73666f726d526f7461746528726f746174652928707265636c69702870726f6a656374526573616d706c6528706f7374636c697028636163686553747265616d203d2073747265616d29292929293b0a20207d3b0a0a202070726f6a656374696f6e2e707265636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d205f2c207468657461203d20756e646566696e65642c207265736574282929203a20707265636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e706f7374636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d202b5f203f20636c6970436972636c65287468657461203d205f202a2072616469616e7329203a20287468657461203d206e756c6c2c20636c6970416e74696d6572696469616e292c207265736574282929203a207468657461202a20646567726565733b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e7469747929203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202070726f6a656374696f6e2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b203d202b5f2c20726563656e746572282929203a206b3b0a20207d3b0a0a202070726f6a656374696f6e2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f5b305d2c2079203d202b5f5b315d2c20726563656e746572282929203a205b782c20795d3b0a20207d3b0a0a202070726f6a656374696f6e2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c616d626461203d205f5b305d202520333630202a2072616469616e732c20706869203d205f5b315d202520333630202a2072616469616e732c20726563656e746572282929203a205b6c616d626461202a20646567726565732c20706869202a20646567726565735d3b0a20207d3b0a0a202070726f6a656374696f6e2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864656c74614c616d626461203d205f5b305d202520333630202a2072616469616e732c2064656c7461506869203d205f5b315d202520333630202a2072616469616e732c2064656c746147616d6d61203d205f2e6c656e677468203e2032203f205f5b325d202520333630202a2072616469616e73203a20302c20726563656e746572282929203a205b64656c74614c616d626461202a20646567726565732c2064656c7461506869202a20646567726565732c2064656c746147616d6d61202a20646567726565735d3b0a20207d3b0a0a202070726f6a656374696f6e2e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132203d205f202a205f292c207265736574282929203a20737172742864656c746132293b0a20207d3b0a0a202070726f6a656374696f6e2e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e20726563656e7465722829207b0a2020202070726f6a656374526f74617465203d20636f6d706f736528726f74617465203d20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d61292c2070726f6a656374293b0a202020207661722063656e746572203d2070726f6a656374286c616d6264612c20706869293b0a202020206478203d2078202d2063656e7465725b305d202a206b3b0a202020206479203d2079202b2063656e7465725b315d202a206b3b0a2020202072657475726e20726573657428293b0a20207d0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2066756e6374696f6e2829207b0a2020202070726f6a656374203d2070726f6a65637441742e6170706c7928746869732c20617267756d656e7473293b0a2020202070726f6a656374696f6e2e696e76657274203d2070726f6a6563742e696e7665727420262620696e766572743b0a2020202072657475726e20726563656e74657228293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e696350726f6a656374696f6e2870726f6a656374417429207b0a20207661722070686930203d20302c0a20202020202070686931203d207069202f20332c0a2020202020206d203d2070726f6a656374696f6e4d757461746f722870726f6a6563744174292c0a20202020202070203d206d28706869302c2070686931293b0a0a2020702e706172616c6c656c73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206d2870686930203d205f5b305d202a2072616469616e732c2070686931203d205f5b315d202a2072616469616e7329203a205b70686930202a20646567726565732c2070686931202a20646567726565735d3b0a20207d3b0a0a202072657475726e20703b0a7d0a0a66756e6374696f6e2063796c696e64726963616c457175616c41726561526177287068693029207b0a202076617220636f7350686930203d20636f732870686930293b0a0a202066756e6374696f6e20666f7277617264286c616d6264612c2070686929207b0a2020202072657475726e205b6c616d626461202a20636f73506869302c2073696e2870686929202f20636f73506869305d3b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b78202f20636f73506869302c206173696e2879202a20636f7350686930295d3b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265615261772879302c20793129207b0a202076617220737930203d2073696e287930292c206e203d2028737930202b2073696e2879312929202f20323b0a0a20202f2f204172652074686520706172616c6c656c732073796d6d6574726963616c2061726f756e64207468652045717561746f723f0a202069662028616273286e29203c20657073696c6f6e292072657475726e2063796c696e64726963616c457175616c41726561526177287930293b0a0a20207661722063203d2031202b20737930202a202832202a206e202d20737930292c207230203d2073717274286329202f206e3b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020207661722072203d20737172742863202d2032202a206e202a2073696e28792929202f206e3b0a2020202072657475726e205b72202a2073696e2878202a3d206e292c207230202d2072202a20636f732878295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202076617220723079203d207230202d20793b0a2020202072657475726e205b6174616e3228782c20616273287230792929202f206e202a207369676e28723079292c206173696e282863202d202878202a2078202b20723079202a2072307929202a206e202a206e29202f202832202a206e29295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e6963457175616c41726561203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963457175616c41726561526177290a2020202020202e7363616c65283135352e343234290a2020202020202e63656e746572285b302c2033332e363434325d293b0a7d3b0a0a76617220616c62657273203d2066756e6374696f6e2829207b0a202072657475726e20636f6e6963457175616c4172656128290a2020202020202e706172616c6c656c73285b32392e352c2034352e355d290a2020202020202e7363616c652831303730290a2020202020202e7472616e736c617465285b3438302c203235305d290a2020202020202e726f74617465285b39362c20305d290a2020202020202e63656e746572285b2d302e362c2033382e375d293b0a7d3b0a0a2f2f205468652070726f6a656374696f6e73206d7573742068617665206d757475616c6c79206578636c757369766520636c697020726567696f6e73206f6e20746865207370686572652c0a2f2f20617320746869732077696c6c2061766f696420656d697474696e6720696e7465726c656176696e67206c696e657320616e6420706f6c79676f6e732e0a66756e6374696f6e206d756c7469706c65782873747265616d7329207b0a2020766172206e203d2073747265616d732e6c656e6774683b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f696e7428782c2079293b207d2c0a202020207370686572653a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e73706865726528293b207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65537461727428293b207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65456e6428293b207d2c0a20202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e537461727428293b207d2c0a20202020706f6c79676f6e456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e456e6428293b207d0a20207d3b0a7d0a0a2f2f204120636f6d706f736974652070726f6a656374696f6e20666f722074686520556e69746564205374617465732c20636f6e666967757265642062792064656661756c7420666f720a2f2f20393630c3973530302e205468652070726f6a656374696f6e20616c736f20776f726b732071756974652077656c6c20617420393630c39736303020696620796f75206368616e6765207468650a2f2f207363616c6520746f203132383520616e642061646a75737420746865207472616e736c617465206163636f7264696e676c792e2054686520736574206f66207374616e646172640a2f2f20706172616c6c656c7320666f72206561636820726567696f6e20636f6d65732066726f6d20555347532c207768696368206973207075626c697368656420686572653a0a2f2f20687474703a2f2f656773632e757367732e676f762f6973622f707562732f4d617050726f6a656374696f6e732f70726f6a656374696f6e732e68746d6c23616c626572730a76617220616c62657273557361203d2066756e6374696f6e2829207b0a20207661722063616368652c0a202020202020636163686553747265616d2c0a2020202020206c6f7765723438203d20616c6265727328292c206c6f7765723438506f696e742c0a202020202020616c61736b61203d20636f6e6963457175616c4172656128292e726f74617465285b3135342c20305d292e63656e746572285b2d322c2035382e355d292e706172616c6c656c73285b35352c2036355d292c20616c61736b61506f696e742c202f2f20455053473a333333380a202020202020686177616969203d20636f6e6963457175616c4172656128292e726f74617465285b3135372c20305d292e63656e746572285b2d332c2031392e395d292e706172616c6c656c73285b382c2031385d292c20686177616969506f696e742c202f2f20455352493a3130323030370a202020202020706f696e742c20706f696e7453747265616d203d207b706f696e743a2066756e6374696f6e28782c207929207b20706f696e74203d205b782c20795d3b207d7d3b0a0a202066756e6374696f6e20616c6265727355736128636f6f7264696e6174657329207b0a202020207661722078203d20636f6f7264696e617465735b305d2c2079203d20636f6f7264696e617465735b315d3b0a2020202072657475726e20706f696e74203d206e756c6c2c20286c6f7765723438506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028616c61736b61506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028686177616969506f696e742e706f696e7428782c2079292c20706f696e74293b0a20207d0a0a2020616c626572735573612e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020766172206b203d206c6f77657234382e7363616c6528292c0a202020202020202074203d206c6f77657234382e7472616e736c61746528292c0a202020202020202078203d2028636f6f7264696e617465735b305d202d20745b305d29202f206b2c0a202020202020202079203d2028636f6f7264696e617465735b315d202d20745b315d29202f206b3b0a2020202072657475726e202879203e3d20302e3132302026262079203c20302e3233342026262078203e3d202d302e3432352026262078203c202d302e323134203f20616c61736b610a20202020202020203a2079203e3d20302e3136362026262079203c20302e3233342026262078203e3d202d302e3231342026262078203c202d302e313135203f206861776169690a20202020202020203a206c6f7765723438292e696e7665727428636f6f7264696e61746573293b0a20207d3b0a0a2020616c626572735573612e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d206d756c7469706c6578285b6c6f77657234382e73747265616d28636163686553747265616d203d2073747265616d292c20616c61736b612e73747265616d2873747265616d292c206861776169692e73747265616d2873747265616d295d293b0a20207d3b0a0a2020616c626572735573612e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e707265636973696f6e28293b0a202020206c6f77657234382e707265636973696f6e285f292c20616c61736b612e707265636973696f6e285f292c206861776169692e707265636973696f6e285f293b0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e7363616c65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7363616c6528293b0a202020206c6f77657234382e7363616c65285f292c20616c61736b612e7363616c65285f202a20302e3335292c206861776169692e7363616c65285f293b0a2020202072657475726e20616c626572735573612e7472616e736c617465286c6f77657234382e7472616e736c6174652829293b0a20207d3b0a0a2020616c626572735573612e7472616e736c617465203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7472616e736c61746528293b0a20202020766172206b203d206c6f77657234382e7363616c6528292c2078203d202b5f5b305d2c2079203d202b5f5b315d3b0a0a202020206c6f7765723438506f696e74203d206c6f77657234380a20202020202020202e7472616e736c617465285f290a20202020202020202e636c6970457874656e74285b5b78202d20302e343535202a206b2c2079202d20302e323338202a206b5d2c205b78202b20302e343535202a206b2c2079202b20302e323338202a206b5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020616c61736b61506f696e74203d20616c61736b610a20202020202020202e7472616e736c617465285b78202d20302e333037202a206b2c2079202b20302e323031202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e343235202a206b202b20657073696c6f6e2c2079202b20302e313230202a206b202b20657073696c6f6e5d2c205b78202d20302e323134202a206b202d20657073696c6f6e2c2079202b20302e323334202a206b202d20657073696c6f6e5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020686177616969506f696e74203d206861776169690a20202020202020202e7472616e736c617465285b78202d20302e323035202a206b2c2079202b20302e323132202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e323134202a206b202b20657073696c6f6e2c2079202b20302e313636202a206b202b20657073696c6f6e5d2c205b78202d20302e313135202a206b202d20657073696c6f6e2c2079202b20302e323334202a206b202d20657073696c6f6e5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e7428616c626572735573612c20657874656e742c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a6528616c626572735573612c2073697a652c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e20666974576964746828616c626572735573612c2077696474682c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e2066697448656967687428616c626572735573612c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e20616c626572735573613b0a20207d0a0a202072657475726e20616c626572735573612e7363616c652831303730293b0a7d3b0a0a66756e6374696f6e20617a696d757468616c526177287363616c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172206378203d20636f732878292c0a20202020202020206379203d20636f732879292c0a20202020202020206b203d207363616c65286378202a206379293b0a2020202072657475726e205b0a2020202020206b202a206379202a2073696e2878292c0a2020202020206b202a2073696e2879290a202020205d3b0a20207d0a7d0a0a66756e6374696f6e20617a696d757468616c496e7665727428616e676c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172207a203d20737172742878202a2078202b2079202a2079292c0a202020202020202063203d20616e676c65287a292c0a20202020202020207363203d2073696e2863292c0a20202020202020206363203d20636f732863293b0a2020202072657475726e205b0a2020202020206174616e322878202a2073632c207a202a206363292c0a2020202020206173696e287a2026262079202a207363202f207a290a202020205d3b0a20207d0a7d0a0a76617220617a696d757468616c457175616c41726561526177203d20617a696d757468616c5261772866756e6374696f6e286378637929207b0a202072657475726e20737172742832202f202831202b206378637929293b0a7d293b0a0a617a696d757468616c457175616c417265615261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206173696e287a202f2032293b0a7d293b0a0a76617220617a696d757468616c457175616c41726561203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c457175616c41726561526177290a2020202020202e7363616c65283132342e3735290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d3b0a0a76617220617a696d757468616c4571756964697374616e74526177203d20617a696d757468616c5261772866756e6374696f6e286329207b0a202072657475726e202863203d2061636f73286329292026262063202f2073696e2863293b0a7d293b0a0a617a696d757468616c4571756964697374616e745261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e207a3b0a7d293b0a0a76617220617a696d757468616c4571756964697374616e74203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c4571756964697374616e74526177290a2020202020202e7363616c652837392e34313838290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d3b0a0a66756e6374696f6e206d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c206c6f672874616e282868616c665069202b2070686929202f203229295d3b0a7d0a0a6d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b782c2032202a206174616e2865787028792929202d2068616c6650695d3b0a7d3b0a0a766172206d65726361746f72203d2066756e6374696f6e2829207b0a202072657475726e206d65726361746f7250726f6a656374696f6e286d65726361746f72526177290a2020202020202e7363616c6528393631202f20746175293b0a7d3b0a0a66756e6374696f6e206d65726361746f7250726f6a656374696f6e2870726f6a65637429207b0a2020766172206d203d2070726f6a656374696f6e2870726f6a656374292c0a20202020202063656e746572203d206d2e63656e7465722c0a2020202020207363616c65203d206d2e7363616c652c0a2020202020207472616e736c617465203d206d2e7472616e736c6174652c0a202020202020636c6970457874656e74203d206d2e636c6970457874656e742c0a2020202020207830203d206e756c6c2c2079302c2078312c2079313b202f2f20636c697020657874656e740a0a20206d2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65285f292c207265636c6970282929203a207363616c6528293b0a20207d3b0a0a20206d2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465285f292c207265636c6970282929203a207472616e736c61746528293b0a20207d3b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572285f292c207265636c6970282929203a2063656e74657228293b0a20207d3b0a0a20206d2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f207830203d207930203d207831203d207931203d206e756c6c203a20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265636c6970282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202066756e6374696f6e207265636c69702829207b0a20202020766172206b203d207069202a207363616c6528292c0a202020202020202074203d206d28726f746174696f6e286d2e726f746174652829292e696e76657274285b302c20305d29293b0a2020202072657475726e20636c6970457874656e74287830203d3d206e756c6c0a20202020202020203f205b5b745b305d202d206b2c20745b315d202d206b5d2c205b745b305d202b206b2c20745b315d202b206b5d5d203a2070726f6a656374203d3d3d206d65726361746f725261770a20202020202020203f205b5b4d6174682e6d617828745b305d202d206b2c207830292c2079305d2c205b4d6174682e6d696e28745b305d202b206b2c207831292c2079315d5d0a20202020202020203a205b5b78302c204d6174682e6d617828745b315d202d206b2c207930295d2c205b78312c204d6174682e6d696e28745b315d202b206b2c207931295d5d293b0a20207d0a0a202072657475726e207265636c697028293b0a7d0a0a66756e6374696f6e2074616e79287929207b0a202072657475726e2074616e282868616c665069202b207929202f2032293b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c5261772879302c20793129207b0a202076617220637930203d20636f73287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e28793029203a206c6f6728637930202f20636f732879312929202f206c6f672874616e7928793129202f2074616e7928793029292c0a20202020202066203d20637930202a20706f772874616e79287930292c206e29202f206e3b0a0a202069662028216e292072657475726e206d65726361746f725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020206966202866203e203029207b206966202879203c202d68616c665069202b20657073696c6f6e292079203d202d68616c665069202b20657073696c6f6e3b207d0a20202020656c7365207b206966202879203e2068616c665069202d20657073696c6f6e292079203d2068616c665069202d20657073696c6f6e3b207d0a202020207661722072203d2066202f20706f772874616e792879292c206e293b0a2020202072657475726e205b72202a2073696e286e202a2078292c2066202d2072202a20636f73286e202a2078295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206679203d2066202d20792c2072203d207369676e286e29202a20737172742878202a2078202b206679202a206679293b0a2020202072657475726e205b6174616e3228782c206162732866792929202f206e202a207369676e286679292c2032202a206174616e28706f772866202f20722c2031202f206e2929202d2068616c6650695d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e6963436f6e666f726d616c203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963436f6e666f726d616c526177290a2020202020202e7363616c65283130392e35290a2020202020202e706172616c6c656c73285b33302c2033305d293b0a7d3b0a0a66756e6374696f6e206571756972656374616e67756c6172526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c207068695d3b0a7d0a0a6571756972656374616e67756c61725261772e696e76657274203d206571756972656374616e67756c61725261773b0a0a766172206571756972656374616e67756c6172203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286571756972656374616e67756c6172526177290a2020202020202e7363616c65283135322e3633293b0a7d3b0a0a66756e6374696f6e20636f6e69634571756964697374616e745261772879302c20793129207b0a202076617220637930203d20636f73287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e28793029203a2028637930202d20636f732879312929202f20287931202d207930292c0a20202020202067203d20637930202f206e202b2079303b0a0a202069662028616273286e29203c20657073696c6f6e292072657475726e206571756972656374616e67756c61725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a20202020766172206779203d2067202d20792c206e78203d206e202a20783b0a2020202072657475726e205b6779202a2073696e286e78292c2067202d206779202a20636f73286e78295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206779203d2067202d20793b0a2020202072657475726e205b6174616e3228782c206162732867792929202f206e202a207369676e286779292c2067202d207369676e286e29202a20737172742878202a2078202b206779202a206779295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e69634571756964697374616e74203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e69634571756964697374616e74526177290a2020202020202e7363616c65283133312e313534290a2020202020202e63656e746572285b302c2031332e393338395d293b0a7d3b0a0a66756e6374696f6e20676e6f6d6f6e696352617728782c207929207b0a2020766172206379203d20636f732879292c206b203d20636f73287829202a2063793b0a202072657475726e205b6379202a2073696e287829202f206b2c2073696e287929202f206b5d3b0a7d0a0a676e6f6d6f6e69635261772e696e76657274203d20617a696d757468616c496e76657274286174616e293b0a0a76617220676e6f6d6f6e6963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28676e6f6d6f6e6963526177290a2020202020202e7363616c65283134342e303439290a2020202020202e636c6970416e676c65283630293b0a7d3b0a0a66756e6374696f6e207363616c655472616e736c617465286b782c206b792c2074782c20747929207b0a202072657475726e206b78203d3d3d2031202626206b79203d3d3d2031202626207478203d3d3d2030202626207479203d3d3d2030203f206964656e74697479203a207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a202020202020746869732e73747265616d2e706f696e742878202a206b78202b2074782c2079202a206b79202b207479293b0a202020207d0a20207d293b0a7d0a0a766172206964656e746974792431203d2066756e6374696f6e2829207b0a2020766172206b203d20312c207478203d20302c207479203d20302c207378203d20312c207379203d20312c207472616e73666f726d242431203d206964656e746974792c202f2f207363616c652c207472616e736c61746520616e64207265666c6563740a2020202020207830203d206e756c6c2c2079302c2078312c2079312c202f2f20636c697020657874656e740a202020202020706f7374636c6970203d206964656e746974792c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a20202020202070726f6a656374696f6e3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2070726f6a656374696f6e203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d24243128706f7374636c697028636163686553747265616d203d2073747265616d29293b0a202020207d2c0a20202020706f7374636c69703a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a202020207d2c0a20202020636c6970457874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e7469747929203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d2c0a202020207363616c653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c61746528286b203d202b5f29202a2073782c206b202a2073792c2074782c207479292c207265736574282929203a206b3b0a202020207d2c0a202020207472616e736c6174653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a2073782c206b202a2073792c207478203d202b5f5b305d2c207479203d202b5f5b315d292c207265736574282929203a205b74782c2074795d3b0a202020207d2c0a202020207265666c656374583a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a20287378203d205f203f202d31203a2031292c206b202a2073792c2074782c207479292c207265736574282929203a207378203c20303b0a202020207d2c0a202020207265666c656374593a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a2073782c206b202a20287379203d205f203f202d31203a2031292c2074782c207479292c207265736574282929203a207379203c20303b0a202020207d2c0a20202020666974457874656e743a2066756e6374696f6e28657874656e742c206f626a65637429207b0a20202020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a202020207d2c0a2020202066697453697a653a2066756e6374696f6e2873697a652c206f626a65637429207b0a20202020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a202020207d2c0a2020202066697457696474683a2066756e6374696f6e2877696474682c206f626a65637429207b0a20202020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a202020207d2c0a202020206669744865696768743a2066756e6374696f6e286865696768742c206f626a65637429207b0a20202020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a202020207d0a20207d3b0a7d3b0a0a66756e6374696f6e206e61747572616c456172746831526177286c616d6264612c2070686929207b0a20207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a202072657475726e205b0a202020206c616d626461202a2028302e38373037202d20302e313331393739202a2070686932202b2070686934202a20282d302e303133373931202b2070686934202a2028302e303033393731202a2070686932202d20302e303031353239202a20706869342929292c0a20202020706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a20706869342929290a20205d3b0a7d0a0a6e61747572616c4561727468315261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202076617220706869203d20792c2069203d2032352c2064656c74613b0a2020646f207b0a202020207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a20202020706869202d3d2064656c7461203d2028706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a2070686934292929202d207929202f0a202020202020202028312e303037323236202b2070686932202a2028302e303135303835202a2033202b2070686934202a20282d302e303434343735202a2037202b20302e303238383734202a2039202a2070686932202d20302e303035393136202a203131202a20706869342929293b0a20207d207768696c6520286162732864656c746129203e20657073696c6f6e202626202d2d69203e2030293b0a202072657475726e205b0a2020202078202f2028302e38373037202b202870686932203d20706869202a2070686929202a20282d302e313331393739202b2070686932202a20282d302e303133373931202b2070686932202a2070686932202a2070686932202a2028302e303033393731202d20302e303031353239202a2070686932292929292c0a202020207068690a20205d3b0a7d3b0a0a766172206e61747572616c456172746831203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286e61747572616c456172746831526177290a2020202020202e7363616c65283137352e323935293b0a7d3b0a0a66756e6374696f6e206f7274686f6772617068696352617728782c207929207b0a202072657475726e205b636f73287929202a2073696e2878292c2073696e2879295d3b0a7d0a0a6f7274686f677261706869635261772e696e76657274203d20617a696d757468616c496e76657274286173696e293b0a0a766172206f7274686f67726170686963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286f7274686f67726170686963526177290a2020202020202e7363616c65283234392e35290a2020202020202e636c6970416e676c65283930202b20657073696c6f6e293b0a7d3b0a0a66756e6374696f6e2073746572656f6772617068696352617728782c207929207b0a2020766172206379203d20636f732879292c206b203d2031202b20636f73287829202a2063793b0a202072657475726e205b6379202a2073696e287829202f206b2c2073696e287929202f206b5d3b0a7d0a0a73746572656f677261706869635261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206174616e287a293b0a7d293b0a0a7661722073746572656f67726170686963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e2873746572656f67726170686963526177290a2020202020202e7363616c6528323530290a2020202020202e636c6970416e676c6528313432293b0a7d3b0a0a66756e6374696f6e207472616e7376657273654d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c6f672874616e282868616c665069202b2070686929202f203229292c202d6c616d6264615d3b0a7d0a0a7472616e7376657273654d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2d792c2032202a206174616e2865787028782929202d2068616c6650695d3b0a7d3b0a0a766172207472616e7376657273654d65726361746f72203d2066756e6374696f6e2829207b0a2020766172206d203d206d65726361746f7250726f6a656374696f6e287472616e7376657273654d65726361746f72526177292c0a20202020202063656e746572203d206d2e63656e7465722c0a202020202020726f74617465203d206d2e726f746174653b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2063656e746572285b2d5f5b315d2c205f5b305d5d29203a20285f203d2063656e74657228292c205b5f5b315d2c202d5f5b305d5d293b0a20207d3b0a0a20206d2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20726f74617465285b5f5b305d2c205f5b315d2c205f2e6c656e677468203e2032203f205f5b325d202b203930203a2039305d29203a20285f203d20726f7461746528292c205b5f5b305d2c205f5b315d2c205f5b325d202d2039305d293b0a20207d3b0a0a202072657475726e20726f74617465285b302c20302c2039305d290a2020202020202e7363616c65283135392e313535293b0a7d3b0a0a6578706f7274732e67656f41726561203d20617265613b0a6578706f7274732e67656f426f756e6473203d20626f756e64733b0a6578706f7274732e67656f43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e67656f436972636c65203d20636972636c653b0a6578706f7274732e67656f436c6970416e74696d6572696469616e203d20636c6970416e74696d6572696469616e3b0a6578706f7274732e67656f436c6970436972636c65203d20636c6970436972636c653b0a6578706f7274732e67656f436c6970457874656e74203d20657874656e743b0a6578706f7274732e67656f436c697052656374616e676c65203d20636c697052656374616e676c653b0a6578706f7274732e67656f436f6e7461696e73203d20636f6e7461696e733b0a6578706f7274732e67656f44697374616e6365203d2064697374616e63653b0a6578706f7274732e67656f477261746963756c65203d20677261746963756c653b0a6578706f7274732e67656f477261746963756c653130203d20677261746963756c6531303b0a6578706f7274732e67656f496e746572706f6c617465203d20696e746572706f6c6174653b0a6578706f7274732e67656f4c656e677468203d206c656e6774683b0a6578706f7274732e67656f50617468203d20696e6465783b0a6578706f7274732e67656f416c62657273203d20616c626572733b0a6578706f7274732e67656f416c62657273557361203d20616c626572735573613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561203d20617a696d757468616c457175616c417265613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561526177203d20617a696d757468616c457175616c417265615261773b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74203d20617a696d757468616c4571756964697374616e743b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74526177203d20617a696d757468616c4571756964697374616e745261773b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c203d20636f6e6963436f6e666f726d616c3b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c526177203d20636f6e6963436f6e666f726d616c5261773b0a6578706f7274732e67656f436f6e6963457175616c41726561203d20636f6e6963457175616c417265613b0a6578706f7274732e67656f436f6e6963457175616c41726561526177203d20636f6e6963457175616c417265615261773b0a6578706f7274732e67656f436f6e69634571756964697374616e74203d20636f6e69634571756964697374616e743b0a6578706f7274732e67656f436f6e69634571756964697374616e74526177203d20636f6e69634571756964697374616e745261773b0a6578706f7274732e67656f4571756972656374616e67756c6172203d206571756972656374616e67756c61723b0a6578706f7274732e67656f4571756972656374616e67756c6172526177203d206571756972656374616e67756c61725261773b0a6578706f7274732e67656f476e6f6d6f6e6963203d20676e6f6d6f6e69633b0a6578706f7274732e67656f476e6f6d6f6e6963526177203d20676e6f6d6f6e69635261773b0a6578706f7274732e67656f4964656e74697479203d206964656e7469747924313b0a6578706f7274732e67656f50726f6a656374696f6e203d2070726f6a656374696f6e3b0a6578706f7274732e67656f50726f6a656374696f6e4d757461746f72203d2070726f6a656374696f6e4d757461746f723b0a6578706f7274732e67656f4d65726361746f72203d206d65726361746f723b0a6578706f7274732e67656f4d65726361746f72526177203d206d65726361746f725261773b0a6578706f7274732e67656f4e61747572616c456172746831203d206e61747572616c4561727468313b0a6578706f7274732e67656f4e61747572616c456172746831526177203d206e61747572616c4561727468315261773b0a6578706f7274732e67656f4f7274686f67726170686963203d206f7274686f677261706869633b0a6578706f7274732e67656f4f7274686f67726170686963526177203d206f7274686f677261706869635261773b0a6578706f7274732e67656f53746572656f67726170686963203d2073746572656f677261706869633b0a6578706f7274732e67656f53746572656f67726170686963526177203d2073746572656f677261706869635261773b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72203d207472616e7376657273654d65726361746f723b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72526177203d207472616e7376657273654d65726361746f725261773b0a6578706f7274732e67656f526f746174696f6e203d20726f746174696f6e3b0a6578706f7274732e67656f53747265616d203d2067656f53747265616d3b0a6578706f7274732e67656f5472616e73666f726d203d207472616e73666f726d3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33397d5d2c35323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d6869657261726368792f2056657273696f6e20312e312e352e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a66756e6374696f6e2064656661756c7453657061726174696f6e28612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a66756e6374696f6e206d65616e58286368696c6472656e29207b0a202072657475726e206368696c6472656e2e726564756365286d65616e585265647563652c203029202f206368696c6472656e2e6c656e6774683b0a7d0a0a66756e6374696f6e206d65616e5852656475636528782c206329207b0a202072657475726e2078202b20632e783b0a7d0a0a66756e6374696f6e206d617859286368696c6472656e29207b0a202072657475726e2031202b206368696c6472656e2e726564756365286d6178595265647563652c2030293b0a7d0a0a66756e6374696f6e206d61785952656475636528792c206329207b0a202072657475726e204d6174682e6d617828792c20632e79293b0a7d0a0a66756e6374696f6e206c6561664c656674286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b305d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c6561665269676874286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d3b0a202072657475726e206e6f64653b0a7d0a0a76617220636c7573746572203d2066756e6374696f6e2829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d2066616c73653b0a0a202066756e6374696f6e20636c757374657228726f6f7429207b0a202020207661722070726576696f75734e6f64652c0a202020202020202078203d20303b0a0a202020202f2f2046697273742077616c6b2c20636f6d707574696e672074686520696e697469616c2078202620792076616c7565732e0a20202020726f6f742e6561636841667465722866756e6374696f6e286e6f646529207b0a202020202020766172206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e29207b0a20202020202020206e6f64652e78203d206d65616e58286368696c6472656e293b0a20202020202020206e6f64652e79203d206d617859286368696c6472656e293b0a2020202020207d20656c7365207b0a20202020202020206e6f64652e78203d2070726576696f75734e6f6465203f2078202b3d2073657061726174696f6e286e6f64652c2070726576696f75734e6f646529203a20303b0a20202020202020206e6f64652e79203d20303b0a202020202020202070726576696f75734e6f6465203d206e6f64653b0a2020202020207d0a202020207d293b0a0a20202020766172206c656674203d206c6561664c65667428726f6f74292c0a20202020202020207269676874203d206c656166526967687428726f6f74292c0a20202020202020207830203d206c6566742e78202d2073657061726174696f6e286c6566742c20726967687429202f20322c0a20202020202020207831203d2072696768742e78202b2073657061726174696f6e2872696768742c206c65667429202f20323b0a0a202020202f2f205365636f6e642077616c6b2c206e6f726d616c697a696e6720782026207920746f2074686520646573697265642073697a652e0a2020202072657475726e20726f6f742e656163684166746572286e6f646553697a65203f2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20726f6f742e7829202a2064783b0a2020202020206e6f64652e79203d2028726f6f742e79202d206e6f64652e7929202a2064793b0a202020207d203a2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20783029202f20287831202d20783029202a2064783b0a2020202020206e6f64652e79203d202831202d2028726f6f742e79203f206e6f64652e79202f20726f6f742e79203a20312929202a2064793b0a202020207d293b0a20207d0a0a2020636c75737465722e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c20636c757374657229203a2073657061726174696f6e3b0a20207d3b0a0a2020636c75737465722e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020636c75737465722e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20636c75737465723b0a7d3b0a0a66756e6374696f6e20636f756e74286e6f646529207b0a20207661722073756d203d20302c0a2020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a20202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a2020696620282169292073756d203d20313b0a2020656c7365207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a20206e6f64652e76616c7565203d2073756d3b0a7d0a0a766172206e6f64655f636f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368416674657228636f756e74293b0a7d3b0a0a766172206e6f64655f65616368203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c2063757272656e742c206e657874203d205b6e6f64655d2c206368696c6472656e2c20692c206e3b0a2020646f207b0a2020202063757272656e74203d206e6578742e7265766572736528292c206e657874203d205b5d3b0a202020207768696c6520286e6f6465203d2063757272656e742e706f70282929207b0a20202020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202020206e6578742e70757368286368696c6472656e5b695d293b0a2020202020207d0a202020207d0a20207d207768696c6520286e6578742e6c656e677468293b0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f656163684265666f7265203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206368696c6472656e2c20693b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a2020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d206368696c6472656e2e6c656e677468202d20313b2069203e3d20303b202d2d6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f656163684166746572203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206e657874203d205b5d2c206368696c6472656e2c20692c206e3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206e6578742e70757368286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a20207768696c6520286e6f6465203d206e6578742e706f70282929207b0a2020202063616c6c6261636b286e6f6465293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f73756d203d2066756e6374696f6e2876616c756529207b0a202072657475726e20746869732e6561636841667465722866756e6374696f6e286e6f646529207b0a202020207661722073756d203d202b76616c7565286e6f64652e6461746129207c7c20302c0a20202020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a202020202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a202020207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a202020206e6f64652e76616c7565203d2073756d3b0a20207d293b0a7d3b0a0a766172206e6f64655f736f7274203d2066756e6374696f6e28636f6d7061726529207b0a202072657475726e20746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e2e736f727428636f6d70617265293b0a202020207d0a20207d293b0a7d3b0a0a766172206e6f64655f70617468203d2066756e6374696f6e28656e6429207b0a2020766172207374617274203d20746869732c0a202020202020616e636573746f72203d206c65617374436f6d6d6f6e416e636573746f722873746172742c20656e64292c0a2020202020206e6f646573203d205b73746172745d3b0a20207768696c652028737461727420213d3d20616e636573746f7229207b0a202020207374617274203d2073746172742e706172656e743b0a202020206e6f6465732e70757368287374617274293b0a20207d0a2020766172206b203d206e6f6465732e6c656e6774683b0a20207768696c652028656e6420213d3d20616e636573746f7229207b0a202020206e6f6465732e73706c696365286b2c20302c20656e64293b0a20202020656e64203d20656e642e706172656e743b0a20207d0a202072657475726e206e6f6465733b0a7d3b0a0a66756e6374696f6e206c65617374436f6d6d6f6e416e636573746f7228612c206229207b0a20206966202861203d3d3d2062292072657475726e20613b0a202076617220614e6f646573203d20612e616e636573746f727328292c0a202020202020624e6f646573203d20622e616e636573746f727328292c0a20202020202063203d206e756c6c3b0a202061203d20614e6f6465732e706f7028293b0a202062203d20624e6f6465732e706f7028293b0a20207768696c65202861203d3d3d206229207b0a2020202063203d20613b0a2020202061203d20614e6f6465732e706f7028293b0a2020202062203d20624e6f6465732e706f7028293b0a20207d0a202072657475726e20633b0a7d0a0a766172206e6f64655f616e636573746f7273203d2066756e6374696f6e2829207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d3b0a20207768696c6520286e6f6465203d206e6f64652e706172656e7429207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d0a202072657475726e206e6f6465733b0a7d3b0a0a766172206e6f64655f64657363656e64616e7473203d2066756e6374696f6e2829207b0a2020766172206e6f646573203d205b5d3b0a2020746869732e656163682866756e6374696f6e286e6f646529207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d293b0a202072657475726e206e6f6465733b0a7d3b0a0a766172206e6f64655f6c6561766573203d2066756e6374696f6e2829207b0a2020766172206c6561766573203d205b5d3b0a2020746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206c65617665732e70757368286e6f6465293b0a202020207d0a20207d293b0a202072657475726e206c65617665733b0a7d3b0a0a766172206e6f64655f6c696e6b73203d2066756e6374696f6e2829207b0a202076617220726f6f74203d20746869732c206c696e6b73203d205b5d3b0a2020726f6f742e656163682866756e6374696f6e286e6f646529207b0a20202020696620286e6f646520213d3d20726f6f7429207b202f2f20446f6ee280997420696e636c7564652074686520726f6f74e280997320706172656e742c20696620616e792e0a2020202020206c696e6b732e70757368287b736f757263653a206e6f64652e706172656e742c207461726765743a206e6f64657d293b0a202020207d0a20207d293b0a202072657475726e206c696e6b733b0a7d3b0a0a66756e6374696f6e2068696572617263687928646174612c206368696c6472656e29207b0a202076617220726f6f74203d206e6577204e6f64652864617461292c0a20202020202076616c756564203d202b646174612e76616c75652026262028726f6f742e76616c7565203d20646174612e76616c7565292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b726f6f745d2c0a2020202020206368696c642c0a2020202020206368696c64732c0a202020202020692c0a2020202020206e3b0a0a2020696620286368696c6472656e203d3d206e756c6c29206368696c6472656e203d2064656661756c744368696c6472656e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206966202876616c75656429206e6f64652e76616c7565203d202b6e6f64652e646174612e76616c75653b0a2020202069662028286368696c6473203d206368696c6472656e286e6f64652e64617461292920262620286e203d206368696c64732e6c656e6774682929207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e6577204e6f6465286368696c64735b695d29293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a20202020202020206368696c642e6465707468203d206e6f64652e6465707468202b20313b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726f6f742e656163684265666f726528636f6d70757465486569676874293b0a7d0a0a66756e6374696f6e206e6f64655f636f70792829207b0a202072657475726e206869657261726368792874686973292e656163684265666f726528636f707944617461293b0a7d0a0a66756e6374696f6e2064656661756c744368696c6472656e286429207b0a202072657475726e20642e6368696c6472656e3b0a7d0a0a66756e6374696f6e20636f707944617461286e6f646529207b0a20206e6f64652e64617461203d206e6f64652e646174612e646174613b0a7d0a0a66756e6374696f6e20636f6d70757465486569676874286e6f646529207b0a202076617220686569676874203d20303b0a2020646f206e6f64652e686569676874203d206865696768743b0a20207768696c652028286e6f6465203d206e6f64652e706172656e742920262620286e6f64652e686569676874203c202b2b68656967687429293b0a7d0a0a66756e6374696f6e204e6f6465286461746129207b0a2020746869732e64617461203d20646174613b0a2020746869732e6465707468203d0a2020746869732e686569676874203d20303b0a2020746869732e706172656e74203d206e756c6c3b0a7d0a0a4e6f64652e70726f746f74797065203d206869657261726368792e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204e6f64652c0a2020636f756e743a206e6f64655f636f756e742c0a2020656163683a206e6f64655f656163682c0a20206561636841667465723a206e6f64655f6561636841667465722c0a2020656163684265666f72653a206e6f64655f656163684265666f72652c0a202073756d3a206e6f64655f73756d2c0a2020736f72743a206e6f64655f736f72742c0a2020706174683a206e6f64655f706174682c0a2020616e636573746f72733a206e6f64655f616e636573746f72732c0a202064657363656e64616e74733a206e6f64655f64657363656e64616e74732c0a20206c65617665733a206e6f64655f6c65617665732c0a20206c696e6b733a206e6f64655f6c696e6b732c0a2020636f70793a206e6f64655f636f70790a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e2073687566666c6528617272617929207b0a2020766172206d203d2061727261792e6c656e6774682c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d5d3b0a2020202061727261795b6d5d203d2061727261795b695d3b0a2020202061727261795b695d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a76617220656e636c6f7365203d2066756e6374696f6e28636972636c657329207b0a20207661722069203d20302c206e203d2028636972636c6573203d2073687566666c6528736c6963652e63616c6c28636972636c65732929292e6c656e6774682c2042203d205b5d2c20702c20653b0a0a20207768696c65202869203c206e29207b0a2020202070203d20636972636c65735b695d3b0a20202020696620286520262620656e636c6f7365735765616b28652c20702929202b2b693b0a20202020656c73652065203d20656e636c6f736542617369732842203d20657874656e64426173697328422c207029292c2069203d20303b0a20207d0a0a202072657475726e20653b0a7d3b0a0a66756e6374696f6e20657874656e64426173697328422c207029207b0a202076617220692c206a3b0a0a202069662028656e636c6f7365735765616b416c6c28702c204229292072657475726e205b705d3b0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c65617374206f6e6520656c656d656e742e0a2020666f72202869203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a2020202069662028656e636c6f7365734e6f7428702c20425b695d290a2020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733228425b695d2c2070292c20422929207b0a20202020202072657475726e205b425b695d2c20705d3b0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c656173742074776f20656c656d656e74732e0a2020666f72202869203d20303b2069203c20422e6c656e677468202d20313b202b2b6929207b0a20202020666f7220286a203d2069202b20313b206a203c20422e6c656e6774683b202b2b6a29207b0a20202020202069662028656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c20425b6a5d292c2070290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c2070292c20425b6a5d290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b6a5d2c2070292c20425b695d290a20202020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733328425b695d2c20425b6a5d2c2070292c20422929207b0a202020202020202072657475726e205b425b695d2c20425b6a5d2c20705d3b0a2020202020207d0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e20736f6d657468696e6720697320766572792077726f6e672e0a20207468726f77206e6577204572726f723b0a7d0a0a66756e6374696f6e20656e636c6f7365734e6f7428612c206229207b0a2020766172206472203d20612e72202d20622e722c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203c2030207c7c206472202a206472203c206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b28612c206229207b0a2020766172206472203d20612e72202d20622e72202b2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b416c6c28612c204229207b0a2020666f7220287661722069203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a202020206966202821656e636c6f7365735765616b28612c20425b695d2929207b0a20202020202072657475726e2066616c73653b0a202020207d0a20207d0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20656e636c6f73654261736973284229207b0a20207377697463682028422e6c656e67746829207b0a202020206361736520313a2072657475726e20656e636c6f736542617369733128425b305d293b0a202020206361736520323a2072657475726e20656e636c6f736542617369733228425b305d2c20425b315d293b0a202020206361736520333a2072657475726e20656e636c6f736542617369733328425b305d2c20425b315d2c20425b325d293b0a20207d0a7d0a0a66756e6374696f6e20656e636c6f7365426173697331286129207b0a202072657475726e207b0a20202020783a20612e782c0a20202020793a20612e792c0a20202020723a20612e720a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733228612c206229207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a202020202020783231203d207832202d2078312c20793231203d207932202d2079312c20723231203d207232202d2072312c0a2020202020206c203d204d6174682e7371727428783231202a20783231202b20793231202a20793231293b0a202072657475726e207b0a20202020783a20287831202b207832202b20783231202f206c202a2072323129202f20322c0a20202020793a20287931202b207932202b20793231202f206c202a2072323129202f20322c0a20202020723a20286c202b207231202b20723229202f20320a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733328612c20622c206329207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a2020202020207833203d20632e782c207933203d20632e792c207233203d20632e722c0a2020202020206132203d207831202d2078322c0a2020202020206133203d207831202d2078332c0a2020202020206232203d207931202d2079322c0a2020202020206233203d207931202d2079332c0a2020202020206332203d207232202d2072312c0a2020202020206333203d207233202d2072312c0a2020202020206431203d207831202a207831202b207931202a207931202d207231202a2072312c0a2020202020206432203d206431202d207832202a207832202d207932202a207932202b207232202a2072322c0a2020202020206433203d206431202d207833202a207833202d207933202a207933202b207233202a2072332c0a2020202020206162203d206133202a206232202d206132202a2062332c0a2020202020207861203d20286232202a206433202d206233202a20643229202f20286162202a203229202d2078312c0a2020202020207862203d20286233202a206332202d206232202a20633329202f2061622c0a2020202020207961203d20286133202a206432202d206132202a20643329202f20286162202a203229202d2079312c0a2020202020207962203d20286132202a206333202d206133202a20633229202f2061622c0a20202020202041203d207862202a207862202b207962202a207962202d20312c0a20202020202042203d2032202a20287231202b207861202a207862202b207961202a207962292c0a20202020202043203d207861202a207861202b207961202a207961202d207231202a2072312c0a20202020202072203d202d2841203f202842202b204d6174682e737172742842202a2042202d2034202a2041202a20432929202f202832202a204129203a2043202f2042293b0a202072657475726e207b0a20202020783a207831202b207861202b207862202a20722c0a20202020793a207931202b207961202b207962202a20722c0a20202020723a20720a20207d3b0a7d0a0a66756e6374696f6e20706c61636528612c20622c206329207b0a2020766172206178203d20612e782c0a2020202020206179203d20612e792c0a2020202020206461203d20622e72202b20632e722c0a2020202020206462203d20612e72202b20632e722c0a2020202020206478203d20622e78202d2061782c0a2020202020206479203d20622e79202d2061792c0a2020202020206463203d206478202a206478202b206479202a2064793b0a202069662028646329207b0a202020207661722078203d20302e35202b2028286462202a3d20646229202d20286461202a3d2064612929202f202832202a206463292c0a202020202020202079203d204d6174682e73717274284d6174682e6d617828302c2032202a206461202a20286462202b20646329202d20286462202d3d20646329202a206462202d206461202a2064612929202f202832202a206463293b0a20202020632e78203d206178202b2078202a206478202b2079202a2064793b0a20202020632e79203d206179202b2078202a206479202d2079202a2064783b0a20207d20656c7365207b0a20202020632e78203d206178202b2064623b0a20202020632e79203d2061793b0a20207d0a7d0a0a66756e6374696f6e20696e746572736563747328612c206229207b0a2020766172206478203d20622e78202d20612e782c0a2020202020206479203d20622e79202d20612e792c0a2020202020206472203d20612e72202b20622e723b0a202072657475726e206472202a206472202d2031652d36203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e2073636f7265286e6f646529207b0a20207661722061203d206e6f64652e5f2c0a20202020202062203d206e6f64652e6e6578742e5f2c0a2020202020206162203d20612e72202b20622e722c0a2020202020206478203d2028612e78202a20622e72202b20622e78202a20612e7229202f2061622c0a2020202020206479203d2028612e79202a20622e72202b20622e79202a20612e7229202f2061623b0a202072657475726e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e204e6f6465243128636972636c6529207b0a2020746869732e5f203d20636972636c653b0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e70726576696f7573203d206e756c6c3b0a7d0a0a66756e6374696f6e207061636b456e636c6f736528636972636c657329207b0a20206966202821286e203d20636972636c65732e6c656e67746829292072657475726e20303b0a0a202076617220612c20622c20632c206e2c2061612c2063612c20692c206a2c206b2c20736a2c20736b3b0a0a20202f2f20506c6163652074686520666972737420636972636c652e0a202061203d20636972636c65735b305d2c20612e78203d20302c20612e79203d20303b0a20206966202821286e203e203129292072657475726e20612e723b0a0a20202f2f20506c61636520746865207365636f6e6420636972636c652e0a202062203d20636972636c65735b315d2c20612e78203d202d622e722c20622e78203d20612e722c20622e79203d20303b0a20206966202821286e203e203229292072657475726e20612e72202b20622e723b0a0a20202f2f20506c6163652074686520746869726420636972636c652e0a2020706c61636528622c20612c2063203d20636972636c65735b325d293b0a0a20202f2f20496e697469616c697a65207468652066726f6e742d636861696e207573696e672074686520666972737420746872656520636972636c657320612c206220616e6420632e0a202061203d206e6577204e6f646524312861292c2062203d206e6577204e6f646524312862292c2063203d206e6577204e6f646524312863293b0a2020612e6e657874203d20632e70726576696f7573203d20623b0a2020622e6e657874203d20612e70726576696f7573203d20633b0a2020632e6e657874203d20622e70726576696f7573203d20613b0a0a20202f2f20417474656d707420746f20706c61636520656163682072656d61696e696e6720636972636c65e280a60a20207061636b3a20666f72202869203d20333b2069203c206e3b202b2b6929207b0a20202020706c61636528612e5f2c20622e5f2c2063203d20636972636c65735b695d292c2063203d206e6577204e6f646524312863293b0a0a202020202f2f2046696e642074686520636c6f7365737420696e74657273656374696e6720636972636c65206f6e207468652066726f6e742d636861696e2c20696620616e792e0a202020202f2f20e2809c436c6f73656e657373e2809d2069732064657465726d696e6564206279206c696e6561722064697374616e636520616c6f6e67207468652066726f6e742d636861696e2e0a202020202f2f20e2809c4168656164e2809d206f7220e2809c626568696e64e2809d206973206c696b65776973652064657465726d696e6564206279206c696e6561722064697374616e63652e0a202020206a203d20622e6e6578742c206b203d20612e70726576696f75732c20736a203d20622e5f2e722c20736b203d20612e5f2e723b0a20202020646f207b0a20202020202069662028736a203c3d20736b29207b0a202020202020202069662028696e7465727365637473286a2e5f2c20632e5f2929207b0a2020202020202020202062203d206a2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736a202b3d206a2e5f2e722c206a203d206a2e6e6578743b0a2020202020207d20656c7365207b0a202020202020202069662028696e7465727365637473286b2e5f2c20632e5f2929207b0a2020202020202020202061203d206b2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736b202b3d206b2e5f2e722c206b203d206b2e70726576696f75733b0a2020202020207d0a202020207d207768696c6520286a20213d3d206b2e6e657874293b0a0a202020202f2f20537563636573732120496e7365727420746865206e657720636972636c652063206265747765656e206120616e6420622e0a20202020632e70726576696f7573203d20612c20632e6e657874203d20622c20612e6e657874203d20622e70726576696f7573203d2062203d20633b0a0a202020202f2f20436f6d7075746520746865206e657720636c6f7365737420636972636c65207061697220746f207468652063656e74726f69642e0a202020206161203d2073636f72652861293b0a202020207768696c6520282863203d20632e6e6578742920213d3d206229207b0a20202020202069662028286361203d2073636f726528632929203c20616129207b0a202020202020202061203d20632c206161203d2063613b0a2020202020207d0a202020207d0a2020202062203d20612e6e6578743b0a20207d0a0a20202f2f20436f6d707574652074686520656e636c6f73696e6720636972636c65206f66207468652066726f6e7420636861696e2e0a202061203d205b622e5f5d2c2063203d20623b207768696c6520282863203d20632e6e6578742920213d3d20622920612e7075736828632e5f293b2063203d20656e636c6f73652861293b0a0a20202f2f205472616e736c6174652074686520636972636c657320746f207075742074686520656e636c6f73696e6720636972636c652061726f756e6420746865206f726967696e2e0a2020666f72202869203d20303b2069203c206e3b202b2b69292061203d20636972636c65735b695d2c20612e78202d3d20632e782c20612e79202d3d20632e793b0a0a202072657475726e20632e723b0a7d0a0a766172207369626c696e6773203d2066756e6374696f6e28636972636c657329207b0a20207061636b456e636c6f736528636972636c6573293b0a202072657475726e20636972636c65733b0a7d3b0a0a66756e6374696f6e206f7074696f6e616c286629207b0a202072657475726e2066203d3d206e756c6c203f206e756c6c203a2072657175697265642866293b0a7d0a0a66756e6374696f6e207265717569726564286629207b0a202069662028747970656f66206620213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20663b0a7d0a0a66756e6374696f6e20636f6e7374616e745a65726f2829207b0a202072657475726e20303b0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e204d6174682e7371727428642e76616c7565293b0a7d0a0a76617220696e646578203d2066756e6374696f6e2829207b0a202076617220726164697573203d206e756c6c2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e207061636b28726f6f7429207b0a20202020726f6f742e78203d206478202f20322c20726f6f742e79203d206479202f20323b0a202020206966202872616469757329207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662872616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20302e3529290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64283129293b0a202020207d20656c7365207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662864656661756c7452616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e28636f6e7374616e745a65726f2c203129290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20726f6f742e72202f204d6174682e6d696e2864782c2064792929290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64284d6174682e6d696e2864782c20647929202f202832202a20726f6f742e722929293b0a202020207d0a2020202072657475726e20726f6f743b0a20207d0a0a20207061636b2e726164697573203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d206f7074696f6e616c2878292c207061636b29203a207261646975733b0a20207d3b0a0a20207061636b2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c207061636b29203a205b64782c2064795d3b0a20207d3b0a0a20207061636b2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c207061636b29203a2070616464696e673b0a20207d3b0a0a202072657475726e207061636b3b0a7d3b0a0a66756e6374696f6e207261646975734c6561662872616469757329207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e72203d204d6174682e6d617828302c202b726164697573286e6f646529207c7c2030293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061636b4368696c6472656e2870616464696e672c206b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a20202020696620286368696c6472656e203d206e6f64652e6368696c6472656e29207b0a202020202020766172206368696c6472656e2c0a20202020202020202020692c0a202020202020202020206e203d206368696c6472656e2e6c656e6774682c0a2020202020202020202072203d2070616464696e67286e6f646529202a206b207c7c20302c0a20202020202020202020653b0a0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202b3d20723b0a20202020202065203d207061636b456e636c6f7365286368696c6472656e293b0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202d3d20723b0a2020202020206e6f64652e72203d2065202b20723b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207472616e736c6174654368696c64286b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202076617220706172656e74203d206e6f64652e706172656e743b0a202020206e6f64652e72202a3d206b3b0a2020202069662028706172656e7429207b0a2020202020206e6f64652e78203d20706172656e742e78202b206b202a206e6f64652e783b0a2020202020206e6f64652e79203d20706172656e742e79202b206b202a206e6f64652e793b0a202020207d0a20207d3b0a7d0a0a76617220726f756e644e6f6465203d2066756e6374696f6e286e6f646529207b0a20206e6f64652e7830203d204d6174682e726f756e64286e6f64652e7830293b0a20206e6f64652e7930203d204d6174682e726f756e64286e6f64652e7930293b0a20206e6f64652e7831203d204d6174682e726f756e64286e6f64652e7831293b0a20206e6f64652e7931203d204d6174682e726f756e64286e6f64652e7931293b0a7d3b0a0a76617220747265656d617044696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287831202d20783029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7930203d2079302c206e6f64652e7931203d2079313b0a202020206e6f64652e7830203d2078302c206e6f64652e7831203d207830202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d3b0a0a76617220706172746974696f6e203d2066756e6374696f6e2829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20302c0a202020202020726f756e64203d2066616c73653b0a0a202066756e6374696f6e20706172746974696f6e28726f6f7429207b0a20202020766172206e203d20726f6f742e686569676874202b20313b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d2070616464696e673b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d206479202f206e3b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f64652864792c206e29293b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f64652864792c206e29207b0a2020202072657475726e2066756e6374696f6e286e6f646529207b0a202020202020696620286e6f64652e6368696c6472656e29207b0a2020202020202020747265656d617044696365286e6f64652c206e6f64652e78302c206479202a20286e6f64652e6465707468202b203129202f206e2c206e6f64652e78312c206479202a20286e6f64652e6465707468202b203229202f206e293b0a2020202020207d0a202020202020766172207830203d206e6f64652e78302c0a202020202020202020207930203d206e6f64652e79302c0a202020202020202020207831203d206e6f64652e7831202d2070616464696e672c0a202020202020202020207931203d206e6f64652e7931202d2070616464696e673b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a2020202020206e6f64652e7830203d2078303b0a2020202020206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078313b0a2020202020206e6f64652e7931203d2079313b0a202020207d3b0a20207d0a0a2020706172746974696f6e2e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20706172746974696f6e29203a20726f756e643b0a20207d3b0a0a2020706172746974696f6e2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20706172746974696f6e29203a205b64782c2064795d3b0a20207d3b0a0a2020706172746974696f6e2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d202b782c20706172746974696f6e29203a2070616464696e673b0a20207d3b0a0a202072657475726e20706172746974696f6e3b0a7d3b0a0a766172206b6579507265666978203d202224223b0a76617220707265726f6f74203d207b64657074683a202d317d3b0a76617220616d626967756f7573203d207b7d3b0a0a66756e6374696f6e2064656661756c744964286429207b0a202072657475726e20642e69643b0a7d0a0a66756e6374696f6e2064656661756c74506172656e744964286429207b0a202072657475726e20642e706172656e7449643b0a7d0a0a766172207374726174696679203d2066756e6374696f6e2829207b0a2020766172206964203d2064656661756c7449642c0a202020202020706172656e744964203d2064656661756c74506172656e7449643b0a0a202066756e6374696f6e207374726174696679286461746129207b0a2020202076617220642c0a2020202020202020692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020726f6f742c0a2020202020202020706172656e742c0a20202020202020206e6f64652c0a20202020202020206e6f646573203d206e6577204172726179286e292c0a20202020202020206e6f646549642c0a20202020202020206e6f64654b65792c0a20202020202020206e6f646542794b6579203d207b7d3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202064203d20646174615b695d2c206e6f6465203d206e6f6465735b695d203d206e6577204e6f64652864293b0a20202020202069662028286e6f64654964203d20696428642c20692c2064617461292920213d206e756c6c20262620286e6f64654964202b3d2022222929207b0a20202020202020206e6f64654b6579203d206b6579507265666978202b20286e6f64652e6964203d206e6f64654964293b0a20202020202020206e6f646542794b65795b6e6f64654b65795d203d206e6f64654b657920696e206e6f646542794b6579203f20616d626967756f7573203a206e6f64653b0a2020202020207d0a202020207d0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64654964203d20706172656e74496428646174615b695d2c20692c2064617461293b0a202020202020696620286e6f64654964203d3d206e756c6c207c7c2021286e6f64654964202b3d2022222929207b0a202020202020202069662028726f6f7429207468726f77206e6577204572726f7228226d756c7469706c6520726f6f747322293b0a2020202020202020726f6f74203d206e6f64653b0a2020202020207d20656c7365207b0a2020202020202020706172656e74203d206e6f646542794b65795b6b6579507265666978202b206e6f646549645d3b0a20202020202020206966202821706172656e7429207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202020202020202069662028706172656e74203d3d3d20616d626967756f757329207468726f77206e6577204572726f722822616d626967756f75733a2022202b206e6f64654964293b0a202020202020202069662028706172656e742e6368696c6472656e2920706172656e742e6368696c6472656e2e70757368286e6f6465293b0a2020202020202020656c736520706172656e742e6368696c6472656e203d205b6e6f64655d3b0a20202020202020206e6f64652e706172656e74203d20706172656e743b0a2020202020207d0a202020207d0a0a202020206966202821726f6f7429207468726f77206e6577204572726f7228226e6f20726f6f7422293b0a20202020726f6f742e706172656e74203d20707265726f6f743b0a20202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b206e6f64652e6465707468203d206e6f64652e706172656e742e6465707468202b20313b202d2d6e3b207d292e656163684265666f726528636f6d70757465486569676874293b0a20202020726f6f742e706172656e74203d206e756c6c3b0a20202020696620286e203e203029207468726f77206e6577204572726f7228226379636c6522293b0a0a2020202072657475726e20726f6f743b0a20207d0a0a202073747261746966792e6964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d2072657175697265642878292c20737472617469667929203a2069643b0a20207d3b0a0a202073747261746966792e706172656e744964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706172656e744964203d2072657175697265642878292c20737472617469667929203a20706172656e7449643b0a20207d3b0a0a202072657475726e2073747261746966793b0a7d3b0a0a66756e6374696f6e2064656661756c7453657061726174696f6e243128612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a2f2f2066756e6374696f6e2072616469616c53657061726174696f6e28612c206229207b0a2f2f20202072657475726e2028612e706172656e74203d3d3d20622e706172656e74203f2031203a203229202f20612e64657074683b0a2f2f207d0a0a2f2f20546869732066756e6374696f6e206973207573656420746f20747261766572736520746865206c65667420636f6e746f7572206f662061207375627472656520286f720a2f2f20737562666f72657374292e2049742072657475726e732074686520737563636573736f72206f662076206f6e207468697320636f6e746f75722e205468697320737563636573736f722069730a2f2f2065697468657220676976656e20627920746865206c6566746d6f7374206368696c64206f662076206f722062792074686520746872656164206f6620762e205468652066756e6374696f6e0a2f2f2072657475726e73206e756c6c20696620616e64206f6e6c792069662076206973206f6e207468652068696768657374206c6576656c206f662069747320737562747265652e0a66756e6374696f6e206e6578744c656674287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b305d203a20762e743b0a7d0a0a2f2f20546869732066756e6374696f6e20776f726b7320616e616c6f676f75736c7920746f206e6578744c6566742e0a66756e6374696f6e206e6578745269676874287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d203a20762e743b0a7d0a0a2f2f20536869667473207468652063757272656e74207375627472656520726f6f74656420617420772b2e205468697320697320646f6e6520627920696e6372656173696e670a2f2f207072656c696d28772b2920616e64206d6f6428772b292062792073686966742e0a66756e6374696f6e206d6f76655375627472656528776d2c2077702c20736869667429207b0a2020766172206368616e6765203d207368696674202f202877702e69202d20776d2e69293b0a202077702e63202d3d206368616e67653b0a202077702e73202b3d2073686966743b0a2020776d2e63202b3d206368616e67653b0a202077702e7a202b3d2073686966743b0a202077702e6d202b3d2073686966743b0a7d0a0a2f2f20416c6c206f74686572207368696674732c206170706c69656420746f2074686520736d616c6c6572207375627472656573206265747765656e20772d20616e6420772b2c206172650a2f2f20706572666f726d656420627920746869732066756e6374696f6e2e20546f207072657061726520746865207368696674732c207765206861766520746f2061646a7573740a2f2f206368616e676528772b292c20736869667428772b292c20616e64206368616e676528772d292e0a66756e6374696f6e2065786563757465536869667473287629207b0a2020766172207368696674203d20302c0a2020202020206368616e6765203d20302c0a2020202020206368696c6472656e203d20762e6368696c6472656e2c0a20202020202069203d206368696c6472656e2e6c656e6774682c0a202020202020773b0a20207768696c6520282d2d69203e3d203029207b0a2020202077203d206368696c6472656e5b695d3b0a20202020772e7a202b3d2073686966743b0a20202020772e6d202b3d2073686966743b0a202020207368696674202b3d20772e73202b20286368616e6765202b3d20772e63293b0a20207d0a7d0a0a2f2f2049662076692de280997320616e636573746f722069732061207369626c696e67206f6620762c2072657475726e732076692de280997320616e636573746f722e204f74686572776973652c0a2f2f2072657475726e732074686520737065636966696564202864656661756c742920616e636573746f722e0a66756e6374696f6e206e657874416e636573746f722876696d2c20762c20616e636573746f7229207b0a202072657475726e2076696d2e612e706172656e74203d3d3d20762e706172656e74203f2076696d2e61203a20616e636573746f723b0a7d0a0a66756e6374696f6e20547265654e6f6465286e6f64652c206929207b0a2020746869732e5f203d206e6f64653b0a2020746869732e706172656e74203d206e756c6c3b0a2020746869732e6368696c6472656e203d206e756c6c3b0a2020746869732e41203d206e756c6c3b202f2f2064656661756c7420616e636573746f720a2020746869732e61203d20746869733b202f2f20616e636573746f720a2020746869732e7a203d20303b202f2f207072656c696d0a2020746869732e6d203d20303b202f2f206d6f640a2020746869732e63203d20303b202f2f206368616e67650a2020746869732e73203d20303b202f2f2073686966740a2020746869732e74203d206e756c6c3b202f2f207468726561640a2020746869732e69203d20693b202f2f206e756d6265720a7d0a0a547265654e6f64652e70726f746f74797065203d204f626a6563742e637265617465284e6f64652e70726f746f74797065293b0a0a66756e6374696f6e2074726565526f6f7428726f6f7429207b0a20207661722074726565203d206e657720547265654e6f646528726f6f742c2030292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b747265655d2c0a2020202020206368696c642c0a2020202020206368696c6472656e2c0a202020202020692c0a2020202020206e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020696620286368696c6472656e203d206e6f64652e5f2e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e203d206368696c6472656e2e6c656e677468293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e657720547265654e6f6465286368696c6472656e5b695d2c206929293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202028747265652e706172656e74203d206e657720547265654e6f6465286e756c6c2c203029292e6368696c6472656e203d205b747265655d3b0a202072657475726e20747265653b0a7d0a0a2f2f204e6f64652d6c696e6b2074726565206469616772616d207573696e6720746865205265696e676f6c642d54696c666f72642022746964792220616c676f726974686d0a7661722074726565203d2066756e6374696f6e2829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e24312c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d206e756c6c3b0a0a202066756e6374696f6e207472656528726f6f7429207b0a202020207661722074203d2074726565526f6f7428726f6f74293b0a0a202020202f2f20436f6d7075746520746865206c61796f7574207573696e6720427563686865696d20657420616c2ee280997320616c676f726974686d2e0a20202020742e65616368416674657228666972737457616c6b292c20742e706172656e742e6d203d202d742e7a3b0a20202020742e656163684265666f7265287365636f6e6457616c6b293b0a0a202020202f2f2049662061206669786564206e6f64652073697a65206973207370656369666965642c207363616c65207820616e6420792e0a20202020696620286e6f646553697a652920726f6f742e656163684265666f72652873697a654e6f6465293b0a0a202020202f2f204966206120666978656420747265652073697a65206973207370656369666965642c207363616c65207820616e642079206261736564206f6e2074686520657874656e742e0a202020202f2f20436f6d7075746520746865206c6566742d6d6f73742c2072696768742d6d6f73742c20616e642064657074682d6d6f7374206e6f64657320666f7220657874656e74732e0a20202020656c7365207b0a202020202020766172206c656674203d20726f6f742c0a202020202020202020207269676874203d20726f6f742c0a20202020202020202020626f74746f6d203d20726f6f743b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202020202020696620286e6f64652e78203c206c6566742e7829206c656674203d206e6f64653b0a2020202020202020696620286e6f64652e78203e2072696768742e7829207269676874203d206e6f64653b0a2020202020202020696620286e6f64652e6465707468203e20626f74746f6d2e64657074682920626f74746f6d203d206e6f64653b0a2020202020207d293b0a2020202020207661722073203d206c656674203d3d3d207269676874203f2031203a2073657061726174696f6e286c6566742c20726967687429202f20322c0a202020202020202020207478203d2073202d206c6566742e782c0a202020202020202020206b78203d206478202f202872696768742e78202b2073202b207478292c0a202020202020202020206b79203d206479202f2028626f74746f6d2e6465707468207c7c2031293b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020202020206e6f64652e78203d20286e6f64652e78202b20747829202a206b783b0a20202020202020206e6f64652e79203d206e6f64652e6465707468202a206b793b0a2020202020207d293b0a202020207d0a0a2020202072657475726e20726f6f743b0a20207d0a0a20202f2f20436f6d70757465732061207072656c696d696e61727920782d636f6f7264696e61746520666f7220762e204265666f726520746861742c2046495253542057414c4b2069730a20202f2f206170706c696564207265637572736976656c7920746f20746865206368696c6472656e206f6620762c2061732077656c6c206173207468652066756e6374696f6e0a20202f2f204150504f5254494f4e2e2041667465722073706163696e67206f757420746865206368696c6472656e2062792063616c6c696e672045584543555445205348494654532c207468650a20202f2f206e6f6465207620697320706c6163656420746f20746865206d6964706f696e74206f6620697473206f757465726d6f7374206368696c6472656e2e0a202066756e6374696f6e20666972737457616c6b287629207b0a20202020766172206368696c6472656e203d20762e6368696c6472656e2c0a20202020202020207369626c696e6773203d20762e706172656e742e6368696c6472656e2c0a202020202020202077203d20762e69203f207369626c696e67735b762e69202d20315d203a206e756c6c3b0a20202020696620286368696c6472656e29207b0a202020202020657865637574655368696674732876293b0a202020202020766172206d6964706f696e74203d20286368696c6472656e5b305d2e7a202b206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d2e7a29202f20323b0a202020202020696620287729207b0a2020202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a2020202020202020762e6d203d20762e7a202d206d6964706f696e743b0a2020202020207d20656c7365207b0a2020202020202020762e7a203d206d6964706f696e743b0a2020202020207d0a202020207d20656c736520696620287729207b0a202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a202020207d0a20202020762e706172656e742e41203d206170706f7274696f6e28762c20772c20762e706172656e742e41207c7c207369626c696e67735b305d293b0a20207d0a0a20202f2f20436f6d707574657320616c6c207265616c20782d636f6f7264696e617465732062792073756d6d696e6720757020746865206d6f64696669657273207265637572736976656c792e0a202066756e6374696f6e207365636f6e6457616c6b287629207b0a20202020762e5f2e78203d20762e7a202b20762e706172656e742e6d3b0a20202020762e6d202b3d20762e706172656e742e6d3b0a20207d0a0a20202f2f2054686520636f7265206f662074686520616c676f726974686d2e20486572652c2061206e6577207375627472656520697320636f6d62696e65642077697468207468650a20202f2f2070726576696f75732073756274726565732e205468726561647320617265207573656420746f2074726176657273652074686520696e7369646520616e64206f7574736964650a20202f2f20636f6e746f757273206f6620746865206c65667420616e64207269676874207375627472656520757020746f20746865206869676865737420636f6d6d6f6e206c6576656c2e205468650a20202f2f207665727469636573207573656420666f72207468652074726176657273616c73206172652076692b2c2076692d2c20766f2d2c20616e6420766f2b2c207768657265207468650a20202f2f207375706572736372697074206f206d65616e73206f75747369646520616e642069206d65616e7320696e736964652c2074686520737562736372697074202d206d65616e73206c6566740a20202f2f207375627472656520616e64202b206d65616e7320726967687420737562747265652e20466f722073756d6d696e6720757020746865206d6f6469666965727320616c6f6e67207468650a20202f2f20636f6e746f75722c207765207573652072657370656374697665207661726961626c65732073692b2c2073692d2c20736f2d2c20616e6420736f2b2e205768656e657665722074776f0a20202f2f206e6f646573206f662074686520696e7369646520636f6e746f75727320636f6e666c6963742c20776520636f6d7075746520746865206c656674206f6e65206f66207468650a20202f2f20677265617465737420756e636f6d6d6f6e20616e636573746f7273207573696e67207468652066756e6374696f6e20414e434553544f5220616e642063616c6c204d4f56450a20202f2f205355425452454520746f20736869667420746865207375627472656520616e6420707265706172652074686520736869667473206f6620736d616c6c65722073756274726565732e0a20202f2f2046696e616c6c792c207765206164642061206e65772074687265616420286966206e6563657373617279292e0a202066756e6374696f6e206170706f7274696f6e28762c20772c20616e636573746f7229207b0a20202020696620287729207b0a20202020202076617220766970203d20762c0a20202020202020202020766f70203d20762c0a2020202020202020202076696d203d20772c0a20202020202020202020766f6d203d207669702e706172656e742e6368696c6472656e5b305d2c0a20202020202020202020736970203d207669702e6d2c0a20202020202020202020736f70203d20766f702e6d2c0a2020202020202020202073696d203d2076696d2e6d2c0a20202020202020202020736f6d203d20766f6d2e6d2c0a2020202020202020202073686966743b0a2020202020207768696c65202876696d203d206e65787452696768742876696d292c20766970203d206e6578744c65667428766970292c2076696d2026262076697029207b0a2020202020202020766f6d203d206e6578744c65667428766f6d293b0a2020202020202020766f70203d206e657874526967687428766f70293b0a2020202020202020766f702e61203d20763b0a20202020202020207368696674203d2076696d2e7a202b2073696d202d207669702e7a202d20736970202b2073657061726174696f6e2876696d2e5f2c207669702e5f293b0a2020202020202020696620287368696674203e203029207b0a202020202020202020206d6f766553756274726565286e657874416e636573746f722876696d2c20762c20616e636573746f72292c20762c207368696674293b0a20202020202020202020736970202b3d2073686966743b0a20202020202020202020736f70202b3d2073686966743b0a20202020202020207d0a202020202020202073696d202b3d2076696d2e6d3b0a2020202020202020736970202b3d207669702e6d3b0a2020202020202020736f6d202b3d20766f6d2e6d3b0a2020202020202020736f70202b3d20766f702e6d3b0a2020202020207d0a2020202020206966202876696d20262620216e657874526967687428766f702929207b0a2020202020202020766f702e74203d2076696d3b0a2020202020202020766f702e6d202b3d2073696d202d20736f703b0a2020202020207d0a2020202020206966202876697020262620216e6578744c65667428766f6d2929207b0a2020202020202020766f6d2e74203d207669703b0a2020202020202020766f6d2e6d202b3d20736970202d20736f6d3b0a2020202020202020616e636573746f72203d20763b0a2020202020207d0a202020207d0a2020202072657475726e20616e636573746f723b0a20207d0a0a202066756e6374696f6e2073697a654e6f6465286e6f646529207b0a202020206e6f64652e78202a3d2064783b0a202020206e6f64652e79203d206e6f64652e6465707468202a2064793b0a20207d0a0a2020747265652e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c207472656529203a2073657061726174696f6e3b0a20207d3b0a0a2020747265652e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020747265652e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20747265653b0a7d3b0a0a76617220747265656d6170536c696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287931202d20793029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7830203d2078302c206e6f64652e7831203d2078313b0a202020206e6f64652e7930203d2079302c206e6f64652e7931203d207930202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d3b0a0a76617220706869203d202831202b204d6174682e7371727428352929202f20323b0a0a66756e6374696f6e207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c20793129207b0a202076617220726f7773203d205b5d2c0a2020202020206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020726f772c0a2020202020206e6f646556616c75652c0a2020202020206930203d20302c0a2020202020206931203d20302c0a2020202020206e203d206e6f6465732e6c656e6774682c0a20202020202064782c2064792c0a20202020202076616c7565203d20706172656e742e76616c75652c0a20202020202073756d56616c75652c0a2020202020206d696e56616c75652c0a2020202020206d617856616c75652c0a2020202020206e6577526174696f2c0a2020202020206d696e526174696f2c0a202020202020616c7068612c0a202020202020626574613b0a0a20207768696c6520286930203c206e29207b0a202020206478203d207831202d2078302c206479203d207931202d2079303b0a0a202020202f2f2046696e6420746865206e657874206e6f6e2d656d707479206e6f64652e0a20202020646f2073756d56616c7565203d206e6f6465735b69312b2b5d2e76616c75653b207768696c6520282173756d56616c7565202626206931203c206e293b0a202020206d696e56616c7565203d206d617856616c7565203d2073756d56616c75653b0a20202020616c706861203d204d6174682e6d6178286479202f2064782c206478202f20647929202f202876616c7565202a20726174696f293b0a2020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a202020206d696e526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a0a202020202f2f204b65657020616464696e67206e6f646573207768696c65207468652061737065637420726174696f206d61696e7461696e73206f7220696d70726f7665732e0a20202020666f7220283b206931203c206e3b202b2b693129207b0a20202020202073756d56616c7565202b3d206e6f646556616c7565203d206e6f6465735b69315d2e76616c75653b0a202020202020696620286e6f646556616c7565203c206d696e56616c756529206d696e56616c7565203d206e6f646556616c75653b0a202020202020696620286e6f646556616c7565203e206d617856616c756529206d617856616c7565203d206e6f646556616c75653b0a20202020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a2020202020206e6577526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a202020202020696620286e6577526174696f203e206d696e526174696f29207b2073756d56616c7565202d3d206e6f646556616c75653b20627265616b3b207d0a2020202020206d696e526174696f203d206e6577526174696f3b0a202020207d0a0a202020202f2f20506f736974696f6e20616e64207265636f72642074686520726f77206f7269656e746174696f6e2e0a20202020726f77732e7075736828726f77203d207b76616c75653a2073756d56616c75652c20646963653a206478203c2064792c206368696c6472656e3a206e6f6465732e736c6963652869302c206931297d293b0a2020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c2076616c7565203f207930202b3d206479202a2073756d56616c7565202f2076616c7565203a207931293b0a20202020656c736520747265656d6170536c69636528726f772c2078302c2079302c2076616c7565203f207830202b3d206478202a2073756d56616c7565202f2076616c7565203a2078312c207931293b0a2020202076616c7565202d3d2073756d56616c75652c206930203d2069313b0a20207d0a0a202072657475726e20726f77733b0a7d0a0a766172207371756172696679203d20282866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e20737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a20207d0a0a202073717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e2073717561726966793b0a7d292928706869293b0a0a76617220696e6465782431203d2066756e6374696f6e2829207b0a20207661722074696c65203d2073717561726966792c0a202020202020726f756e64203d2066616c73652c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67537461636b203d205b305d2c0a20202020202070616464696e67496e6e6572203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67546f70203d20636f6e7374616e745a65726f2c0a20202020202070616464696e675269676874203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67426f74746f6d203d20636f6e7374616e745a65726f2c0a20202020202070616464696e674c656674203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e20747265656d617028726f6f7429207b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d20303b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d2064793b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f6465293b0a2020202070616464696e67537461636b203d205b305d3b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f6465286e6f646529207b0a202020207661722070203d2070616464696e67537461636b5b6e6f64652e64657074685d2c0a20202020202020207830203d206e6f64652e7830202b20702c0a20202020202020207930203d206e6f64652e7930202b20702c0a20202020202020207831203d206e6f64652e7831202d20702c0a20202020202020207931203d206e6f64652e7931202d20703b0a20202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a20202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a202020206e6f64652e7830203d2078303b0a202020206e6f64652e7930203d2079303b0a202020206e6f64652e7831203d2078313b0a202020206e6f64652e7931203d2079313b0a20202020696620286e6f64652e6368696c6472656e29207b0a20202020202070203d2070616464696e67537461636b5b6e6f64652e6465707468202b20315d203d2070616464696e67496e6e6572286e6f646529202f20323b0a2020202020207830202b3d2070616464696e674c656674286e6f646529202d20703b0a2020202020207930202b3d2070616464696e67546f70286e6f646529202d20703b0a2020202020207831202d3d2070616464696e675269676874286e6f646529202d20703b0a2020202020207931202d3d2070616464696e67426f74746f6d286e6f646529202d20703b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a20202020202074696c65286e6f64652c2078302c2079302c2078312c207931293b0a202020207d0a20207d0a0a2020747265656d61702e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20747265656d617029203a20726f756e643b0a20207d3b0a0a2020747265656d61702e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20747265656d617029203a205b64782c2064795d3b0a20207d3b0a0a2020747265656d61702e74696c65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874696c65203d2072657175697265642878292c20747265656d617029203a2074696c653b0a20207d3b0a0a2020747265656d61702e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67496e6e65722878292e70616464696e674f75746572287829203a20747265656d61702e70616464696e67496e6e657228293b0a20207d3b0a0a2020747265656d61702e70616464696e67496e6e6572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67496e6e65723b0a20207d3b0a0a2020747265656d61702e70616464696e674f75746572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67546f702878292e70616464696e6752696768742878292e70616464696e67426f74746f6d2878292e70616464696e674c656674287829203a20747265656d61702e70616464696e67546f7028293b0a20207d3b0a0a2020747265656d61702e70616464696e67546f70203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67546f70203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67546f703b0a20207d3b0a0a2020747265656d61702e70616464696e675269676874203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e675269676874203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e6752696768743b0a20207d3b0a0a2020747265656d61702e70616464696e67426f74746f6d203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67426f74746f6d203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67426f74746f6d3b0a20207d3b0a0a2020747265656d61702e70616464696e674c656674203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674c656674203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e674c6566743b0a20207d3b0a0a202072657475726e20747265656d61703b0a7d3b0a0a7661722062696e617279203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020692c206e203d206e6f6465732e6c656e6774682c0a20202020202073756d2c2073756d73203d206e6577204172726179286e202b2031293b0a0a2020666f72202873756d735b305d203d2073756d203d2069203d20303b2069203c206e3b202b2b6929207b0a2020202073756d735b69202b20315d203d2073756d202b3d206e6f6465735b695d2e76616c75653b0a20207d0a0a2020706172746974696f6e28302c206e2c20706172656e742e76616c75652c2078302c2079302c2078312c207931293b0a0a202066756e6374696f6e20706172746974696f6e28692c206a2c2076616c75652c2078302c2079302c2078312c20793129207b0a202020206966202869203e3d206a202d203129207b0a202020202020766172206e6f6465203d206e6f6465735b695d3b0a2020202020206e6f64652e7830203d2078302c206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078312c206e6f64652e7931203d2079313b0a20202020202072657475726e3b0a202020207d0a0a202020207661722076616c75654f6666736574203d2073756d735b695d2c0a202020202020202076616c7565546172676574203d202876616c7565202f203229202b2076616c75654f66667365742c0a20202020202020206b203d2069202b20312c0a20202020202020206869203d206a202d20313b0a0a202020207768696c6520286b203c20686929207b0a202020202020766172206d6964203d206b202b206869203e3e3e20313b0a2020202020206966202873756d735b6d69645d203c2076616c756554617267657429206b203d206d6964202b20313b0a202020202020656c7365206869203d206d69643b0a202020207d0a0a20202020696620282876616c7565546172676574202d2073756d735b6b202d20315d29203c202873756d735b6b5d202d2076616c7565546172676574292026262069202b2031203c206b29202d2d6b3b0a0a202020207661722076616c75654c656674203d2073756d735b6b5d202d2076616c75654f66667365742c0a202020202020202076616c75655269676874203d2076616c7565202d2076616c75654c6566743b0a0a2020202069662028287831202d20783029203e20287931202d2079302929207b0a20202020202076617220786b203d20287830202a2076616c75655269676874202b207831202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c20786b2c207931293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c20786b2c2079302c2078312c207931293b0a202020207d20656c7365207b0a20202020202076617220796b203d20287930202a2076616c75655269676874202b207931202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c2078312c20796b293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c2078302c20796b2c2078312c207931293b0a202020207d0a20207d0a7d3b0a0a76617220736c69636544696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a202028706172656e742e646570746820262031203f20747265656d6170536c696365203a20747265656d6170446963652928706172656e742c2078302c2079302c2078312c207931293b0a7d3b0a0a7661722072657371756172696679203d20282866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e207265737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020206966202828726f7773203d20706172656e742e5f7371756172696679292026262028726f77732e726174696f203d3d3d20726174696f2929207b0a20202020202076617220726f77732c0a20202020202020202020726f772c0a202020202020202020206e6f6465732c0a20202020202020202020692c0a202020202020202020206a203d202d312c0a202020202020202020206e2c0a202020202020202020206d203d20726f77732e6c656e6774682c0a2020202020202020202076616c7565203d20706172656e742e76616c75653b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a2020202020202020726f77203d20726f77735b6a5d2c206e6f646573203d20726f772e6368696c6472656e3b0a2020202020202020666f72202869203d20726f772e76616c7565203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b692920726f772e76616c7565202b3d206e6f6465735b695d2e76616c75653b0a202020202020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c207930202b3d20287931202d20793029202a20726f772e76616c7565202f2076616c7565293b0a2020202020202020656c736520747265656d6170536c69636528726f772c2078302c2079302c207830202b3d20287831202d20783029202a20726f772e76616c7565202f2076616c75652c207931293b0a202020202020202076616c7565202d3d20726f772e76616c75653b0a2020202020207d0a202020207d20656c7365207b0a202020202020706172656e742e5f7371756172696679203d20726f7773203d207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a202020202020726f77732e726174696f203d20726174696f3b0a202020207d0a20207d0a0a2020726573717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e20726573717561726966793b0a7d292928706869293b0a0a6578706f7274732e636c7573746572203d20636c75737465723b0a6578706f7274732e686965726172636879203d206869657261726368793b0a6578706f7274732e7061636b203d20696e6465783b0a6578706f7274732e7061636b5369626c696e6773203d207369626c696e67733b0a6578706f7274732e7061636b456e636c6f7365203d20656e636c6f73653b0a6578706f7274732e706172746974696f6e203d20706172746974696f6e3b0a6578706f7274732e7374726174696679203d2073747261746966793b0a6578706f7274732e74726565203d20747265653b0a6578706f7274732e747265656d6170203d20696e64657824313b0a6578706f7274732e747265656d617042696e617279203d2062696e6172793b0a6578706f7274732e747265656d617044696365203d20747265656d6170446963653b0a6578706f7274732e747265656d6170536c696365203d20747265656d6170536c6963653b0a6578706f7274732e747265656d6170536c69636544696365203d20736c696365446963653b0a6578706f7274732e747265656d61705371756172696679203d2073717561726966793b0a6578706f7274732e747265656d617052657371756172696679203d20726573717561726966793b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d696e746572706f6c6174652f2056657273696f6e20312e312e362e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d636f6c6f72272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d636f6c6f72275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c6433436f6c6f7229207b202775736520737472696374273b0a0a66756e6374696f6e2062617369732874312c2076302c2076312c2076322c20763329207b0a2020766172207432203d207431202a2074312c207433203d207432202a2074313b0a202072657475726e20282831202d2033202a207431202b2033202a207432202d20743329202a2076300a2020202020202b202834202d2036202a207432202b2033202a20743329202a2076310a2020202020202b202831202b2033202a207431202b2033202a207432202d2033202a20743329202a2076320a2020202020202b207433202a20763329202f20363b0a7d0a0a7661722062617369732431203d2066756e6374696f6e2876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e677468202d20313b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d2074203c3d2030203f202874203d203029203a2074203e3d2031203f202874203d20312c206e202d203129203a204d6174682e666c6f6f722874202a206e292c0a20202020202020207631203d2076616c7565735b695d2c0a20202020202020207632203d2076616c7565735b69202b20315d2c0a20202020202020207630203d2069203e2030203f2076616c7565735b69202d20315d203a2032202a207631202d2076322c0a20202020202020207633203d2069203c206e202d2031203f2076616c7565735b69202b20325d203a2032202a207632202d2076313b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d3b0a0a766172206261736973436c6f736564203d2066756e6374696f6e2876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e666c6f6f722828287420253d203129203c2030203f202b2b74203a207429202a206e292c0a20202020202020207630203d2076616c7565735b2869202b206e202d2031292025206e5d2c0a20202020202020207631203d2076616c7565735b692025206e5d2c0a20202020202020207632203d2076616c7565735b2869202b2031292025206e5d2c0a20202020202020207633203d2076616c7565735b2869202b2032292025206e5d3b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e206c696e65617228612c206429207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2061202b2074202a20643b0a20207d3b0a7d0a0a66756e6374696f6e206578706f6e656e7469616c28612c20622c207929207b0a202072657475726e2061203d204d6174682e706f7728612c2079292c2062203d204d6174682e706f7728622c207929202d20612c2079203d2031202f20792c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e706f772861202b2074202a20622c2079293b0a20207d3b0a7d0a0a66756e6374696f6e2068756528612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c2064203e20313830207c7c2064203c202d313830203f2064202d20333630202a204d6174682e726f756e642864202f2033363029203a206429203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a7d0a0a66756e6374696f6e2067616d6d61287929207b0a202072657475726e202879203d202b7929203d3d3d2031203f206e6f67616d6d61203a2066756e6374696f6e28612c206229207b0a2020202072657475726e2062202d2061203f206578706f6e656e7469616c28612c20622c207929203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a20207d3b0a7d0a0a66756e6374696f6e206e6f67616d6d6128612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c206429203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a7d0a0a766172207267622431203d20282866756e6374696f6e2072676247616d6d61287929207b0a202076617220636f6c6f72242431203d2067616d6d612879293b0a0a202066756e6374696f6e207267622424312873746172742c20656e6429207b0a202020207661722072203d20636f6c6f7224243128287374617274203d206433436f6c6f722e72676228737461727429292e722c2028656e64203d206433436f6c6f722e72676228656e6429292e72292c0a202020202020202067203d20636f6c6f722424312873746172742e672c20656e642e67292c0a202020202020202062203d20636f6c6f722424312873746172742e622c20656e642e62292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e72203d20722874293b0a20202020202073746172742e67203d20672874293b0a20202020202073746172742e62203d20622874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a0a20207267622424312e67616d6d61203d2072676247616d6d613b0a0a202072657475726e207267622424313b0a7d29292831293b0a0a66756e6374696f6e2072676253706c696e652873706c696e6529207b0a202072657475726e2066756e6374696f6e28636f6c6f727329207b0a20202020766172206e203d20636f6c6f72732e6c656e6774682c0a202020202020202072203d206e6577204172726179286e292c0a202020202020202067203d206e6577204172726179286e292c0a202020202020202062203d206e6577204172726179286e292c0a2020202020202020692c20636f6c6f722424313b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020636f6c6f72242431203d206433436f6c6f722e72676228636f6c6f72735b695d293b0a202020202020725b695d203d20636f6c6f722424312e72207c7c20303b0a202020202020675b695d203d20636f6c6f722424312e67207c7c20303b0a202020202020625b695d203d20636f6c6f722424312e62207c7c20303b0a202020207d0a2020202072203d2073706c696e652872293b0a2020202067203d2073706c696e652867293b0a2020202062203d2073706c696e652862293b0a20202020636f6c6f722424312e6f706163697479203d20313b0a2020202072657475726e2066756e6374696f6e287429207b0a202020202020636f6c6f722424312e72203d20722874293b0a202020202020636f6c6f722424312e67203d20672874293b0a202020202020636f6c6f722424312e62203d20622874293b0a20202020202072657475726e20636f6c6f72242431202b2022223b0a202020207d3b0a20207d3b0a7d0a0a766172207267624261736973203d2072676253706c696e652862617369732431293b0a766172207267624261736973436c6f736564203d2072676253706c696e65286261736973436c6f736564293b0a0a766172206172726179203d2066756e6374696f6e28612c206229207b0a2020766172206e62203d2062203f20622e6c656e677468203a20302c0a2020202020206e61203d2061203f204d6174682e6d696e286e622c20612e6c656e67746829203a20302c0a20202020202078203d206e6577204172726179286e61292c0a20202020202063203d206e6577204172726179286e62292c0a202020202020693b0a0a2020666f72202869203d20303b2069203c206e613b202b2b692920785b695d203d2076616c756528615b695d2c20625b695d293b0a2020666f7220283b2069203c206e623b202b2b692920635b695d203d20625b695d3b0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f72202869203d20303b2069203c206e613b202b2b692920635b695d203d20785b695d2874293b0a2020202072657475726e20633b0a20207d3b0a7d3b0a0a7661722064617465203d2066756e6374696f6e28612c206229207b0a20207661722064203d206e657720446174653b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e20642e73657454696d652861202b2062202a2074292c20643b0a20207d3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e2061202b2062202a20743b0a20207d3b0a7d3b0a0a766172206f626a656374203d2066756e6374696f6e28612c206229207b0a20207661722069203d207b7d2c0a20202020202063203d207b7d2c0a2020202020206b3b0a0a20206966202861203d3d3d206e756c6c207c7c20747970656f66206120213d3d20226f626a65637422292061203d207b7d3b0a20206966202862203d3d3d206e756c6c207c7c20747970656f66206220213d3d20226f626a65637422292062203d207b7d3b0a0a2020666f7220286b20696e206229207b0a20202020696620286b20696e206129207b0a202020202020695b6b5d203d2076616c756528615b6b5d2c20625b6b5d293b0a202020207d20656c7365207b0a202020202020635b6b5d203d20625b6b5d3b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f7220286b20696e20692920635b6b5d203d20695b6b5d2874293b0a2020202072657475726e20633b0a20207d3b0a7d3b0a0a76617220726541203d202f5b2d2b5d3f283f3a5c642b5c2e3f5c642a7c5c2e3f5c642b29283f3a5b65455d5b2d2b5d3f5c642b293f2f673b0a76617220726542203d206e657720526567457870287265412e736f757263652c20226722293b0a0a66756e6374696f6e207a65726f286229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20623b0a20207d3b0a7d0a0a66756e6374696f6e206f6e65286229207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2062287429202b2022223b0a20207d3b0a7d0a0a76617220737472696e67203d2066756e6374696f6e28612c206229207b0a2020766172206269203d207265412e6c617374496e646578203d207265422e6c617374496e646578203d20302c202f2f207363616e20696e64657820666f72206e657874206e756d62657220696e20620a202020202020616d2c202f2f2063757272656e74206d6174636820696e20610a202020202020626d2c202f2f2063757272656e74206d6174636820696e20620a20202020202062732c202f2f20737472696e6720707265636564696e672063757272656e74206e756d62657220696e20622c20696620616e790a20202020202069203d202d312c202f2f20696e64657820696e20730a20202020202073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a20202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a0a20202f2f20436f6572636520696e7075747320746f20737472696e67732e0a202061203d2061202b2022222c2062203d2062202b2022223b0a0a20202f2f20496e746572706f6c617465207061697273206f66206e756d6265727320696e2061202620622e0a20207768696c65202828616d203d207265412e65786563286129290a20202020202026262028626d203d207265422e657865632862292929207b0a2020202069662028286273203d20626d2e696e64657829203e20626929207b202f2f206120737472696e6720707265636564657320746865206e657874206e756d62657220696e20620a2020202020206273203d20622e736c6963652862692c206273293b0a20202020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d2062733b0a202020207d0a202020206966202828616d203d20616d5b305d29203d3d3d2028626d203d20626d5b305d2929207b202f2f206e756d6265727320696e206120262062206d617463680a20202020202069662028735b695d2920735b695d202b3d20626d3b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d20626d3b0a202020207d20656c7365207b202f2f20696e746572706f6c617465206e6f6e2d6d61746368696e67206e756d626572730a202020202020735b2b2b695d203d206e756c6c3b0a202020202020712e70757368287b693a20692c20783a206e756d62657228616d2c20626d297d293b0a202020207d0a202020206269203d207265422e6c617374496e6465783b0a20207d0a0a20202f2f204164642072656d61696e73206f6620622e0a2020696620286269203c20622e6c656e67746829207b0a202020206273203d20622e736c696365286269293b0a2020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a20202020656c736520735b2b2b695d203d2062733b0a20207d0a0a20202f2f205370656369616c206f7074696d697a6174696f6e20666f72206f6e6c7920612073696e676c65206d617463682e0a20202f2f204f74686572776973652c20696e746572706f6c6174652065616368206f6620746865206e756d6265727320616e642072656a6f696e2074686520737472696e672e0a202072657475726e20732e6c656e677468203c2032203f2028715b305d0a2020202020203f206f6e6528715b305d2e78290a2020202020203a207a65726f286229290a2020202020203a202862203d20712e6c656e6774682c2066756e6374696f6e287429207b0a20202020202020202020666f7220287661722069203d20302c206f3b2069203c20623b202b2b692920735b286f203d20715b695d292e695d203d206f2e782874293b0a2020202020202020202072657475726e20732e6a6f696e282222293b0a20202020202020207d293b0a7d3b0a0a7661722076616c7565203d2066756e6374696f6e28612c206229207b0a20207661722074203d20747970656f6620622c20633b0a202072657475726e2062203d3d206e756c6c207c7c2074203d3d3d2022626f6f6c65616e22203f20636f6e7374616e742862290a2020202020203a202874203d3d3d20226e756d62657222203f206e756d6265720a2020202020203a2074203d3d3d2022737472696e6722203f20282863203d206433436f6c6f722e636f6c6f7228622929203f202862203d20632c20726762243129203a20737472696e67290a2020202020203a206220696e7374616e63656f66206433436f6c6f722e636f6c6f72203f2072676224310a2020202020203a206220696e7374616e63656f662044617465203f20646174650a2020202020203a2041727261792e69734172726179286229203f2061727261790a2020202020203a20747970656f6620622e76616c75654f6620213d3d202266756e6374696f6e2220262620747970656f6620622e746f537472696e6720213d3d202266756e6374696f6e22207c7c2069734e614e286229203f206f626a6563740a2020202020203a206e756d6265722928612c2062293b0a7d3b0a0a76617220726f756e64203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e726f756e642861202b2062202a2074293b0a20207d3b0a7d3b0a0a7661722064656772656573203d20313830202f204d6174682e50493b0a0a766172206964656e74697479203d207b0a20207472616e736c617465583a20302c0a20207472616e736c617465593a20302c0a2020726f746174653a20302c0a2020736b6577583a20302c0a20207363616c65583a20312c0a20207363616c65593a20310a7d3b0a0a766172206465636f6d706f7365203d2066756e6374696f6e28612c20622c20632c20642c20652c206629207b0a2020766172207363616c65582c207363616c65592c20736b6577583b0a2020696620287363616c6558203d204d6174682e737172742861202a2061202b2062202a206229292061202f3d207363616c65582c2062202f3d207363616c65583b0a202069662028736b657758203d2061202a2063202b2062202a2064292063202d3d2061202a20736b6577582c2064202d3d2062202a20736b6577583b0a2020696620287363616c6559203d204d6174682e737172742863202a2063202b2064202a206429292063202f3d207363616c65592c2064202f3d207363616c65592c20736b657758202f3d207363616c65593b0a20206966202861202a2064203c2062202a2063292061203d202d612c2062203d202d622c20736b657758203d202d736b6577582c207363616c6558203d202d7363616c65583b0a202072657475726e207b0a202020207472616e736c617465583a20652c0a202020207472616e736c617465593a20662c0a20202020726f746174653a204d6174682e6174616e3228622c206129202a20646567726565732c0a20202020736b6577583a204d6174682e6174616e28736b65775829202a20646567726565732c0a202020207363616c65583a207363616c65582c0a202020207363616c65593a207363616c65590a20207d3b0a7d3b0a0a766172206373734e6f64653b0a76617220637373526f6f743b0a76617220637373566965773b0a766172207376674e6f64653b0a0a66756e6374696f6e2070617273654373732876616c756529207b0a20206966202876616c7565203d3d3d20226e6f6e6522292072657475726e206964656e746974793b0a202069662028216373734e6f646529206373734e6f6465203d20646f63756d656e742e637265617465456c656d656e74282244495622292c20637373526f6f74203d20646f63756d656e742e646f63756d656e74456c656d656e742c2063737356696577203d20646f63756d656e742e64656661756c74566965773b0a20206373734e6f64652e7374796c652e7472616e73666f726d203d2076616c75653b0a202076616c7565203d20637373566965772e676574436f6d70757465645374796c6528637373526f6f742e617070656e644368696c64286373734e6f6465292c206e756c6c292e67657450726f706572747956616c756528227472616e73666f726d22293b0a2020637373526f6f742e72656d6f76654368696c64286373734e6f6465293b0a202076616c7565203d2076616c75652e736c69636528372c202d31292e73706c697428222c22293b0a202072657475726e206465636f6d706f7365282b76616c75655b305d2c202b76616c75655b315d2c202b76616c75655b325d2c202b76616c75655b335d2c202b76616c75655b345d2c202b76616c75655b355d293b0a7d0a0a66756e6374696f6e2070617273655376672876616c756529207b0a20206966202876616c7565203d3d206e756c6c292072657475726e206964656e746974793b0a202069662028217376674e6f646529207376674e6f6465203d20646f63756d656e742e637265617465456c656d656e744e532822687474703a2f2f7777772e77332e6f72672f323030302f737667222c20226722293b0a20207376674e6f64652e73657441747472696275746528227472616e73666f726d222c2076616c7565293b0a202069662028212876616c7565203d207376674e6f64652e7472616e73666f726d2e6261736556616c2e636f6e736f6c6964617465282929292072657475726e206964656e746974793b0a202076616c7565203d2076616c75652e6d61747269783b0a202072657475726e206465636f6d706f73652876616c75652e612c2076616c75652e622c2076616c75652e632c2076616c75652e642c2076616c75652e652c2076616c75652e66293b0a7d0a0a66756e6374696f6e20696e746572706f6c6174655472616e73666f726d2870617273652c207078436f6d6d612c207078506172656e2c20646567506172656e29207b0a0a202066756e6374696f6e20706f70287329207b0a2020202072657475726e20732e6c656e677468203f20732e706f702829202b20222022203a2022223b0a20207d0a0a202066756e6374696f6e207472616e736c6174652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828227472616e736c61746528222c206e756c6c2c207078436f6d6d612c206e756c6c2c207078506172656e293b0a202020202020712e70757368287b693a2069202d20342c20783a206e756d6265722878612c207862297d2c207b693a2069202d20322c20783a206e756d6265722879612c207962297d293b0a202020207d20656c736520696620287862207c7c20796229207b0a202020202020732e7075736828227472616e736c6174652822202b207862202b207078436f6d6d61202b207962202b207078506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20726f7461746528612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a2020202020206966202861202d2062203e20313830292062202b3d203336303b20656c7365206966202862202d2061203e20313830292061202b3d203336303b202f2f2073686f727465737420706174680a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022726f7461746528222c206e756c6c2c20646567506172656e29202d20322c20783a206e756d62657228612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022726f746174652822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20736b65775828612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022736b65775828222c206e756c6c2c20646567506172656e29202d20322c20783a206e756d62657228612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022736b6577582822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e207363616c652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828706f70287329202b20227363616c6528222c206e756c6c2c20222c222c206e756c6c2c20222922293b0a202020202020712e70757368287b693a2069202d20342c20783a206e756d6265722878612c207862297d2c207b693a2069202d20322c20783a206e756d6265722879612c207962297d293b0a202020207d20656c73652069662028786220213d3d2031207c7c20796220213d3d203129207b0a202020202020732e7075736828706f70287329202b20227363616c652822202b207862202b20222c22202b207962202b20222922293b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a202020202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a2020202061203d2070617273652861292c2062203d2070617273652862293b0a202020207472616e736c61746528612e7472616e736c617465582c20612e7472616e736c617465592c20622e7472616e736c617465582c20622e7472616e736c617465592c20732c2071293b0a20202020726f7461746528612e726f746174652c20622e726f746174652c20732c2071293b0a20202020736b65775828612e736b6577582c20622e736b6577582c20732c2071293b0a202020207363616c6528612e7363616c65582c20612e7363616c65592c20622e7363616c65582c20622e7363616c65592c20732c2071293b0a2020202061203d2062203d206e756c6c3b202f2f2067630a2020202072657475726e2066756e6374696f6e287429207b0a2020202020207661722069203d202d312c206e203d20712e6c656e6774682c206f3b0a2020202020207768696c6520282b2b69203c206e2920735b286f203d20715b695d292e695d203d206f2e782874293b0a20202020202072657475726e20732e6a6f696e282222293b0a202020207d3b0a20207d3b0a7d0a0a76617220696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d2870617273654373732c202270782c20222c2022707829222c20226465672922293b0a76617220696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d2870617273655376672c20222c20222c202229222c20222922293b0a0a7661722072686f203d204d6174682e53515254323b0a7661722072686f32203d20323b0a7661722072686f34203d20343b0a76617220657073696c6f6e32203d2031652d31323b0a0a66756e6374696f6e20636f7368287829207b0a202072657475726e20282878203d204d6174682e65787028782929202b2031202f207829202f20323b0a7d0a0a66756e6374696f6e2073696e68287829207b0a202072657475726e20282878203d204d6174682e65787028782929202d2031202f207829202f20323b0a7d0a0a66756e6374696f6e2074616e68287829207b0a202072657475726e20282878203d204d6174682e6578702832202a20782929202d203129202f202878202b2031293b0a7d0a0a2f2f207030203d205b7578302c207579302c2077305d0a2f2f207031203d205b7578312c207579312c2077315d0a766172207a6f6f6d203d2066756e6374696f6e2870302c20703129207b0a202076617220757830203d2070305b305d2c20757930203d2070305b315d2c207730203d2070305b325d2c0a202020202020757831203d2070315b305d2c20757931203d2070315b315d2c207731203d2070315b325d2c0a2020202020206478203d20757831202d207578302c0a2020202020206479203d20757931202d207579302c0a2020202020206432203d206478202a206478202b206479202a2064792c0a202020202020692c0a202020202020533b0a0a20202f2f205370656369616c206361736520666f7220753020e289852075312e0a2020696620286432203c20657073696c6f6e3229207b0a2020202053203d204d6174682e6c6f67287731202f20773029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a20202020202072657475726e205b0a2020202020202020757830202b2074202a2064782c0a2020202020202020757930202b2074202a2064792c0a20202020202020207730202a204d6174682e6578702872686f202a2074202a2053290a2020202020205d3b0a202020207d3b0a20207d0a0a20202f2f2047656e6572616c20636173652e0a2020656c7365207b0a20202020766172206431203d204d6174682e73717274286432292c0a20202020202020206230203d20287731202a207731202d207730202a207730202b2072686f34202a20643229202f202832202a207730202a2072686f32202a206431292c0a20202020202020206231203d20287731202a207731202d207730202a207730202d2072686f34202a20643229202f202832202a207731202a2072686f32202a206431292c0a20202020202020207230203d204d6174682e6c6f67284d6174682e73717274286230202a206230202b203129202d206230292c0a20202020202020207231203d204d6174682e6c6f67284d6174682e73717274286231202a206231202b203129202d206231293b0a2020202053203d20287231202d20723029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a2020202020207661722073203d2074202a20532c0a20202020202020202020636f73687230203d20636f7368287230292c0a2020202020202020202075203d207730202f202872686f32202a20643129202a2028636f73687230202a2074616e682872686f202a2073202b20723029202d2073696e6828723029293b0a20202020202072657475726e205b0a2020202020202020757830202b2075202a2064782c0a2020202020202020757930202b2075202a2064792c0a20202020202020207730202a20636f73687230202f20636f73682872686f202a2073202b207230290a2020202020205d3b0a202020207d3b0a20207d0a0a2020692e6475726174696f6e203d2053202a20313030303b0a0a202072657475726e20693b0a7d3b0a0a66756e6374696f6e2068736c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e68736c28737461727429292e682c2028656e64203d206433436f6c6f722e68736c28656e6429292e68292c0a202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e73203d20732874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068736c2432203d2068736c243128687565293b0a7661722068736c4c6f6e67203d2068736c2431286e6f67616d6d61293b0a0a66756e6374696f6e206c616224312873746172742c20656e6429207b0a2020766172206c203d206e6f67616d6d6128287374617274203d206433436f6c6f722e6c616228737461727429292e6c2c2028656e64203d206433436f6c6f722e6c616228656e6429292e6c292c0a20202020202061203d206e6f67616d6d612873746172742e612c20656e642e61292c0a20202020202062203d206e6f67616d6d612873746172742e622c20656e642e62292c0a2020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a202072657475726e2066756e6374696f6e287429207b0a2020202073746172742e6c203d206c2874293b0a2020202073746172742e61203d20612874293b0a2020202073746172742e62203d20622874293b0a2020202073746172742e6f706163697479203d206f7061636974792874293b0a2020202072657475726e207374617274202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e2068636c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e68636c28737461727429292e682c2028656e64203d206433436f6c6f722e68636c28656e6429292e68292c0a202020202020202063203d206e6f67616d6d612873746172742e632c20656e642e63292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e63203d20632874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068636c2432203d2068636c243128687565293b0a7661722068636c4c6f6e67203d2068636c2431286e6f67616d6d61293b0a0a66756e6374696f6e206375626568656c697824312868756524243129207b0a202072657475726e202866756e6374696f6e206375626568656c697847616d6d61287929207b0a2020202079203d202b793b0a0a2020202066756e6374696f6e206375626568656c69782424312873746172742c20656e6429207b0a2020202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e6375626568656c697828737461727429292e682c2028656e64203d206433436f6c6f722e6375626568656c697828656e6429292e68292c0a2020202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a202020202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a202020202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a20202020202072657475726e2066756e6374696f6e287429207b0a202020202020202073746172742e68203d20682874293b0a202020202020202073746172742e73203d20732874293b0a202020202020202073746172742e6c203d206c284d6174682e706f7728742c207929293b0a202020202020202073746172742e6f706163697479203d206f7061636974792874293b0a202020202020202072657475726e207374617274202b2022223b0a2020202020207d3b0a202020207d0a0a202020206375626568656c69782424312e67616d6d61203d206375626568656c697847616d6d613b0a0a2020202072657475726e206375626568656c69782424313b0a20207d292831293b0a7d0a0a766172206375626568656c69782432203d206375626568656c6978243128687565293b0a766172206375626568656c69784c6f6e67203d206375626568656c69782431286e6f67616d6d61293b0a0a766172207175616e74697a65203d2066756e6374696f6e28696e746572706f6c61746f722c206e29207b0a20207661722073616d706c6573203d206e6577204172726179286e293b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b69292073616d706c65735b695d203d20696e746572706f6c61746f722869202f20286e202d203129293b0a202072657475726e2073616d706c65733b0a7d3b0a0a6578706f7274732e696e746572706f6c617465203d2076616c75653b0a6578706f7274732e696e746572706f6c6174654172726179203d2061727261793b0a6578706f7274732e696e746572706f6c6174654261736973203d20626173697324313b0a6578706f7274732e696e746572706f6c6174654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746544617465203d20646174653b0a6578706f7274732e696e746572706f6c6174654e756d626572203d206e756d6265723b0a6578706f7274732e696e746572706f6c6174654f626a656374203d206f626a6563743b0a6578706f7274732e696e746572706f6c617465526f756e64203d20726f756e643b0a6578706f7274732e696e746572706f6c617465537472696e67203d20737472696e673b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d4373733b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d5376673b0a6578706f7274732e696e746572706f6c6174655a6f6f6d203d207a6f6f6d3b0a6578706f7274732e696e746572706f6c617465526762203d2072676224313b0a6578706f7274732e696e746572706f6c6174655267624261736973203d2072676242617369733b0a6578706f7274732e696e746572706f6c6174655267624261736973436c6f736564203d207267624261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746548736c203d2068736c24323b0a6578706f7274732e696e746572706f6c61746548736c4c6f6e67203d2068736c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654c6162203d206c616224313b0a6578706f7274732e696e746572706f6c61746548636c203d2068636c24323b0a6578706f7274732e696e746572706f6c61746548636c4c6f6e67203d2068636c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654375626568656c6978203d206375626568656c697824323b0a6578706f7274732e696e746572706f6c6174654375626568656c69784c6f6e67203d206375626568656c69784c6f6e673b0a6578706f7274732e7175616e74697a65203d207175616e74697a653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6f72223a34347d5d2c35343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d706174682f2056657273696f6e20312e302e352e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207069203d204d6174682e50493b0a76617220746175203d2032202a2070693b0a76617220657073696c6f6e203d2031652d363b0a76617220746175457073696c6f6e203d20746175202d20657073696c6f6e3b0a0a66756e6374696f6e20506174682829207b0a2020746869732e5f7830203d20746869732e5f7930203d202f2f207374617274206f662063757272656e7420737562706174680a2020746869732e5f7831203d20746869732e5f7931203d206e756c6c3b202f2f20656e64206f662063757272656e7420737562706174680a2020746869732e5f203d2022223b0a7d0a0a66756e6374696f6e20706174682829207b0a202072657475726e206e657720506174683b0a7d0a0a506174682e70726f746f74797065203d20706174682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20506174682c0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b79293b0a20207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b0a2020202069662028746869732e5f783120213d3d206e756c6c29207b0a202020202020746869732e5f7831203d20746869732e5f78302c20746869732e5f7931203d20746869732e5f79303b0a202020202020746869732e5f202b3d20225a223b0a202020207d0a20207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a20207175616472617469634375727665546f3a2066756e6374696f6e2878312c2079312c20782c207929207b0a20202020746869732e5f202b3d20225122202b20282b783129202b20222c22202b20282b793129202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b0a20202020746869732e5f202b3d20224322202b20282b783129202b20222c22202b20282b793129202b20222c22202b20282b783229202b20222c22202b20282b793229202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a2020617263546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c207229207b0a202020207831203d202b78312c207931203d202b79312c207832203d202b78322c207932203d202b79322c2072203d202b723b0a20202020766172207830203d20746869732e5f78312c0a20202020202020207930203d20746869732e5f79312c0a2020202020202020783231203d207832202d2078312c0a2020202020202020793231203d207932202d2079312c0a2020202020202020783031203d207830202d2078312c0a2020202020202020793031203d207930202d2079312c0a20202020202020206c30315f32203d20783031202a20783031202b20793031202a207930313b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878312c7931292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f722c206973202878312c79312920636f696e636964656e742077697468202878302c7930293f20446f206e6f7468696e672e0a20202020656c7365206966202821286c30315f32203e20657073696c6f6e2929207b7d0a0a202020202f2f204f722c20617265202878302c7930292c202878312c79312920616e64202878322c79322920636f6c6c696e6561723f0a202020202f2f204571756976616c656e746c792c206973202878312c79312920636f696e636964656e742077697468202878322c7932293f0a202020202f2f204f722c2069732074686520726164697573207a65726f3f204c696e6520746f202878312c7931292e0a20202020656c7365206966202821284d6174682e61627328793031202a20783231202d20793231202a2078303129203e20657073696c6f6e29207c7c20217229207b0a202020202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f74686572776973652c206472617720616e20617263210a20202020656c7365207b0a20202020202076617220783230203d207832202d2078302c0a20202020202020202020793230203d207932202d2079302c0a202020202020202020206c32315f32203d20783231202a20783231202b20793231202a207932312c0a202020202020202020206c32305f32203d20783230202a20783230202b20793230202a207932302c0a202020202020202020206c3231203d204d6174682e73717274286c32315f32292c0a202020202020202020206c3031203d204d6174682e73717274286c30315f32292c0a202020202020202020206c203d2072202a204d6174682e74616e28287069202d204d6174682e61636f7328286c32315f32202b206c30315f32202d206c32305f3229202f202832202a206c3231202a206c3031292929202f2032292c0a20202020202020202020743031203d206c202f206c30312c0a20202020202020202020743231203d206c202f206c32313b0a0a2020202020202f2f204966207468652073746172742074616e67656e74206973206e6f7420636f696e636964656e742077697468202878302c7930292c206c696e6520746f2e0a202020202020696620284d6174682e61627328743031202d203129203e20657073696c6f6e29207b0a2020202020202020746869732e5f202b3d20224c22202b20287831202b20743031202a2078303129202b20222c22202b20287931202b20743031202a20793031293b0a2020202020207d0a0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c302c22202b20282b28793031202a20783230203e20783031202a207932302929202b20222c22202b2028746869732e5f7831203d207831202b20743231202a2078323129202b20222c22202b2028746869732e5f7931203d207931202b20743231202a20793231293b0a202020207d0a20207d2c0a20206172633a2066756e6374696f6e28782c20792c20722c2061302c2061312c2063637729207b0a2020202078203d202b782c2079203d202b792c2072203d202b723b0a20202020766172206478203d2072202a204d6174682e636f73286130292c0a20202020202020206479203d2072202a204d6174682e73696e286130292c0a20202020202020207830203d2078202b2064782c0a20202020202020207930203d2079202b2064792c0a20202020202020206377203d2031205e206363772c0a20202020202020206461203d20636377203f206130202d206131203a206131202d2061303b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878302c7930292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f204f722c206973202878302c793029206e6f7420636f696e636964656e742077697468207468652070726576696f757320706f696e743f204c696e6520746f202878302c7930292e0a20202020656c736520696620284d6174682e61627328746869732e5f7831202d20783029203e20657073696c6f6e207c7c204d6174682e61627328746869732e5f7931202d20793029203e20657073696c6f6e29207b0a202020202020746869732e5f202b3d20224c22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f20497320746869732061726320656d7074793f205765e28099726520646f6e652e0a20202020696620282172292072657475726e3b0a0a202020202f2f20446f65732074686520616e676c6520676f207468652077726f6e67207761793f20466c69702074686520646972656374696f6e2e0a20202020696620286461203c203029206461203d206461202520746175202b207461753b0a0a202020202f2f2049732074686973206120636f6d706c65746520636972636c653f20447261772074776f206172637320746f20636f6d706c6574652074686520636972636c652e0a20202020696620286461203e20746175457073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b202878202d20647829202b20222c22202b202879202d20647929202b20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b2028746869732e5f7831203d20783029202b20222c22202b2028746869732e5f7931203d207930293b0a202020207d0a0a202020202f2f204973207468697320617263206e6f6e2d656d7074793f204472617720616e20617263210a20202020656c736520696620286461203e20657073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c22202b20282b286461203e3d2070692929202b20222c22202b206377202b20222c22202b2028746869732e5f7831203d2078202b2072202a204d6174682e636f732861312929202b20222c22202b2028746869732e5f7931203d2079202b2072202a204d6174682e73696e28613129293b0a202020207d0a20207d2c0a2020726563743a2066756e6374696f6e28782c20792c20772c206829207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b7929202b20226822202b20282b7729202b20227622202b20282b6829202b20226822202b20282d7729202b20225a223b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a6578706f7274732e70617468203d20706174683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d706f6c79676f6e2f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722061726561203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202061726561203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a2020202061726561202b3d20615b315d202a20625b305d202d20615b305d202a20625b315d3b0a20207d0a0a202072657475726e2061726561202f20323b0a7d3b0a0a7661722063656e74726f6964203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202078203d20302c0a20202020202079203d20302c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a202020202020632c0a2020202020206b203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020206b202b3d2063203d20615b305d202a20625b315d202d20625b305d202a20615b315d3b0a2020202078202b3d2028615b305d202b20625b305d29202a20633b0a2020202079202b3d2028615b315d202b20625b315d29202a20633b0a20207d0a0a202072657475726e206b202a3d20332c205b78202f206b2c2079202f206b5d3b0a7d3b0a0a2f2f2052657475726e73207468652032442063726f73732070726f64756374206f6620414220616e6420414320766563746f72732c20692e652e2c20746865207a2d636f6d706f6e656e74206f660a2f2f207468652033442063726f73732070726f6475637420696e2061207175616472616e7420492043617274657369616e20636f6f7264696e6174652073797374656d20282b782069730a2f2f2072696768742c202b79206973207570292e2052657475726e73206120706f7369746976652076616c75652069662041424320697320636f756e7465722d636c6f636b776973652c0a2f2f206e6567617469766520696620636c6f636b776973652c20616e64207a65726f2069662074686520706f696e74732061726520636f6c6c696e6561722e0a7661722063726f7373203d2066756e6374696f6e28612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29202d2028625b315d202d20615b315d29202a2028635b305d202d20615b305d293b0a7d3b0a0a66756e6374696f6e206c657869636f677261706869634f7264657228612c206229207b0a202072657475726e20615b305d202d20625b305d207c7c20615b315d202d20625b315d3b0a7d0a0a2f2f20436f6d70757465732074686520757070657220636f6e7665782068756c6c2070657220746865206d6f6e6f746f6e6520636861696e20616c676f726974686d2e0a2f2f20417373756d657320706f696e74732e6c656e677468203e3d20332c20697320736f7274656420627920782c20756e6971756520696e20792e0a2f2f2052657475726e7320616e206172726179206f6620696e646963657320696e746f20706f696e747320696e206c6566742d746f2d7269676874206f726465722e0a66756e6374696f6e20636f6d70757465557070657248756c6c496e646578657328706f696e747329207b0a2020766172206e203d20706f696e74732e6c656e6774682c0a202020202020696e6465786573203d205b302c20315d2c0a20202020202073697a65203d20323b0a0a2020666f7220287661722069203d20323b2069203c206e3b202b2b6929207b0a202020207768696c65202873697a65203e20312026262063726f737328706f696e74735b696e64657865735b73697a65202d20325d5d2c20706f696e74735b696e64657865735b73697a65202d20315d5d2c20706f696e74735b695d29203c3d203029202d2d73697a653b0a20202020696e64657865735b73697a652b2b5d203d20693b0a20207d0a0a202072657475726e20696e64657865732e736c69636528302c2073697a65293b202f2f2072656d6f766520706f7070656420706f696e74730a7d0a0a7661722068756c6c203d2066756e6374696f6e28706f696e747329207b0a202069662028286e203d20706f696e74732e6c656e67746829203c2033292072657475726e206e756c6c3b0a0a202076617220692c0a2020202020206e2c0a202020202020736f72746564506f696e7473203d206e6577204172726179286e292c0a202020202020666c6970706564506f696e7473203d206e6577204172726179286e293b0a0a2020666f72202869203d20303b2069203c206e3b202b2b692920736f72746564506f696e74735b695d203d205b2b706f696e74735b695d5b305d2c202b706f696e74735b695d5b315d2c20695d3b0a2020736f72746564506f696e74732e736f7274286c657869636f677261706869634f72646572293b0a2020666f72202869203d20303b2069203c206e3b202b2b692920666c6970706564506f696e74735b695d203d205b736f72746564506f696e74735b695d5b305d2c202d736f72746564506f696e74735b695d5b315d5d3b0a0a2020766172207570706572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328736f72746564506f696e7473292c0a2020202020206c6f776572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328666c6970706564506f696e7473293b0a0a20202f2f20436f6e737472756374207468652068756c6c20706f6c79676f6e2c2072656d6f76696e6720706f737369626c65206475706c696361746520656e64706f696e74732e0a202076617220736b69704c656674203d206c6f776572496e64657865735b305d203d3d3d207570706572496e64657865735b305d2c0a202020202020736b69705269676874203d206c6f776572496e64657865735b6c6f776572496e64657865732e6c656e677468202d20315d203d3d3d207570706572496e64657865735b7570706572496e64657865732e6c656e677468202d20315d2c0a20202020202068756c6c203d205b5d3b0a0a20202f2f204164642075707065722068756c6c20696e2072696768742d746f2d6c206f726465722e0a20202f2f205468656e20616464206c6f7765722068756c6c20696e206c6566742d746f2d7269676874206f726465722e0a2020666f72202869203d207570706572496e64657865732e6c656e677468202d20313b2069203e3d20303b202d2d69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b7570706572496e64657865735b695d5d5b325d5d293b0a2020666f72202869203d202b736b69704c6566743b2069203c206c6f776572496e64657865732e6c656e677468202d20736b697052696768743b202b2b69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b6c6f776572496e64657865735b695d5d5b325d5d293b0a0a202072657475726e2068756c6c3b0a7d3b0a0a76617220636f6e7461696e73203d2066756e6374696f6e28706f6c79676f6e2c20706f696e7429207b0a2020766172206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202070203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078203d20706f696e745b305d2c2079203d20706f696e745b315d2c0a2020202020207830203d20705b305d2c207930203d20705b315d2c0a20202020202078312c2079312c0a202020202020696e73696465203d2066616c73653b0a0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a2020202070203d20706f6c79676f6e5b695d2c207831203d20705b305d2c207931203d20705b315d3b0a202020206966202828287931203e20792920213d3d20287930203e20792929202626202878203c20287830202d20783129202a202879202d20793129202f20287930202d20793129202b207831292920696e73696465203d2021696e736964653b0a202020207830203d2078312c207930203d2079313b0a20207d0a0a202072657475726e20696e736964653b0a7d3b0a0a766172206c656e677468203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078612c0a20202020202079612c0a2020202020207862203d20625b305d2c0a2020202020207962203d20625b315d2c0a202020202020706572696d65746572203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a202020207861203d2078623b0a202020207961203d2079623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020207862203d20625b305d3b0a202020207962203d20625b315d3b0a202020207861202d3d2078623b0a202020207961202d3d2079623b0a20202020706572696d65746572202b3d204d6174682e73717274287861202a207861202b207961202a207961293b0a20207d0a0a202072657475726e20706572696d657465723b0a7d3b0a0a6578706f7274732e706f6c79676f6e41726561203d20617265613b0a6578706f7274732e706f6c79676f6e43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e706f6c79676f6e48756c6c203d2068756c6c3b0a6578706f7274732e706f6c79676f6e436f6e7461696e73203d20636f6e7461696e733b0a6578706f7274732e706f6c79676f6e4c656e677468203d206c656e6774683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d71756164747265652f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220747265655f616464203d2066756e6374696f6e286429207b0a20207661722078203d202b746869732e5f782e63616c6c286e756c6c2c2064292c0a20202020202079203d202b746869732e5f792e63616c6c286e756c6c2c2064293b0a202072657475726e2061646428746869732e636f76657228782c2079292c20782c20792c2064293b0a7d3b0a0a66756e6374696f6e2061646428747265652c20782c20792c206429207b0a20206966202869734e614e287829207c7c2069734e614e287929292072657475726e20747265653b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20747265652e5f726f6f742c0a2020202020206c656166203d207b646174613a20647d2c0a2020202020207830203d20747265652e5f78302c0a2020202020207930203d20747265652e5f79302c0a2020202020207831203d20747265652e5f78312c0a2020202020207931203d20747265652e5f79312c0a202020202020786d2c0a202020202020796d2c0a20202020202078702c0a20202020202079702c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f2046696e6420746865206578697374696e67206c65616620666f7220746865206e657720706f696e742c206f72206164642069742e0a20207768696c6520286e6f64652e6c656e67746829207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a2020202069662028706172656e74203d206e6f64652c2021286e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20706172656e745b695d203d206c6561662c20747265653b0a20207d0a0a20202f2f20497320746865206e657720706f696e742069732065786163746c7920636f696e636964656e74207769746820746865206578697374696e6720706f696e743f0a20207870203d202b747265652e5f782e63616c6c286e756c6c2c206e6f64652e64617461293b0a20207970203d202b747265652e5f792e63616c6c286e756c6c2c206e6f64652e64617461293b0a20206966202878203d3d3d2078702026262079203d3d3d207970292072657475726e206c6561662e6e657874203d206e6f64652c20706172656e74203f20706172656e745b695d203d206c656166203a20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f204f74686572776973652c2073706c697420746865206c656166206e6f646520756e74696c20746865206f6c6420616e64206e657720706f696e7420617265207365706172617465642e0a2020646f207b0a20202020706172656e74203d20706172656e74203f20706172656e745b695d203d206e6577204172726179283429203a20747265652e5f726f6f74203d206e65772041727261792834293b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20207d207768696c6520282869203d20626f74746f6d203c3c2031207c20726967687429203d3d3d20286a203d20287970203e3d20796d29203c3c2031207c20287870203e3d20786d2929293b0a202072657475726e20706172656e745b6a5d203d206e6f64652c20706172656e745b695d203d206c6561662c20747265653b0a7d0a0a66756e6374696f6e20616464416c6c286461746129207b0a202076617220642c20692c206e203d20646174612e6c656e6774682c0a202020202020782c0a202020202020792c0a202020202020787a203d206e6577204172726179286e292c0a202020202020797a203d206e6577204172726179286e292c0a2020202020207830203d20496e66696e6974792c0a2020202020207930203d20496e66696e6974792c0a2020202020207831203d202d496e66696e6974792c0a2020202020207931203d202d496e66696e6974793b0a0a20202f2f20436f6d707574652074686520706f696e747320616e6420746865697220657874656e742e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c2064203d20646174615b695d2929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c206429292920636f6e74696e75653b0a20202020787a5b695d203d20783b0a20202020797a5b695d203d20793b0a202020206966202878203c20783029207830203d20783b0a202020206966202878203e20783129207831203d20783b0a202020206966202879203c20793029207930203d20793b0a202020206966202879203e20793129207931203d20793b0a20207d0a0a20202f2f2049662074686572652077657265206e6f202876616c69642920706f696e74732c20696e686572697420746865206578697374696e6720657874656e742e0a2020696620287831203c20783029207830203d20746869732e5f78302c207831203d20746869732e5f78313b0a2020696620287931203c20793029207930203d20746869732e5f79302c207931203d20746869732e5f79313b0a0a20202f2f20457870616e6420746865207472656520746f20636f76657220746865206e657720706f696e74732e0a2020746869732e636f7665722878302c207930292e636f7665722878312c207931293b0a0a20202f2f2041646420746865206e657720706f696e74732e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202061646428746869732c20787a5b695d2c20797a5b695d2c20646174615b695d293b0a20207d0a0a202072657475726e20746869733b0a7d0a0a76617220747265655f636f766572203d2066756e6374696f6e28782c207929207b0a20206966202869734e614e2878203d202b7829207c7c2069734e614e2879203d202b7929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a2020766172207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79313b0a0a20202f2f2049662074686520717561647472656520686173206e6f20657874656e742c20696e697469616c697a65207468656d2e0a20202f2f20496e746567657220657874656e7420617265206e656365737361727920736f2074686174206966207765206c6174657220646f75626c652074686520657874656e742c0a20202f2f20746865206578697374696e67207175616472616e7420626f756e64617269657320646f6ee2809974206368616e67652064756520746f20666c6f6174696e6720706f696e74206572726f72210a20206966202869734e614e2878302929207b0a202020207831203d20287830203d204d6174682e666c6f6f7228782929202b20313b0a202020207931203d20287930203d204d6174682e666c6f6f7228792929202b20313b0a20207d0a0a20202f2f204f74686572776973652c20646f75626c652072657065617465646c7920746f20636f7665722e0a2020656c736520696620287830203e2078207c7c2078203e207831207c7c207930203e2079207c7c2079203e20793129207b0a20202020766172207a203d207831202d2078302c0a20202020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020202020706172656e742c0a2020202020202020693b0a0a20202020737769746368202869203d202879203c20287930202b20793129202f203229203c3c2031207c202878203c20287830202b20783129202f20322929207b0a2020202020206361736520303a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207931203d207930202b207a2c2078203e207831207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207931203d207930202b207a2c207830203e2078207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207930203d207931202d207a2c2078203e207831207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207930203d207931202d207a2c207830203e2078207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f726f6f7420262620746869732e5f726f6f742e6c656e6774682920746869732e5f726f6f74203d206e6f64653b0a20207d0a0a20202f2f2049662074686520717561647472656520636f766572732074686520706f696e7420616c72656164792c206a7573742072657475726e2e0a2020656c73652072657475726e20746869733b0a0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a202072657475726e20746869733b0a7d3b0a0a76617220747265655f64617461203d2066756e6374696f6e2829207b0a20207661722064617461203d205b5d3b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f20646174612e70757368286e6f64652e64617461293b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e20646174613b0a7d3b0a0a76617220747265655f657874656e74203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e636f766572282b5f5b305d5b305d2c202b5f5b305d5b315d292e636f766572282b5f5b315d5b305d2c202b5f5b315d5b315d290a2020202020203a2069734e614e28746869732e5f783029203f20756e646566696e6564203a205b5b746869732e5f78302c20746869732e5f79305d2c205b746869732e5f78312c20746869732e5f79315d5d3b0a7d3b0a0a7661722051756164203d2066756e6374696f6e286e6f64652c2078302c2079302c2078312c20793129207b0a2020746869732e6e6f6465203d206e6f64653b0a2020746869732e7830203d2078303b0a2020746869732e7930203d2079303b0a2020746869732e7831203d2078313b0a2020746869732e7931203d2079313b0a7d3b0a0a76617220747265655f66696e64203d2066756e6374696f6e28782c20792c2072616469757329207b0a202076617220646174612c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a20202020202078312c0a20202020202079312c0a20202020202078322c0a20202020202079322c0a2020202020207833203d20746869732e5f78312c0a2020202020207933203d20746869732e5f79312c0a2020202020207175616473203d205b5d2c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a202020202020712c0a202020202020693b0a0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c2078302c2079302c2078332c20793329293b0a202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a2020656c7365207b0a202020207830203d2078202d207261646975732c207930203d2079202d207261646975733b0a202020207833203d2078202b207261646975732c207933203d2079202b207261646975733b0a20202020726164697573202a3d207261646975733b0a20207d0a0a20207768696c65202871203d2071756164732e706f70282929207b0a0a202020202f2f2053746f7020736561726368696e672069662074686973207175616472616e742063616ee280997420636f6e7461696e206120636c6f736572206e6f64652e0a202020206966202821286e6f6465203d20712e6e6f6465290a20202020202020207c7c20287831203d20712e783029203e2078330a20202020202020207c7c20287931203d20712e793029203e2079330a20202020202020207c7c20287832203d20712e783129203c2078300a20202020202020207c7c20287932203d20712e793129203c2079302920636f6e74696e75653b0a0a202020202f2f20426973656374207468652063757272656e74207175616472616e742e0a20202020696620286e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287831202b20783229202f20322c0a20202020202020202020796d203d20287931202b20793229202f20323b0a0a20202020202071756164732e70757368280a20202020202020206e65772051756164286e6f64655b335d2c20786d2c20796d2c2078322c207932292c0a20202020202020206e65772051756164286e6f64655b325d2c2078312c20796d2c20786d2c207932292c0a20202020202020206e65772051756164286e6f64655b315d2c20786d2c2079312c2078322c20796d292c0a20202020202020206e65772051756164286e6f64655b305d2c2078312c2079312c20786d2c20796d290a202020202020293b0a0a2020202020202f2f2056697369742074686520636c6f73657374207175616472616e742066697273742e0a2020202020206966202869203d202879203e3d20796d29203c3c2031207c202878203e3d20786d2929207b0a202020202020202071203d2071756164735b71756164732e6c656e677468202d20315d3b0a202020202020202071756164735b71756164732e6c656e677468202d20315d203d2071756164735b71756164732e6c656e677468202d2031202d20695d3b0a202020202020202071756164735b71756164732e6c656e677468202d2031202d20695d203d20713b0a2020202020207d0a202020207d0a0a202020202f2f205669736974207468697320706f696e742e20285669736974696e6720636f696e636964656e7420706f696e74732069736ee2809974206e656365737361727921290a20202020656c7365207b0a202020202020766172206478203d2078202d202b746869732e5f782e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206479203d2079202d202b746869732e5f792e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206432203d206478202a206478202b206479202a2064793b0a202020202020696620286432203c2072616469757329207b0a20202020202020207661722064203d204d6174682e7371727428726164697573203d206432293b0a20202020202020207830203d2078202d20642c207930203d2079202d20643b0a20202020202020207833203d2078202b20642c207933203d2079202b20643b0a202020202020202064617461203d206e6f64652e646174613b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20646174613b0a7d3b0a0a76617220747265655f72656d6f7665203d2066756e6374696f6e286429207b0a20206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c20642929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c20642929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a20202020202072657461696e65722c0a20202020202070726576696f75732c0a2020202020206e6578742c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79312c0a202020202020782c0a202020202020792c0a202020202020786d2c0a202020202020796d2c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20746869733b0a0a20202f2f2046696e6420746865206c656166206e6f646520666f722074686520706f696e742e0a20202f2f205768696c652064657363656e64696e672c20616c736f2072657461696e20746865206465657065737420706172656e7420776974682061206e6f6e2d72656d6f766564207369626c696e672e0a2020696620286e6f64652e6c656e67746829207768696c6520287472756529207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20202020696620282128706172656e74203d206e6f64652c206e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20746869733b0a2020202069662028216e6f64652e6c656e6774682920627265616b3b0a2020202069662028706172656e745b2869202b203129202620335d207c7c20706172656e745b2869202b203229202620335d207c7c20706172656e745b2869202b203329202620335d292072657461696e6572203d20706172656e742c206a203d20693b0a20207d0a0a20202f2f2046696e642074686520706f696e7420746f2072656d6f76652e0a20207768696c6520286e6f64652e6461746120213d3d2064292069662028212870726576696f7573203d206e6f64652c206e6f6465203d206e6f64652e6e65787429292072657475726e20746869733b0a2020696620286e657874203d206e6f64652e6e657874292064656c657465206e6f64652e6e6578743b0a0a20202f2f20496620746865726520617265206d756c7469706c6520636f696e636964656e7420706f696e74732c2072656d6f7665206a7573742074686520706f696e742e0a20206966202870726576696f7573292072657475726e20286e657874203f2070726576696f75732e6e657874203d206e657874203a2064656c6574652070726576696f75732e6e657874292c20746869733b0a0a20202f2f20496620746869732069732074686520726f6f7420706f696e742c2072656d6f76652069742e0a20206966202821706172656e74292072657475726e20746869732e5f726f6f74203d206e6578742c20746869733b0a0a20202f2f2052656d6f76652074686973206c6561662e0a20206e657874203f20706172656e745b695d203d206e657874203a2064656c65746520706172656e745b695d3b0a0a20202f2f2049662074686520706172656e74206e6f7720636f6e7461696e732065786163746c79206f6e65206c6561662c20636f6c6c61707365207375706572666c756f757320706172656e74732e0a202069662028286e6f6465203d20706172656e745b305d207c7c20706172656e745b315d207c7c20706172656e745b325d207c7c20706172656e745b335d290a2020202020202626206e6f6465203d3d3d2028706172656e745b335d207c7c20706172656e745b325d207c7c20706172656e745b315d207c7c20706172656e745b305d290a202020202020262620216e6f64652e6c656e67746829207b0a202020206966202872657461696e6572292072657461696e65725b6a5d203d206e6f64653b0a20202020656c736520746869732e5f726f6f74203d206e6f64653b0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e2072656d6f7665416c6c286461746129207b0a2020666f7220287661722069203d20302c206e203d20646174612e6c656e6774683b2069203c206e3b202b2b692920746869732e72656d6f766528646174615b695d293b0a202072657475726e20746869733b0a7d0a0a76617220747265655f726f6f74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f726f6f743b0a7d3b0a0a76617220747265655f73697a65203d2066756e6374696f6e2829207b0a20207661722073697a65203d20303b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f202b2b73697a653b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e2073697a653b0a7d3b0a0a76617220747265655f7669736974203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c20712c206e6f6465203d20746869732e5f726f6f742c206368696c642c2078302c2079302c2078312c2079313b0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020696620282163616c6c6261636b286e6f6465203d20712e6e6f64652c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e793129202626206e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d3b0a0a76617220747265655f76697369744166746572203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c206e657874203d205b5d2c20713b0a202069662028746869732e5f726f6f74292071756164732e70757368286e6577205175616428746869732e5f726f6f742c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020766172206e6f6465203d20712e6e6f64653b0a20202020696620286e6f64652e6c656e67746829207b0a202020202020766172206368696c642c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e79312c20786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020207d0a202020206e6578742e707573682871293b0a20207d0a20207768696c65202871203d206e6578742e706f70282929207b0a2020202063616c6c6261636b28712e6e6f64652c20712e78302c20712e79302c20712e78312c20712e7931293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e2064656661756c7458286429207b0a202072657475726e20645b305d3b0a7d0a0a76617220747265655f78203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f78203d205f2c207468697329203a20746869732e5f783b0a7d3b0a0a66756e6374696f6e2064656661756c7459286429207b0a202072657475726e20645b315d3b0a7d0a0a76617220747265655f79203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f79203d205f2c207468697329203a20746869732e5f793b0a7d3b0a0a66756e6374696f6e207175616474726565286e6f6465732c20782c207929207b0a20207661722074726565203d206e65772051756164747265652878203d3d206e756c6c203f2064656661756c7458203a20782c2079203d3d206e756c6c203f2064656661756c7459203a20792c204e614e2c204e614e2c204e614e2c204e614e293b0a202072657475726e206e6f646573203d3d206e756c6c203f2074726565203a20747265652e616464416c6c286e6f646573293b0a7d0a0a66756e6374696f6e20517561647472656528782c20792c2078302c2079302c2078312c20793129207b0a2020746869732e5f78203d20783b0a2020746869732e5f79203d20793b0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a2020746869732e5f726f6f74203d20756e646566696e65643b0a7d0a0a66756e6374696f6e206c6561665f636f7079286c65616629207b0a202076617220636f7079203d207b646174613a206c6561662e646174617d2c206e657874203d20636f70793b0a20207768696c6520286c656166203d206c6561662e6e65787429206e657874203d206e6578742e6e657874203d207b646174613a206c6561662e646174617d3b0a202072657475726e20636f70793b0a7d0a0a766172207472656550726f746f203d2071756164747265652e70726f746f74797065203d2051756164747265652e70726f746f747970653b0a0a7472656550726f746f2e636f7079203d2066756e6374696f6e2829207b0a202076617220636f7079203d206e657720517561647472656528746869732e5f782c20746869732e5f792c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f7931292c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020206e6f6465732c0a2020202020206368696c643b0a0a202069662028216e6f6465292072657475726e20636f70793b0a0a202069662028216e6f64652e6c656e677468292072657475726e20636f70792e5f726f6f74203d206c6561665f636f7079286e6f6465292c20636f70793b0a0a20206e6f646573203d205b7b736f757263653a206e6f64652c207461726765743a20636f70792e5f726f6f74203d206e65772041727261792834297d5d3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020666f7220287661722069203d20303b2069203c20343b202b2b6929207b0a202020202020696620286368696c64203d206e6f64652e736f757263655b695d29207b0a2020202020202020696620286368696c642e6c656e67746829206e6f6465732e70757368287b736f757263653a206368696c642c207461726765743a206e6f64652e7461726765745b695d203d206e65772041727261792834297d293b0a2020202020202020656c7365206e6f64652e7461726765745b695d203d206c6561665f636f7079286368696c64293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a7472656550726f746f2e616464203d20747265655f6164643b0a7472656550726f746f2e616464416c6c203d20616464416c6c3b0a7472656550726f746f2e636f766572203d20747265655f636f7665723b0a7472656550726f746f2e64617461203d20747265655f646174613b0a7472656550726f746f2e657874656e74203d20747265655f657874656e743b0a7472656550726f746f2e66696e64203d20747265655f66696e643b0a7472656550726f746f2e72656d6f7665203d20747265655f72656d6f76653b0a7472656550726f746f2e72656d6f7665416c6c203d2072656d6f7665416c6c3b0a7472656550726f746f2e726f6f74203d20747265655f726f6f743b0a7472656550726f746f2e73697a65203d20747265655f73697a653b0a7472656550726f746f2e7669736974203d20747265655f76697369743b0a7472656550726f746f2e76697369744166746572203d20747265655f766973697441667465723b0a7472656550726f746f2e78203d20747265655f783b0a7472656550726f746f2e79203d20747265655f793b0a0a6578706f7274732e7175616474726565203d2071756164747265653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d71756575652f2056657273696f6e20332e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220736c696365203d205b5d2e736c6963653b0a0a766172206e6f61626f7274203d207b7d3b0a0a66756e6374696f6e2051756575652873697a6529207b0a2020746869732e5f73697a65203d2073697a653b0a2020746869732e5f63616c6c203d0a2020746869732e5f6572726f72203d206e756c6c3b0a2020746869732e5f7461736b73203d205b5d3b0a2020746869732e5f64617461203d205b5d3b0a2020746869732e5f77616974696e67203d0a2020746869732e5f616374697665203d0a2020746869732e5f656e646564203d0a2020746869732e5f7374617274203d20303b202f2f20696e7369646520612073796e6368726f6e6f7573207461736b2063616c6c6261636b3f0a7d0a0a51756575652e70726f746f74797065203d2071756575652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2051756575652c0a202064656665723a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f722822646566657220616674657220617761697422293b0a2020202069662028746869732e5f6572726f7220213d206e756c6c292072657475726e20746869733b0a202020207661722074203d20736c6963652e63616c6c28617267756d656e74732c2031293b0a20202020742e707573682863616c6c6261636b293b0a202020202b2b746869732e5f77616974696e672c20746869732e5f7461736b732e707573682874293b0a20202020706f6b652874686973293b0a2020202072657475726e20746869733b0a20207d2c0a202061626f72743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6572726f72203d3d206e756c6c292061626f727428746869732c206e6577204572726f72282261626f72742229293b0a2020202072657475726e20746869733b0a20207d2c0a202061776169743a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f7228226d756c7469706c6520617761697422293b0a20202020746869732e5f63616c6c203d2066756e6374696f6e286572726f722c20726573756c747329207b2063616c6c6261636b2e6170706c79286e756c6c2c205b6572726f725d2e636f6e63617428726573756c747329293b207d3b0a202020206d617962654e6f746966792874686973293b0a2020202072657475726e20746869733b0a20207d2c0a20206177616974416c6c3a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f7228226d756c7469706c6520617761697422293b0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a202020206d617962654e6f746966792874686973293b0a2020202072657475726e20746869733b0a20207d0a7d3b0a0a66756e6374696f6e20706f6b65287129207b0a20206966202821712e5f737461727429207b0a20202020747279207b2073746172742871293b207d202f2f206c6574207468652063757272656e74207461736b20636f6d706c6574650a20202020636174636820286529207b0a20202020202069662028712e5f7461736b735b712e5f656e646564202b20712e5f616374697665202d20315d292061626f727428712c2065293b202f2f207461736b206572726f7265642073796e6368726f6e6f75736c790a202020202020656c7365206966202821712e5f6461746129207468726f7720653b202f2f2061776169742063616c6c6261636b206572726f7265642073796e6368726f6e6f75736c790a202020207d0a20207d0a7d0a0a66756e6374696f6e207374617274287129207b0a20207768696c652028712e5f7374617274203d20712e5f77616974696e6720262620712e5f616374697665203c20712e5f73697a6529207b0a202020207661722069203d20712e5f656e646564202b20712e5f6163746976652c0a202020202020202074203d20712e5f7461736b735b695d2c0a20202020202020206a203d20742e6c656e677468202d20312c0a202020202020202063203d20745b6a5d3b0a20202020745b6a5d203d20656e6428712c2069293b0a202020202d2d712e5f77616974696e672c202b2b712e5f6163746976653b0a2020202074203d20632e6170706c79286e756c6c2c2074293b0a202020206966202821712e5f7461736b735b695d2920636f6e74696e75653b202f2f207461736b2066696e69736865642073796e6368726f6e6f75736c790a20202020712e5f7461736b735b695d203d2074207c7c206e6f61626f72743b0a20207d0a7d0a0a66756e6374696f6e20656e6428712c206929207b0a202072657475726e2066756e6374696f6e28652c207229207b0a202020206966202821712e5f7461736b735b695d292072657475726e3b202f2f2069676e6f7265206d756c7469706c652063616c6c6261636b730a202020202d2d712e5f6163746976652c202b2b712e5f656e6465643b0a20202020712e5f7461736b735b695d203d206e756c6c3b0a2020202069662028712e5f6572726f7220213d206e756c6c292072657475726e3b202f2f2069676e6f7265207365636f6e64617279206572726f72730a20202020696620286520213d206e756c6c29207b0a20202020202061626f727428712c2065293b0a202020207d20656c7365207b0a202020202020712e5f646174615b695d203d20723b0a20202020202069662028712e5f77616974696e672920706f6b652871293b0a202020202020656c7365206d617962654e6f746966792871293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e2061626f727428712c206529207b0a20207661722069203d20712e5f7461736b732e6c656e6774682c20743b0a2020712e5f6572726f72203d20653b202f2f2069676e6f7265206163746976652063616c6c6261636b730a2020712e5f64617461203d20756e646566696e65643b202f2f20616c6c6f772067630a2020712e5f77616974696e67203d204e614e3b202f2f2070726576656e74207374617274696e670a0a20207768696c6520282d2d69203e3d203029207b0a202020206966202874203d20712e5f7461736b735b695d29207b0a202020202020712e5f7461736b735b695d203d206e756c6c3b0a20202020202069662028742e61626f727429207b0a2020202020202020747279207b20742e61626f727428293b207d0a2020202020202020636174636820286529207b202f2a2069676e6f7265202a2f207d0a2020202020207d0a202020207d0a20207d0a0a2020712e5f616374697665203d204e614e3b202f2f20616c6c6f77206e6f74696669636174696f6e0a20206d617962654e6f746966792871293b0a7d0a0a66756e6374696f6e206d617962654e6f74696679287129207b0a20206966202821712e5f61637469766520262620712e5f63616c6c29207b0a202020207661722064203d20712e5f646174613b0a20202020712e5f64617461203d20756e646566696e65643b202f2f20616c6c6f772067630a20202020712e5f63616c6c28712e5f6572726f722c2064293b0a20207d0a7d0a0a66756e6374696f6e20717565756528636f6e63757272656e637929207b0a202069662028636f6e63757272656e6379203d3d206e756c6c2920636f6e63757272656e6379203d20496e66696e6974793b0a2020656c73652069662028212828636f6e63757272656e6379203d202b636f6e63757272656e637929203e3d20312929207468726f77206e6577204572726f722822696e76616c696420636f6e63757272656e637922293b0a202072657475726e206e657720517565756528636f6e63757272656e6379293b0a7d0a0a6578706f7274732e7175657565203d2071756575653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d72616e646f6d2f2056657273696f6e20312e312e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722064656661756c74536f75726365203d2066756e6374696f6e2829207b0a202072657475726e204d6174682e72616e646f6d28293b0a7d3b0a0a76617220756e69666f726d203d20282866756e6374696f6e20736f7572636552616e646f6d556e69666f726d28736f7572636529207b0a202066756e6374696f6e2072616e646f6d556e69666f726d286d696e2c206d617829207b0a202020206d696e203d206d696e203d3d206e756c6c203f2030203a202b6d696e3b0a202020206d6178203d206d6178203d3d206e756c6c203f2031203a202b6d61783b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203129206d6178203d206d696e2c206d696e203d20303b0a20202020656c7365206d6178202d3d206d696e3b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e20736f757263652829202a206d6178202b206d696e3b0a202020207d3b0a20207d0a0a202072616e646f6d556e69666f726d2e736f75726365203d20736f7572636552616e646f6d556e69666f726d3b0a0a202072657475726e2072616e646f6d556e69666f726d3b0a7d29292864656661756c74536f75726365293b0a0a766172206e6f726d616c203d20282866756e6374696f6e20736f7572636552616e646f6d4e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4e6f726d616c286d752c207369676d6129207b0a2020202076617220782c20723b0a202020206d75203d206d75203d3d206e756c6c203f2030203a202b6d753b0a202020207369676d61203d207369676d61203d3d206e756c6c203f2031203a202b7369676d613b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202076617220793b0a0a2020202020202f2f20496620617661696c61626c652c2075736520746865207365636f6e642070726576696f75736c792d67656e65726174656420756e69666f726d2072616e646f6d2e0a202020202020696620287820213d206e756c6c292079203d20782c2078203d206e756c6c3b0a0a2020202020202f2f204f74686572776973652c2067656e65726174652061206e6577207820616e6420792e0a202020202020656c736520646f207b0a202020202020202078203d20736f757263652829202a2032202d20313b0a202020202020202079203d20736f757263652829202a2032202d20313b0a202020202020202072203d2078202a2078202b2079202a20793b0a2020202020207d207768696c6520282172207c7c2072203e2031293b0a0a20202020202072657475726e206d75202b207369676d61202a2079202a204d6174682e73717274282d32202a204d6174682e6c6f67287229202f2072293b0a202020207d3b0a20207d0a0a202072616e646f6d4e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4e6f726d616c3b0a0a202072657475726e2072616e646f6d4e6f726d616c3b0a7d29292864656661756c74536f75726365293b0a0a766172206c6f674e6f726d616c203d20282866756e6374696f6e20736f7572636552616e646f6d4c6f674e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4c6f674e6f726d616c2829207b0a202020207661722072616e646f6d4e6f726d616c203d206e6f726d616c2e736f7572636528736f75726365292e6170706c7928746869732c20617267756d656e7473293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e204d6174682e6578702872616e646f6d4e6f726d616c2829293b0a202020207d3b0a20207d0a0a202072616e646f6d4c6f674e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4c6f674e6f726d616c3b0a0a202072657475726e2072616e646f6d4c6f674e6f726d616c3b0a7d29292864656661756c74536f75726365293b0a0a76617220697277696e48616c6c203d20282866756e6374696f6e20736f7572636552616e646f6d497277696e48616c6c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d497277696e48616c6c286e29207b0a2020202072657475726e2066756e6374696f6e2829207b0a202020202020666f7220287661722073756d203d20302c2069203d20303b2069203c206e3b202b2b69292073756d202b3d20736f7572636528293b0a20202020202072657475726e2073756d3b0a202020207d3b0a20207d0a0a202072616e646f6d497277696e48616c6c2e736f75726365203d20736f7572636552616e646f6d497277696e48616c6c3b0a0a202072657475726e2072616e646f6d497277696e48616c6c3b0a7d29292864656661756c74536f75726365293b0a0a766172206261746573203d20282866756e6374696f6e20736f7572636552616e646f6d426174657328736f7572636529207b0a202066756e6374696f6e2072616e646f6d4261746573286e29207b0a202020207661722072616e646f6d497277696e48616c6c203d20697277696e48616c6c2e736f7572636528736f7572636529286e293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e2072616e646f6d497277696e48616c6c2829202f206e3b0a202020207d3b0a20207d0a0a202072616e646f6d42617465732e736f75726365203d20736f7572636552616e646f6d42617465733b0a0a202072657475726e2072616e646f6d42617465733b0a7d29292864656661756c74536f75726365293b0a0a766172206578706f6e656e7469616c203d20282866756e6374696f6e20736f7572636552616e646f6d4578706f6e656e7469616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4578706f6e656e7469616c286c616d62646129207b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e202d4d6174682e6c6f672831202d20736f75726365282929202f206c616d6264613b0a202020207d3b0a20207d0a0a202072616e646f6d4578706f6e656e7469616c2e736f75726365203d20736f7572636552616e646f6d4578706f6e656e7469616c3b0a0a202072657475726e2072616e646f6d4578706f6e656e7469616c3b0a7d29292864656661756c74536f75726365293b0a0a6578706f7274732e72616e646f6d556e69666f726d203d20756e69666f726d3b0a6578706f7274732e72616e646f6d4e6f726d616c203d206e6f726d616c3b0a6578706f7274732e72616e646f6d4c6f674e6f726d616c203d206c6f674e6f726d616c3b0a6578706f7274732e72616e646f6d4261746573203d2062617465733b0a6578706f7274732e72616e646f6d497277696e48616c6c203d20697277696e48616c6c3b0a6578706f7274732e72616e646f6d4578706f6e656e7469616c203d206578706f6e656e7469616c3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a76617220584d4c4874747052657175657374203d20726571756972652827786d6c687474707265717565737427292e584d4c48747470526571756573743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a766172206433436f6c6c656374696f6e203d2072657175697265282764332d636f6c6c656374696f6e27293b0a7661722064334469737061746368203d2072657175697265282764332d646973706174636827293b0a766172206433447376203d2072657175697265282764332d64737627293b0a0a7661722072657175657374203d2066756e6374696f6e2875726c2c2063616c6c6261636b29207b0a202076617220726571756573742c0a2020202020206576656e74203d20643344697370617463682e646973706174636828226265666f726573656e64222c202270726f6772657373222c20226c6f6164222c20226572726f7222292c0a2020202020206d696d65547970652c0a20202020202068656164657273203d206433436f6c6c656374696f6e2e6d617028292c0a202020202020786872203d206e657720584d4c48747470526571756573742c0a20202020202075736572203d206e756c6c2c0a20202020202070617373776f7264203d206e756c6c2c0a202020202020726573706f6e73652c0a202020202020726573706f6e7365547970652c0a20202020202074696d656f7574203d20303b0a0a20202f2f20496620494520646f6573206e6f7420737570706f727420434f52532c207573652058446f6d61696e526571756573742e0a202069662028747970656f662058446f6d61696e5265717565737420213d3d2022756e646566696e6564220a2020202020202626202128227769746843726564656e7469616c732220696e20786872290a2020202020202626202f5e28687474702873293f3a293f5c2f5c2f2f2e746573742875726c292920786872203d206e65772058446f6d61696e526571756573743b0a0a2020226f6e6c6f61642220696e207868720a2020202020203f207868722e6f6e6c6f6164203d207868722e6f6e6572726f72203d207868722e6f6e74696d656f7574203d20726573706f6e640a2020202020203a207868722e6f6e726561647973746174656368616e6765203d2066756e6374696f6e286f29207b207868722e72656164795374617465203e203320262620726573706f6e64286f293b207d3b0a0a202066756e6374696f6e20726573706f6e64286f29207b0a2020202076617220737461747573203d207868722e7374617475732c20726573756c743b0a20202020696620282173746174757320262620686173526573706f6e736528786872290a20202020202020207c7c20737461747573203e3d2032303020262620737461747573203c203330300a20202020202020207c7c20737461747573203d3d3d2033303429207b0a20202020202069662028726573706f6e736529207b0a2020202020202020747279207b0a20202020202020202020726573756c74203d20726573706f6e73652e63616c6c28726571756573742c20786872293b0a20202020202020207d20636174636820286529207b0a202020202020202020206576656e742e63616c6c28226572726f72222c20726571756573742c2065293b0a2020202020202020202072657475726e3b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d207868723b0a2020202020207d0a2020202020206576656e742e63616c6c28226c6f6164222c20726571756573742c20726573756c74293b0a202020207d20656c7365207b0a2020202020206576656e742e63616c6c28226572726f72222c20726571756573742c206f293b0a202020207d0a20207d0a0a20207868722e6f6e70726f6772657373203d2066756e6374696f6e286529207b0a202020206576656e742e63616c6c282270726f6772657373222c20726571756573742c2065293b0a20207d3b0a0a202072657175657374203d207b0a202020206865616465723a2066756e6374696f6e286e616d652c2076616c756529207b0a2020202020206e616d65203d20286e616d65202b202222292e746f4c6f7765724361736528293b0a20202020202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20686561646572732e676574286e616d65293b0a2020202020206966202876616c7565203d3d206e756c6c2920686561646572732e72656d6f7665286e616d65293b0a202020202020656c736520686561646572732e736574286e616d652c2076616c7565202b202222293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f204966206d696d6554797065206973206e6f6e2d6e756c6c20616e64206e6f2041636365707420686561646572206973207365742c20612064656661756c7420697320757365642e0a202020206d696d65547970653a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e206d696d65547970653b0a2020202020206d696d6554797065203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022223b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f20537065636966696573207768617420747970652074686520726573706f6e73652076616c75652073686f756c642074616b653b0a202020202f2f20666f7220696e7374616e63652c2061727261796275666665722c20626c6f622c20646f63756d656e742c206f7220746578742e0a20202020726573706f6e7365547970653a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e20726573706f6e7365547970653b0a202020202020726573706f6e736554797065203d2076616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a2020202074696d656f75743a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e2074696d656f75743b0a20202020202074696d656f7574203d202b76616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a20202020757365723a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203c2031203f2075736572203a202875736572203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022222c2072657175657374293b0a202020207d2c0a0a2020202070617373776f72643a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203c2031203f2070617373776f7264203a202870617373776f7264203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022222c2072657175657374293b0a202020207d2c0a0a202020202f2f205370656369667920686f7720746f20636f6e766572742074686520726573706f6e736520636f6e74656e7420746f206120737065636966696320747970653b0a202020202f2f206368616e676573207468652063616c6c6261636b2076616c7565206f6e20226c6f616422206576656e74732e0a20202020726573706f6e73653a2066756e6374696f6e2876616c756529207b0a202020202020726573706f6e7365203d2076616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f20416c69617320666f722073656e642822474554222c20e280a6292e0a202020206765743a2066756e6374696f6e28646174612c2063616c6c6261636b29207b0a20202020202072657475726e20726571756573742e73656e642822474554222c20646174612c2063616c6c6261636b293b0a202020207d2c0a0a202020202f2f20416c69617320666f722073656e642822504f5354222c20e280a6292e0a20202020706f73743a2066756e6374696f6e28646174612c2063616c6c6261636b29207b0a20202020202072657475726e20726571756573742e73656e642822504f5354222c20646174612c2063616c6c6261636b293b0a202020207d2c0a0a202020202f2f2049662063616c6c6261636b206973206e6f6e2d6e756c6c2c2069742077696c6c206265207573656420666f72206572726f7220616e64206c6f6164206576656e74732e0a2020202073656e643a2066756e6374696f6e286d6574686f642c20646174612c2063616c6c6261636b29207b0a2020202020207868722e6f70656e286d6574686f642c2075726c2c20747275652c20757365722c2070617373776f7264293b0a202020202020696620286d696d655479706520213d206e756c6c2026262021686561646572732e686173282261636365707422292920686561646572732e7365742822616363657074222c206d696d6554797065202b20222c2a2f2a22293b0a202020202020696620287868722e736574526571756573744865616465722920686561646572732e656163682866756e6374696f6e2876616c75652c206e616d6529207b207868722e73657452657175657374486561646572286e616d652c2076616c7565293b207d293b0a202020202020696620286d696d655479706520213d206e756c6c202626207868722e6f766572726964654d696d655479706529207868722e6f766572726964654d696d6554797065286d696d6554797065293b0a20202020202069662028726573706f6e73655479706520213d206e756c6c29207868722e726573706f6e736554797065203d20726573706f6e7365547970653b0a2020202020206966202874696d656f7574203e203029207868722e74696d656f7574203d2074696d656f75743b0a2020202020206966202863616c6c6261636b203d3d206e756c6c20262620747970656f662064617461203d3d3d202266756e6374696f6e22292063616c6c6261636b203d20646174612c2064617461203d206e756c6c3b0a2020202020206966202863616c6c6261636b20213d206e756c6c2026262063616c6c6261636b2e6c656e677468203d3d3d2031292063616c6c6261636b203d2066697843616c6c6261636b2863616c6c6261636b293b0a2020202020206966202863616c6c6261636b20213d206e756c6c2920726571756573742e6f6e28226572726f72222c2063616c6c6261636b292e6f6e28226c6f6164222c2066756e6374696f6e2878687229207b2063616c6c6261636b286e756c6c2c20786872293b207d293b0a2020202020206576656e742e63616c6c28226265666f726573656e64222c20726571756573742c20786872293b0a2020202020207868722e73656e642864617461203d3d206e756c6c203f206e756c6c203a2064617461293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a2020202061626f72743a2066756e6374696f6e2829207b0a2020202020207868722e61626f727428293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e2829207b0a2020202020207661722076616c7565203d206576656e742e6f6e2e6170706c79286576656e742c20617267756d656e7473293b0a20202020202072657475726e2076616c7565203d3d3d206576656e74203f2072657175657374203a2076616c75653b0a202020207d0a20207d3b0a0a20206966202863616c6c6261636b20213d206e756c6c29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a2020202072657475726e20726571756573742e6765742863616c6c6261636b293b0a20207d0a0a202072657475726e20726571756573743b0a7d3b0a0a66756e6374696f6e2066697843616c6c6261636b2863616c6c6261636b29207b0a202072657475726e2066756e6374696f6e286572726f722c2078687229207b0a2020202063616c6c6261636b286572726f72203d3d206e756c6c203f20786872203a206e756c6c293b0a20207d3b0a7d0a0a66756e6374696f6e20686173526573706f6e73652878687229207b0a20207661722074797065203d207868722e726573706f6e7365547970653b0a202072657475726e2074797065202626207479706520213d3d202274657874220a2020202020203f207868722e726573706f6e7365202f2f206e756c6c206f6e206572726f720a2020202020203a207868722e726573706f6e7365546578743b202f2f202222206f6e206572726f720a7d0a0a7661722074797065203d2066756e6374696f6e2864656661756c744d696d65547970652c20726573706f6e736529207b0a202072657475726e2066756e6374696f6e2875726c2c2063616c6c6261636b29207b0a202020207661722072203d20726571756573742875726c292e6d696d65547970652864656661756c744d696d6554797065292e726573706f6e736528726573706f6e7365293b0a202020206966202863616c6c6261636b20213d206e756c6c29207b0a20202020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a20202020202072657475726e20722e6765742863616c6c6261636b293b0a202020207d0a2020202072657475726e20723b0a20207d3b0a7d3b0a0a7661722068746d6c203d20747970652822746578742f68746d6c222c2066756e6374696f6e2878687229207b0a202072657475726e20646f63756d656e742e63726561746552616e676528292e637265617465436f6e7465787475616c467261676d656e74287868722e726573706f6e736554657874293b0a7d293b0a0a766172206a736f6e203d207479706528226170706c69636174696f6e2f6a736f6e222c2066756e6374696f6e2878687229207b0a202072657475726e204a534f4e2e7061727365287868722e726573706f6e736554657874293b0a7d293b0a0a7661722074657874203d20747970652822746578742f706c61696e222c2066756e6374696f6e2878687229207b0a202072657475726e207868722e726573706f6e7365546578743b0a7d293b0a0a76617220786d6c203d207479706528226170706c69636174696f6e2f786d6c222c2066756e6374696f6e2878687229207b0a202076617220786d6c203d207868722e726573706f6e7365584d4c3b0a20206966202821786d6c29207468726f77206e6577204572726f7228227061727365206572726f7222293b0a202072657475726e20786d6c3b0a7d293b0a0a76617220647376203d2066756e6374696f6e2864656661756c744d696d65547970652c20706172736529207b0a202072657475726e2066756e6374696f6e2875726c2c20726f772c2063616c6c6261636b29207b0a2020202069662028617267756d656e74732e6c656e677468203c2033292063616c6c6261636b203d20726f772c20726f77203d206e756c6c3b0a202020207661722072203d20726571756573742875726c292e6d696d65547970652864656661756c744d696d6554797065293b0a20202020722e726f77203d2066756e6374696f6e285f29207b2072657475726e20617267756d656e74732e6c656e677468203f20722e726573706f6e736528726573706f6e73654f662870617273652c20726f77203d205f2929203a20726f773b207d3b0a20202020722e726f7728726f77293b0a2020202072657475726e2063616c6c6261636b203f20722e6765742863616c6c6261636b29203a20723b0a20207d3b0a7d3b0a0a66756e6374696f6e20726573706f6e73654f662870617273652c20726f7729207b0a202072657475726e2066756e6374696f6e287265717565737424243129207b0a2020202072657475726e20706172736528726571756573742424312e726573706f6e7365546578742c20726f77293b0a20207d3b0a7d0a0a76617220637376203d206473762822746578742f637376222c2064334473762e6373765061727365293b0a0a76617220747376203d206473762822746578742f7461622d7365706172617465642d76616c756573222c2064334473762e7473765061727365293b0a0a6578706f7274732e72657175657374203d20726571756573743b0a6578706f7274732e68746d6c203d2068746d6c3b0a6578706f7274732e6a736f6e203d206a736f6e3b0a6578706f7274732e74657874203d20746578743b0a6578706f7274732e786d6c203d20786d6c3b0a6578706f7274732e637376203d206373763b0a6578706f7274732e747376203d207473763b0a0a7d2c7b2264332d636f6c6c656374696f6e223a34332c2264332d6469737061746368223a34352c2264332d647376223a34372c22786d6c6874747072657175657374223a3134387d5d2c36303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7363616c652f2056657273696f6e20312e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d617272617927292c2072657175697265282764332d636f6c6c656374696f6e27292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d666f726d617427292c2072657175697265282764332d74696d6527292c2072657175697265282764332d74696d652d666f726d617427292c2072657175697265282764332d636f6c6f72272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179272c202764332d636f6c6c656374696f6e272c202764332d696e746572706f6c617465272c202764332d666f726d6174272c202764332d74696d65272c202764332d74696d652d666f726d6174272c202764332d636f6c6f72275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643341727261792c6433436f6c6c656374696f6e2c6433496e746572706f6c6174652c6433466f726d61742c643354696d652c643354696d65466f726d61742c6433436f6c6f7229207b202775736520737472696374273b0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a766172206d61702431203d2061727261792e6d61703b0a76617220736c696365203d2061727261792e736c6963653b0a0a76617220696d706c69636974203d207b6e616d653a2022696d706c69636974227d3b0a0a66756e6374696f6e206f7264696e616c2872616e676524243129207b0a202076617220696e646578203d206433436f6c6c656374696f6e2e6d617028292c0a202020202020646f6d61696e203d205b5d2c0a202020202020756e6b6e6f776e203d20696d706c696369743b0a0a202072616e6765242431203d2072616e6765242431203d3d206e756c6c203f205b5d203a20736c6963652e63616c6c2872616e6765242431293b0a0a202066756e6374696f6e207363616c65286429207b0a20202020766172206b6579203d2064202b2022222c2069203d20696e6465782e676574286b6579293b0a2020202069662028216929207b0a20202020202069662028756e6b6e6f776e20213d3d20696d706c69636974292072657475726e20756e6b6e6f776e3b0a202020202020696e6465782e736574286b65792c2069203d20646f6d61696e2e70757368286429293b0a202020207d0a2020202072657475726e2072616e67652424315b2869202d20312920252072616e67652424312e6c656e6774685d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d2c20696e646578203d206433436f6c6c656374696f6e2e6d617028293b0a202020207661722069203d202d312c206e203d205f2e6c656e6774682c20642c206b65793b0a202020207768696c6520282b2b69203c206e29206966202821696e6465782e686173286b6579203d202864203d205f5b695d29202b202222292920696e6465782e736574286b65792c20646f6d61696e2e70757368286429293b0a2020202072657475726e207363616c653b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c207363616c6529203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e756e6b6e6f776e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028756e6b6e6f776e203d205f2c207363616c6529203a20756e6b6e6f776e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206f7264696e616c28290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e756e6b6e6f776e28756e6b6e6f776e293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2062616e642829207b0a2020766172207363616c65203d206f7264696e616c28292e756e6b6e6f776e28756e646566696e6564292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a2020202020206f7264696e616c52616e6765203d207363616c652e72616e67652c0a20202020202072616e6765242431203d205b302c20315d2c0a202020202020737465702c0a20202020202062616e6477696474682c0a202020202020726f756e64203d2066616c73652c0a20202020202070616464696e67496e6e6572203d20302c0a20202020202070616464696e674f75746572203d20302c0a202020202020616c69676e203d20302e353b0a0a202064656c657465207363616c652e756e6b6e6f776e3b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020766172206e203d20646f6d61696e28292e6c656e6774682c0a202020202020202072657665727365203d2072616e67652424315b315d203c2072616e67652424315b305d2c0a20202020202020207374617274203d2072616e67652424315b72657665727365202d20305d2c0a202020202020202073746f70203d2072616e67652424315b31202d20726576657273655d3b0a2020202073746570203d202873746f70202d20737461727429202f204d6174682e6d617828312c206e202d2070616464696e67496e6e6572202b2070616464696e674f75746572202a2032293b0a2020202069662028726f756e64292073746570203d204d6174682e666c6f6f722873746570293b0a202020207374617274202b3d202873746f70202d207374617274202d2073746570202a20286e202d2070616464696e67496e6e65722929202a20616c69676e3b0a2020202062616e647769647468203d2073746570202a202831202d2070616464696e67496e6e6572293b0a2020202069662028726f756e6429207374617274203d204d6174682e726f756e64287374617274292c2062616e647769647468203d204d6174682e726f756e642862616e647769647468293b0a202020207661722076616c756573203d20643341727261792e72616e6765286e292e6d61702866756e6374696f6e286929207b2072657475726e207374617274202b2073746570202a20693b207d293b0a2020202072657475726e206f7264696e616c52616e67652872657665727365203f2076616c7565732e726576657273652829203a2076616c756573293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c20726f756e64203d20747275652c2072657363616c6528293b0a20207d3b0a0a20207363616c652e62616e647769647468203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6477696474683b0a20207d3b0a0a20207363616c652e73746570203d2066756e6374696f6e2829207b0a2020202072657475726e20737465703b0a20207d3b0a0a20207363616c652e726f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d2021215f2c2072657363616c65282929203a20726f756e643b0a20207d3b0a0a20207363616c652e70616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d2070616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e67496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e674f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e674f757465723b0a20207d3b0a0a20207363616c652e616c69676e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c69676e203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a20616c69676e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6428290a20202020202020202e646f6d61696e28646f6d61696e2829290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e726f756e6428726f756e64290a20202020202020202e70616464696e67496e6e65722870616464696e67496e6e6572290a20202020202020202e70616464696e674f757465722870616464696e674f75746572290a20202020202020202e616c69676e28616c69676e293b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e20706f696e74697368287363616c6529207b0a202076617220636f7079203d207363616c652e636f70793b0a0a20207363616c652e70616464696e67203d207363616c652e70616464696e674f757465723b0a202064656c657465207363616c652e70616464696e67496e6e65723b0a202064656c657465207363616c652e70616464696e674f757465723b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20706f696e7469736828636f70792829293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20706f696e742829207b0a202072657475726e20706f696e746973682862616e6428292e70616464696e67496e6e6572283129293b0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e287829207b0a202072657475726e202b783b0a7d3b0a0a76617220756e6974203d205b302c20315d3b0a0a66756e6374696f6e206465696e746572706f6c6174654c696e65617228612c206229207b0a202072657475726e202862202d3d202861203d202b6129290a2020202020203f2066756e6374696f6e287829207b2072657475726e202878202d206129202f20623b207d0a2020202020203a20636f6e7374616e742862293b0a7d0a0a66756e6374696f6e206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722064203d206465696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287829207b2072657475726e2078203c3d2061203f2030203a2078203e3d2062203f2031203a20642878293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465436c616d70287265696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722072203d207265696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2074203c3d2030203f2061203a2074203e3d2031203f2062203a20722874293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e2062696d617028646f6d61696e2c2072616e67652424312c206465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a2020766172206430203d20646f6d61696e5b305d2c206431203d20646f6d61696e5b315d2c207230203d2072616e67652424315b305d2c207231203d2072616e67652424315b315d3b0a2020696620286431203c20643029206430203d206465696e746572706f6c6174652864312c206430292c207230203d207265696e746572706f6c6174652872312c207230293b0a2020656c7365206430203d206465696e746572706f6c6174652864302c206431292c207230203d207265696e746572706f6c6174652872302c207231293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e207230286430287829293b207d3b0a7d0a0a66756e6374696f6e20706f6c796d617028646f6d61696e2c2072616e67652424312c206465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a2020766172206a203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e67746829202d20312c0a20202020202064203d206e6577204172726179286a292c0a20202020202072203d206e6577204172726179286a292c0a20202020202069203d202d313b0a0a20202f2f20526576657273652064657363656e64696e6720646f6d61696e732e0a202069662028646f6d61696e5b6a5d203c20646f6d61696e5b305d29207b0a20202020646f6d61696e203d20646f6d61696e2e736c69636528292e7265766572736528293b0a2020202072616e6765242431203d2072616e67652424312e736c69636528292e7265766572736528293b0a20207d0a0a20207768696c6520282b2b69203c206a29207b0a20202020645b695d203d206465696e746572706f6c61746528646f6d61696e5b695d2c20646f6d61696e5b69202b20315d293b0a20202020725b695d203d207265696e746572706f6c6174652872616e67652424315b695d2c2072616e67652424315b69202b20315d293b0a20207d0a0a202072657475726e2066756e6374696f6e287829207b0a202020207661722069203d20643341727261792e62697365637428646f6d61696e2c20782c20312c206a29202d20313b0a2020202072657475726e20725b695d28645b695d287829293b0a20207d3b0a7d0a0a66756e6374696f6e20636f707928736f757263652c2074617267657429207b0a202072657475726e207461726765740a2020202020202e646f6d61696e28736f757263652e646f6d61696e2829290a2020202020202e72616e676528736f757263652e72616e67652829290a2020202020202e696e746572706f6c61746528736f757263652e696e746572706f6c6174652829290a2020202020202e636c616d7028736f757263652e636c616d702829293b0a7d0a0a2f2f206465696e746572706f6c61746528612c2062292878292074616b6573206120646f6d61696e2076616c7565207820696e205b612c625d20616e642072657475726e732074686520636f72726573706f6e64696e6720706172616d65746572207420696e205b302c315d2e0a2f2f207265696e746572706f6c61746528612c2062292874292074616b6573206120706172616d65746572207420696e205b302c315d20616e642072657475726e732074686520636f72726573706f6e64696e6720646f6d61696e2076616c7565207820696e205b612c625d2e0a66756e6374696f6e20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a202076617220646f6d61696e203d20756e69742c0a20202020202072616e6765242431203d20756e69742c0a202020202020696e746572706f6c617465242431203d206433496e746572706f6c6174652e696e746572706f6c6174652c0a202020202020636c616d70203d2066616c73652c0a2020202020207069656365776973652c0a2020202020206f75747075742c0a202020202020696e7075743b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020706965636577697365203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e67746829203e2032203f20706f6c796d6170203a2062696d61703b0a202020206f7574707574203d20696e707574203d206e756c6c3b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e20286f7574707574207c7c20286f7574707574203d2070696563657769736528646f6d61696e2c2072616e67652424312c20636c616d70203f206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529203a206465696e746572706f6c6174652c20696e746572706f6c617465242431292929282b78293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e2028696e707574207c7c2028696e707574203d207069656365776973652872616e67652424312c20646f6d61696e2c206465696e746572706f6c6174654c696e6561722c20636c616d70203f207265696e746572706f6c617465436c616d70287265696e746572706f6c61746529203a207265696e746572706f6c617465292929282b79293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024312e63616c6c285f2c206e756d626572292c2072657363616c65282929203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d20736c6963652e63616c6c285f292c20696e746572706f6c617465242431203d206433496e746572706f6c6174652e696e746572706f6c617465526f756e642c2072657363616c6528293b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c2072657363616c65282929203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465242431203d205f2c2072657363616c65282929203a20696e746572706f6c6174652424313b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a766172207469636b466f726d6174203d2066756e6374696f6e28646f6d61696e2c20636f756e742c2073706563696669657229207b0a2020766172207374617274203d20646f6d61696e5b305d2c0a20202020202073746f70203d20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d2c0a20202020202073746570203d20643341727261792e7469636b537465702873746172742c2073746f702c20636f756e74203d3d206e756c6c203f203130203a20636f756e74292c0a202020202020707265636973696f6e3b0a2020737065636966696572203d206433466f726d61742e666f726d617453706563696669657228737065636966696572203d3d206e756c6c203f20222c6622203a20737065636966696572293b0a202073776974636820287370656369666965722e7479706529207b0a2020202063617365202273223a207b0a2020202020207661722076616c7565203d204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f7029293b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e50726566697828737465702c2076616c7565292929207370656369666965722e707265636973696f6e203d20707265636973696f6e3b0a20202020202072657475726e206433466f726d61742e666f726d6174507265666978287370656369666965722c2076616c7565293b0a202020207d0a20202020636173652022223a0a2020202063617365202265223a0a2020202063617365202267223a0a2020202063617365202270223a0a2020202063617365202272223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e526f756e6428737465702c204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f702929292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d20226522293b0a202020202020627265616b3b0a202020207d0a2020202063617365202266223a0a2020202063617365202225223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e46697865642873746570292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d2022252229202a20323b0a202020202020627265616b3b0a202020207d0a20207d0a202072657475726e206433466f726d61742e666f726d617428737065636966696572293b0a7d3b0a0a66756e6374696f6e206c696e656172697368287363616c6529207b0a202076617220646f6d61696e203d207363616c652e646f6d61696e3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e20643341727261792e7469636b7328645b305d2c20645b642e6c656e677468202d20315d2c20636f756e74203d3d206e756c6c203f203130203a20636f756e74293b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e207469636b466f726d617428646f6d61696e28292c20636f756e742c20737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28636f756e7429207b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a0a202020207661722064203d20646f6d61696e28292c0a20202020202020206930203d20302c0a20202020202020206931203d20642e6c656e677468202d20312c0a20202020202020207374617274203d20645b69305d2c0a202020202020202073746f70203d20645b69315d2c0a2020202020202020737465703b0a0a202020206966202873746f70203c20737461727429207b0a20202020202073746570203d2073746172742c207374617274203d2073746f702c2073746f70203d20737465703b0a20202020202073746570203d2069302c206930203d2069312c206931203d20737465703b0a202020207d0a0a2020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a0a202020206966202873746570203e203029207b0a2020202020207374617274203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a20202020202073746f70203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a20202020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d20656c7365206966202873746570203c203029207b0a2020202020207374617274203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a20202020202073746f70203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a20202020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d0a0a202020206966202873746570203e203029207b0a202020202020645b69305d203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a202020202020645b69315d203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a202020202020646f6d61696e2864293b0a202020207d20656c7365206966202873746570203c203029207b0a202020202020645b69305d203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a202020202020645b69315d203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a202020202020646f6d61696e2864293b0a202020207d0a0a2020202072657475726e207363616c653b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e206c696e6561722829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c206433496e746572706f6c6174652e696e746572706f6c6174654e756d626572293b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c696e6561722829293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206964656e746974792829207b0a202076617220646f6d61696e203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e202b783b0a20207d0a0a20207363616c652e696e76657274203d207363616c653b0a0a20207363616c652e646f6d61696e203d207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024312e63616c6c285f2c206e756d626572292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206964656e7469747928292e646f6d61696e28646f6d61696e293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a766172206e696365203d2066756e6374696f6e28646f6d61696e2c20696e74657276616c29207b0a2020646f6d61696e203d20646f6d61696e2e736c69636528293b0a0a2020766172206930203d20302c0a2020202020206931203d20646f6d61696e2e6c656e677468202d20312c0a2020202020207830203d20646f6d61696e5b69305d2c0a2020202020207831203d20646f6d61696e5b69315d2c0a202020202020743b0a0a2020696620287831203c20783029207b0a2020202074203d2069302c206930203d2069312c206931203d20743b0a2020202074203d2078302c207830203d2078312c207831203d20743b0a20207d0a0a2020646f6d61696e5b69305d203d20696e74657276616c2e666c6f6f72287830293b0a2020646f6d61696e5b69315d203d20696e74657276616c2e6365696c287831293b0a202072657475726e20646f6d61696e3b0a7d3b0a0a66756e6374696f6e206465696e746572706f6c61746528612c206229207b0a202072657475726e202862203d204d6174682e6c6f672862202f206129290a2020202020203f2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f672878202f206129202f20623b207d0a2020202020203a20636f6e7374616e742862293b0a7d0a0a66756e6374696f6e207265696e746572706f6c61746528612c206229207b0a202072657475726e2061203c20300a2020202020203f2066756e6374696f6e287429207b2072657475726e202d4d6174682e706f77282d622c207429202a204d6174682e706f77282d612c2031202d2074293b207d0a2020202020203a2066756e6374696f6e287429207b2072657475726e204d6174682e706f7728622c207429202a204d6174682e706f7728612c2031202d2074293b207d3b0a7d0a0a66756e6374696f6e20706f773130287829207b0a202072657475726e20697346696e697465287829203f202b2822316522202b207829203a2078203c2030203f2030203a20783b0a7d0a0a66756e6374696f6e20706f7770286261736529207b0a202072657475726e2062617365203d3d3d203130203f20706f7731300a2020202020203a2062617365203d3d3d204d6174682e45203f204d6174682e6578700a2020202020203a2066756e6374696f6e287829207b2072657475726e204d6174682e706f7728626173652c2078293b207d3b0a7d0a0a66756e6374696f6e206c6f6770286261736529207b0a202072657475726e2062617365203d3d3d204d6174682e45203f204d6174682e6c6f670a2020202020203a2062617365203d3d3d203130202626204d6174682e6c6f6731300a2020202020207c7c2062617365203d3d3d2032202626204d6174682e6c6f67320a2020202020207c7c202862617365203d204d6174682e6c6f672862617365292c2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f67287829202f20626173653b207d293b0a7d0a0a66756e6374696f6e207265666c656374286629207b0a202072657475726e2066756e6374696f6e287829207b0a2020202072657475726e202d66282d78293b0a20207d3b0a7d0a0a66756e6374696f6e206c6f672829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292e646f6d61696e285b312c2031305d292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a20202020202062617365203d2031302c0a2020202020206c6f6773203d206c6f6770283130292c0a202020202020706f7773203d20706f7770283130293b0a0a202066756e6374696f6e2072657363616c652829207b0a202020206c6f6773203d206c6f67702862617365292c20706f7773203d20706f77702862617365293b0a2020202069662028646f6d61696e28295b305d203c203029206c6f6773203d207265666c656374286c6f6773292c20706f7773203d207265666c65637428706f7773293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e62617365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202862617365203d202b5f2c2072657363616c65282929203a20626173653b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28292c0a202020202020202075203d20645b305d2c0a202020202020202076203d20645b642e6c656e677468202d20315d2c0a2020202020202020723b0a0a202020206966202872203d2076203c2075292069203d20752c2075203d20762c2076203d20693b0a0a202020207661722069203d206c6f67732875292c0a20202020202020206a203d206c6f67732876292c0a2020202020202020702c0a20202020202020206b2c0a2020202020202020742c0a20202020202020206e203d20636f756e74203d3d206e756c6c203f203130203a202b636f756e742c0a20202020202020207a203d205b5d3b0a0a20202020696620282128626173652025203129202626206a202d2069203c206e29207b0a20202020202069203d204d6174682e726f756e64286929202d20312c206a203d204d6174682e726f756e64286a29202b20313b0a2020202020206966202875203e20302920666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d20312c2070203d20706f77732869293b206b203c20626173653b202b2b6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d20656c736520666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d2062617365202d20312c2070203d20706f77732869293b206b203e3d20313b202d2d6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365207b0a2020202020207a203d20643341727261792e7469636b7328692c206a2c204d6174682e6d696e286a202d20692c206e29292e6d617028706f7773293b0a202020207d0a0a2020202072657475726e2072203f207a2e726576657273652829203a207a3b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202069662028737065636966696572203d3d206e756c6c2920737065636966696572203d2062617365203d3d3d203130203f20222e306522203a20222c223b0a2020202069662028747970656f662073706563696669657220213d3d202266756e6374696f6e222920737065636966696572203d206433466f726d61742e666f726d617428737065636966696572293b0a2020202069662028636f756e74203d3d3d20496e66696e697479292072657475726e207370656369666965723b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a20202020766172206b203d204d6174682e6d617828312c2062617365202a20636f756e74202f207363616c652e7469636b7328292e6c656e677468293b202f2f20544f444f206661737420657374696d6174653f0a2020202072657475726e2066756e6374696f6e286429207b0a2020202020207661722069203d2064202f20706f7773284d6174682e726f756e64286c6f677328642929293b0a2020202020206966202869202a2062617365203c2062617365202d20302e35292069202a3d20626173653b0a20202020202072657475726e2069203c3d206b203f20737065636966696572286429203a2022223b0a202020207d3b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e2829207b0a2020202072657475726e20646f6d61696e286e69636528646f6d61696e28292c207b0a202020202020666c6f6f723a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e666c6f6f72286c6f677328782929293b207d2c0a2020202020206365696c3a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e6365696c286c6f677328782929293b207d0a202020207d29293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c6f6728292e62617365286261736529293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20726169736528782c206578706f6e656e7429207b0a202072657475726e2078203c2030203f202d4d6174682e706f77282d782c206578706f6e656e7429203a204d6174682e706f7728782c206578706f6e656e74293b0a7d0a0a66756e6374696f6e20706f772829207b0a2020766172206578706f6e656e74203d20312c0a2020202020207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202066756e6374696f6e206465696e746572706f6c61746528612c206229207b0a2020202072657475726e202862203d20726169736528622c206578706f6e656e7429202d202861203d20726169736528612c206578706f6e656e742929290a20202020202020203f2066756e6374696f6e287829207b2072657475726e2028726169736528782c206578706f6e656e7429202d206129202f20623b207d0a20202020202020203a20636f6e7374616e742862293b0a20207d0a0a202066756e6374696f6e207265696e746572706f6c61746528612c206229207b0a2020202062203d20726169736528622c206578706f6e656e7429202d202861203d20726169736528612c206578706f6e656e7429293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2072616973652861202b2062202a20742c2031202f206578706f6e656e74293b207d3b0a20207d0a0a20207363616c652e6578706f6e656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286578706f6e656e74203d202b5f2c20646f6d61696e28646f6d61696e28292929203a206578706f6e656e743b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c20706f7728292e6578706f6e656e74286578706f6e656e7429293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20737172742829207b0a202072657475726e20706f7728292e6578706f6e656e7428302e35293b0a7d0a0a66756e6374696f6e207175616e74696c6524312829207b0a202076617220646f6d61696e203d205b5d2c0a20202020202072616e6765242431203d205b5d2c0a2020202020207468726573686f6c6473203d205b5d3b0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d20302c206e203d204d6174682e6d617828312c2072616e67652424312e6c656e677468293b0a202020207468726573686f6c6473203d206e6577204172726179286e202d2031293b0a202020207768696c6520282b2b69203c206e29207468726573686f6c64735b69202d20315d203d20643341727261792e7175616e74696c6528646f6d61696e2c2069202f206e293b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a20202020696620282169734e614e2878203d202b7829292072657475726e2072616e67652424315b643341727261792e626973656374287468726573686f6c64732c2078295d3b0a20207d0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d203a205b0a20202020202069203e2030203f207468726573686f6c64735b69202d20315d203a20646f6d61696e5b305d2c0a20202020202069203c207468726573686f6c64732e6c656e677468203f207468726573686f6c64735b695d203a20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d0a202020205d3b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d3b0a20202020666f7220287661722069203d20302c206e203d205f2e6c656e6774682c20643b2069203c206e3b202b2b6929206966202864203d205f5b695d2c206420213d206e756c6c202626202169734e614e2864203d202b64292920646f6d61696e2e707573682864293b0a20202020646f6d61696e2e736f727428643341727261792e617363656e64696e67293b0a2020202072657475726e2072657363616c6528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e7175616e74696c6573203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64732e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74696c65243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207175616e74697a652829207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206e203d20312c0a202020202020646f6d61696e203d205b302e355d2c0a20202020202072616e6765242431203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67652424315b643341727261792e62697365637428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d202d313b0a20202020646f6d61696e203d206e6577204172726179286e293b0a202020207768696c6520282b2b69203c206e2920646f6d61696e5b695d203d20282869202b203129202a207831202d202869202d206e29202a20783029202f20286e202b2031293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c2072657363616c65282929203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e203d202872616e6765242431203d20736c6963652e63616c6c285f29292e6c656e677468202d20312c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d0a20202020202020203a2069203c2031203f205b78302c20646f6d61696e5b305d5d0a20202020202020203a2069203e3d206e203f205b646f6d61696e5b6e202d20315d2c2078315d0a20202020202020203a205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74697a6528290a20202020202020202e646f6d61696e285b78302c2078315d290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207468726573686f6c642829207b0a202076617220646f6d61696e203d205b302e355d2c0a20202020202072616e6765242431203d205b302c20315d2c0a2020202020206e203d20313b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67652424315b643341727261792e62697365637428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20736c6963652e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e677468202d2031292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e677468202d2031292c207363616c6529203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c6428290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a766172206475726174696f6e5365636f6e64203d20313030303b0a766172206475726174696f6e4d696e757465203d206475726174696f6e5365636f6e64202a2036303b0a766172206475726174696f6e486f7572203d206475726174696f6e4d696e757465202a2036303b0a766172206475726174696f6e446179203d206475726174696f6e486f7572202a2032343b0a766172206475726174696f6e5765656b203d206475726174696f6e446179202a20373b0a766172206475726174696f6e4d6f6e7468203d206475726174696f6e446179202a2033303b0a766172206475726174696f6e59656172203d206475726174696f6e446179202a203336353b0a0a66756e6374696f6e2064617465287429207b0a202072657475726e206e657720446174652874293b0a7d0a0a66756e6374696f6e206e756d6265722431287429207b0a202072657475726e207420696e7374616e63656f662044617465203f202b74203a202b6e65772044617465282b74293b0a7d0a0a66756e6374696f6e2063616c656e64617228796561722c206d6f6e74682c207765656b2c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c20666f726d617424243129207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c206433496e746572706f6c6174652e696e746572706f6c6174654e756d626572292c0a202020202020696e76657274203d207363616c652e696e766572742c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202076617220666f726d61744d696c6c697365636f6e64203d20666f726d617424243128222e254c22292c0a202020202020666f726d61745365636f6e64203d20666f726d617424243128223a255322292c0a202020202020666f726d61744d696e757465203d20666f726d6174242431282225493a254d22292c0a202020202020666f726d6174486f7572203d20666f726d61742424312822254920257022292c0a202020202020666f726d6174446179203d20666f726d61742424312822256120256422292c0a202020202020666f726d61745765656b203d20666f726d61742424312822256220256422292c0a202020202020666f726d61744d6f6e7468203d20666f726d61742424312822254222292c0a202020202020666f726d617459656172203d20666f726d61742424312822255922293b0a0a2020766172207469636b496e74657276616c73203d205b0a202020205b7365636f6e642c2020312c2020202020206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2020352c202035202a206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2031352c203135202a206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2033302c203330202a206475726174696f6e5365636f6e645d2c0a202020205b6d696e7574652c2020312c2020202020206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2020352c202035202a206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2031352c203135202a206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2033302c203330202a206475726174696f6e4d696e7574655d2c0a202020205b2020686f75722c2020312c2020202020206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2020332c202033202a206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2020362c202036202a206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2031322c203132202a206475726174696f6e486f757220205d2c0a202020205b2020206461792c2020312c2020202020206475726174696f6e4461792020205d2c0a202020205b2020206461792c2020322c202032202a206475726174696f6e4461792020205d2c0a202020205b20207765656b2c2020312c2020202020206475726174696f6e5765656b20205d2c0a202020205b206d6f6e74682c2020312c2020202020206475726174696f6e4d6f6e7468205d2c0a202020205b206d6f6e74682c2020332c202033202a206475726174696f6e4d6f6e7468205d2c0a202020205b2020796561722c2020312c2020202020206475726174696f6e5965617220205d0a20205d3b0a0a202066756e6374696f6e207469636b466f726d6174286461746529207b0a2020202072657475726e20287365636f6e64286461746529203c2064617465203f20666f726d61744d696c6c697365636f6e640a20202020202020203a206d696e757465286461746529203c2064617465203f20666f726d61745365636f6e640a20202020202020203a20686f7572286461746529203c2064617465203f20666f726d61744d696e7574650a20202020202020203a20646179286461746529203c2064617465203f20666f726d6174486f75720a20202020202020203a206d6f6e7468286461746529203c2064617465203f20287765656b286461746529203c2064617465203f20666f726d6174446179203a20666f726d61745765656b290a20202020202020203a2079656172286461746529203c2064617465203f20666f726d61744d6f6e74680a20202020202020203a20666f726d617459656172292864617465293b0a20207d0a0a202066756e6374696f6e207469636b496e74657276616c28696e74657276616c2c2073746172742c2073746f702c207374657029207b0a2020202069662028696e74657276616c203d3d206e756c6c2920696e74657276616c203d2031303b0a0a202020202f2f20496620612064657369726564207469636b20636f756e74206973207370656369666965642c207069636b206120726561736f6e61626c65207469636b20696e74657276616c0a202020202f2f206261736564206f6e2074686520657874656e74206f662074686520646f6d61696e20616e64206120726f75676820657374696d617465206f66207469636b2073697a652e0a202020202f2f204f74686572776973652c20617373756d6520696e74657276616c20697320616c726561647920612074696d6520696e74657276616c20616e64207573652069742e0a2020202069662028747970656f6620696e74657276616c203d3d3d20226e756d6265722229207b0a20202020202076617220746172676574203d204d6174682e6162732873746f70202d20737461727429202f20696e74657276616c2c0a2020202020202020202069203d20643341727261792e6269736563746f722866756e6374696f6e286929207b2072657475726e20695b325d3b207d292e7269676874287469636b496e74657276616c732c20746172676574293b0a2020202020206966202869203d3d3d207469636b496e74657276616c732e6c656e67746829207b0a202020202020202073746570203d20643341727261792e7469636b53746570287374617274202f206475726174696f6e596561722c2073746f70202f206475726174696f6e596561722c20696e74657276616c293b0a2020202020202020696e74657276616c203d20796561723b0a2020202020207d20656c736520696620286929207b0a202020202020202069203d207469636b496e74657276616c735b746172676574202f207469636b496e74657276616c735b69202d20315d5b325d203c207469636b496e74657276616c735b695d5b325d202f20746172676574203f2069202d2031203a20695d3b0a202020202020202073746570203d20695b315d3b0a2020202020202020696e74657276616c203d20695b305d3b0a2020202020207d20656c7365207b0a202020202020202073746570203d204d6174682e6d617828643341727261792e7469636b537465702873746172742c2073746f702c20696e74657276616c292c2031293b0a2020202020202020696e74657276616c203d206d696c6c697365636f6e643b0a2020202020207d0a202020207d0a0a2020202072657475726e2073746570203d3d206e756c6c203f20696e74657276616c203a20696e74657276616c2e65766572792873746570293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e206e6577204461746528696e76657274287929293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20646f6d61696e286d617024312e63616c6c285f2c206e756d62657224312929203a20646f6d61696e28292e6d61702864617465293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28292c0a20202020202020207430203d20645b305d2c0a20202020202020207431203d20645b642e6c656e677468202d20315d2c0a202020202020202072203d207431203c2074302c0a2020202020202020743b0a202020206966202872292074203d2074302c207430203d2074312c207431203d20743b0a2020202074203d207469636b496e74657276616c28696e74657276616c2c2074302c2074312c2073746570293b0a2020202074203d2074203f20742e72616e67652874302c207431202b203129203a205b5d3b202f2f20696e636c75736976652073746f700a2020202072657475726e2072203f20742e726576657273652829203a20743b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e20737065636966696572203d3d206e756c6c203f207469636b466f726d6174203a20666f726d617424243128737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e2028696e74657276616c203d207469636b496e74657276616c28696e74657276616c2c20645b305d2c20645b642e6c656e677468202d20315d2c207374657029290a20202020202020203f20646f6d61696e286e69636528642c20696e74657276616c29290a20202020202020203a207363616c653b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c2063616c656e64617228796561722c206d6f6e74682c207765656b2c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c20666f726d617424243129293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a7661722074696d65203d2066756e6374696f6e2829207b0a202072657475726e2063616c656e64617228643354696d652e74696d65596561722c20643354696d652e74696d654d6f6e74682c20643354696d652e74696d655765656b2c20643354696d652e74696d654461792c20643354696d652e74696d65486f75722c20643354696d652e74696d654d696e7574652c20643354696d652e74696d655365636f6e642c20643354696d652e74696d654d696c6c697365636f6e642c20643354696d65466f726d61742e74696d65466f726d6174292e646f6d61696e285b6e6577204461746528323030302c20302c2031292c206e6577204461746528323030302c20302c2032295d293b0a7d3b0a0a7661722075746354696d65203d2066756e6374696f6e2829207b0a202072657475726e2063616c656e64617228643354696d652e757463596561722c20643354696d652e7574634d6f6e74682c20643354696d652e7574635765656b2c20643354696d652e7574634461792c20643354696d652e757463486f75722c20643354696d652e7574634d696e7574652c20643354696d652e7574635365636f6e642c20643354696d652e7574634d696c6c697365636f6e642c20643354696d65466f726d61742e757463466f726d6174292e646f6d61696e285b446174652e55544328323030302c20302c2031292c20446174652e55544328323030302c20302c2032295d293b0a7d3b0a0a76617220636f6c6f7273203d2066756e6374696f6e287329207b0a202072657475726e20732e6d61746368282f2e7b367d2f67292e6d61702866756e6374696f6e287829207b0a2020202072657475726e20222322202b20783b0a20207d293b0a7d3b0a0a7661722063617465676f72793130203d20636f6c6f7273282231663737623466663766306532636130326364363237323839343637626438633536346265333737633237663766376662636264323231376265636622293b0a0a7661722063617465676f7279323062203d20636f6c6f7273282233393362373935323534613336623665636639633965646536333739333938636132353262356366366263656462396338633664333162643965333965376261353265376362393438343363333961643439346164363631366265373936396337623431373361353531393463653664626464653965643622293b0a0a7661722063617465676f7279323063203d20636f6c6f7273282233313832626436626165643639656361653163366462656665363535306466643864336366646165366266646430613233316133353437346334373661316439396263376539633037353662623139653961633862636264646364616461656236333633363339363936393662646264626464396439643922293b0a0a7661722063617465676f72793230203d20636f6c6f7273282231663737623461656337653866663766306566666262373832636130326339386466386164363237323866663938393639343637626463356230643538633536346263343963393465333737633266376236643237663766376663376337633762636264323264626462386431376265636639656461653522293b0a0a766172206375626568656c69782431203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978283330302c20302e352c20302e30292c206433436f6c6f722e6375626568656c6978282d3234302c20302e352c20312e3029293b0a0a766172207761726d203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978282d3130302c20302e37352c20302e3335292c206433436f6c6f722e6375626568656c69782838302c20312e35302c20302e3829293b0a0a76617220636f6f6c203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978283236302c20302e37352c20302e3335292c206433436f6c6f722e6375626568656c69782838302c20312e35302c20302e3829293b0a0a766172207261696e626f77203d206433436f6c6f722e6375626568656c697828293b0a0a766172207261696e626f772431203d2066756e6374696f6e287429207b0a20206966202874203c2030207c7c2074203e2031292074202d3d204d6174682e666c6f6f722874293b0a2020766172207473203d204d6174682e6162732874202d20302e35293b0a20207261696e626f772e68203d20333630202a2074202d203130303b0a20207261696e626f772e73203d20312e35202d20312e35202a2074733b0a20207261696e626f772e6c203d20302e38202d20302e39202a2074733b0a202072657475726e207261696e626f77202b2022223b0a7d3b0a0a66756e6374696f6e2072616d702872616e676524243129207b0a2020766172206e203d2072616e67652424312e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2072616e67652424315b4d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a206e2929295d3b0a20207d3b0a7d0a0a7661722076697269646973203d2072616d7028636f6c6f727328223434303135343434303235363435303435373435303535393436303735613436303835633436306135643436306235653437306436303437306536313437313036333437313136343437313336353438313436373438313636383438313736393438313836613438316136633438316236643438316336653438316436663438316637303438323037313438323137333438323337343438323437353438323537363438323637373438323837383438323937393437326137613437326337613437326437623437326537633437326637643436333037653436333237653436333337663436333438303435333538313435333738313435333838323434333938333434336138333434336238343433336438343433336538353432336638353432343038363432343138363431343238373431343438373430343538383430343638383366343738383366343838393365343938393365346138393365346338613364346438613364346538613363346638613363353038623362353138623362353238623361353338623361353438633339353538633339353638633338353838633338353938633337356138633337356238643336356338643336356438643335356538643335356638643334363038643334363138643333363238643333363338643332363438653332363538653331363638653331363738653331363838653330363938653330366138653266366238653266366338653265366438653265366538653265366638653264373038653264373138653263373138653263373238653263373338653262373438653262373538653261373638653261373738653261373838653239373938653239376138653239376238653238376338653238376438653237376538653237376638653237383038653236383138653236383238653236383238653235383338653235383438653235383538653234383638653234383738653233383838653233383938653233386138643232386238643232386338643232386438643231386538643231386638643231393038643231393138633230393238633230393238633230393338633166393438633166393538623166393638623166393738623166393838623166393938613166396138613165396238613165396338393165396438393166396538393166396638383166613038383166613138383166613138373166613238373230613338363230613438363231613538353231613638353232613738353232613838343233613938333234616138333235616238323235616338323236616438313237616438313238616538303239616637663261623037663263623137653264623237643265623337633266623437633331623537623332623637613334623637393335623737393337623837383338623937373361626137363362626237353364626337343366626337333430626437323432626537313434626637303436633036663438633136653461633136643463633236633465633336623530633436613532633536393534633536383536633636373538633736353561633836343563633836333565633936323630636136303633636235663635636235653637636335633639636435623663636435613665636535383730636635373733643035363735643035343737643135333761643135313763643235303766643334653831643334643834643434623836643534393839643534383862643634363865643634353930643734333933643734313935643834303938643833653962643933633964643933626130646133396132646133376135646233366138646233346161646333326164646333306230646432666232646432646235646532626238646532396261646532386264646632366330646632356332646632336335653032316338653032306361653131666364653131646430653131636432653231626435653231616438653231396461653331396464653331386466653331386532653431386535653431396537653431396561653531616563653531626566653531636631653531646634653631656636653632306638653632316662653732336664653732352229293b0a0a766172206d61676d61203d2072616d7028636f6c6f727328223030303030343031303030353031303130363031303130383032303130393032303230623032303230643033303330663033303331323034303431343035303431363036303531383036303531613037303631633038303731653039303732303061303832323062303932343063303932363064306132393065306232623130306232643131306332663132306433313133306433343134306533363135306533383136306633623138306633643139313033663161313034323163313034343164313134373165313134393230313134623231313134653232313135303234313235333235313235353237313235383239313135613261313135633263313135663264313136313266313136333331313136353333313036373334313036393336313036623338313036633339306636653362306637303364306637313366306637323430306637343432306637353434306637363435313037373437313037383439313037383461313037393463313137613465313137623466313237623531313237633532313337633534313337643536313437643537313537653539313537653561313637653563313637663564313737663566313837663630313838303632313938303634316138303635316138303637316238303638316338313661316338313662316438313664316438313665316538313730316638313732316638313733323038313735323138313736323138313738323238313739323238323762323338323763323338323765323438323830323538323831323538313833323638313834323638313836323738313838323738313839323838313862323938313863323938313865326138313930326138313931326238313933326238303934326338303936326338303938326438303939326438303962326537663963326537663965326637666130326637666131333037656133333037656135333137656136333137646138333237646161333337646162333337636164333437636165333437626230333537626232333537626233333637616235333637616237333737396238333737396261333837386263333937386264333937376266336137376330336137366332336237356334336337356335336337346337336437336338336537336361336537326363336637316364343037316366343037306430343136666432343236666433343336656435343436646436343536636438343536636439343636626462343736616463343836396465343936386466346136386530346336376532346436366533346536356534346636346535353036346537353236336538353336326539353436326561353636316562353736306563353836306564356135666565356235656566356435656630356635656631363035646632363235646632363435636633363535636634363735636634363935636635366235636636366335636636366535636637373035636637373235636638373435636638373635636639373835646639373935646639376235646661376435656661376635656661383135666662383335666662383536306662383736316663383936316663386136326663386336336663386536346663393036356664393236366664393436376664393636386664393836396664396136616664396236626665396436636665396636646665613136656665613336666665613537316665613737326665613937336665616137346665616337366665616537376665623037386665623237616665623437626665623637636665623737656665623937666665626238316665626438326665626638346665633138356665633238376665633438386665633638616665633838636665636138646665636338666665636439306665636639326665643139346665643339356665643539376665643739396665643839616664646139636664646339656664646561306664653061316664653261336664653361356664653561376664653761396664653961616664656261636663656361656663656562306663663062326663663262346663663462366663663662386663663762396663663962626663666262646663666462662229293b0a0a76617220696e6665726e6f203d2072616d7028636f6c6f727328223030303030343031303030353031303130363031303130383032303130613032303230633032303230653033303231303034303331323034303331343035303431373036303431393037303531623038303531643039303631663061303732323062303732343063303832363064303832393065303932623130303932643131306133303132306133323134306233343135306233373136306233393138306333633139306333653162306334313163306334333165306334353166306334383231306334613233306334633234306334663236306335313238306235333239306235353262306235373264306235393266306135623331306135633332306135653334306135663336303936313338303936323339303936333362303936343364303936353365303936363430306136373432306136383434306136383435306136393437306236613439306236613461306336623463306336623464306436633466306436633531306536633532306536643534306636643535306636643537313036653539313036653561313136653563313236653564313236653566313336653631313336653632313436653634313536653635313536653637313636653639313636653661313736653663313836653664313836653666313936653731313936653732316136653734316136653735316236653737316336643738316336643761316436643763316436643764316536643766316536633830316636633832323036633834323036623835323136623837323136623838323236613861323236613863323336393864323336393866323436393930323536383932323536383933323636373935323636373937323736363938323736363961323836353962323936343964323936343966326136336130326136336132326236326133326336316135326336306136326436306138326535666139326535656162326635656164333035646165333035636230333135626231333235616233333235616234333335396236333435386237333535376239333535366261333635356263333735346264333835336266333935326330336135316331336135306333336234666334336334656336336434646337336534636338336634626361343034616362343134396363343234386365343334376366343434366430343534356432343634346433343734336434343834326435346134316437346233666438346333656439346433646461346533636462353033626464353133616465353233386466353333376530353533366531353633356532353733346533353933336534356133316535356333306536356432666537356532656538363032646539363132626561363332616562363432396562363632386563363732366564363932356565366132346566366332336566366532316630366632306631373131666631373331646632373431636633373631626633373831396634373931386635376231376635376431356636376531346636383031336637383231326637383431306638383530666638383730656638383930636639386230626639386330616639386530396661393030386661393230376661393430376662393630366662393730366662393930366662396230366662396430376663396630376663613130386663613330396663613530616663613630636663613830646663616130666663616331316663616531326663623031346663623231366663623431386662623631616662623831646662626131666662626332316662626532336661633032366661633232386661633432616661633632646639633732666639633933326639636233356638636433376638636633616637643133646637643334306636643534336636643734366635643934396635646234636634646434666634646635336634653135366633653335616633653535646632653636316632653836356632656136396631656336646631656437316631656637356631663137396632663237646632663438326633663538366633663638616634663838656635663939326636666139366638666239616639666339646661666461316663666661342229293b0a0a76617220706c61736d61203d2072616d7028636f6c6f727328223064303838373130303738383133303738393136303738613139303638633162303638643164303638653230303638663232303639303234303639313236303539313238303539323261303539333263303539343265303539353266303539363331303539373333303539373335303439383337303439393338303439613361303439613363303439623365303439633366303439633431303439643433303339653434303339653436303339663438303339663439303361303462303361313463303261313465303261323530303261323531303261333533303261333535303261343536303161343538303161343539303161353562303161353563303161363565303161363630303161363631303061373633303061373634303061373636303061373637303061383639303061383661303061383663303061383665303061383666303061383731303061383732303161383734303161383735303161383737303161383738303161383761303261383762303261383764303361383765303361383830303461383831303461373833303561373834303561373836303661363837303761363838303861363861303961353862306161353864306261353865306361343866306461343931306561333932306661333934313061323935313161313936313361313938313461303939313539663961313639663963313739653964313839643965313939646130316139636131316239626132316439616133316539616135316639396136323039386137323139376138323239366161323339356162323439346163323639346164323739336165323839326230323939316231326139306232326238666233326338656234326538646235326638636236333038626237333138616238333238396261333338386262333438386263333538376264333738366265333838356266333938346330336138336331336238326332336338316333336438306334336537666335343037656336343137646337343237636338343337626339343437616361343537616362343637396363343737386363343937376364346137366365346237356366346337346430346437336431346537326432346637316433353137316434353237306435353336666435353436656436353536646437353636636438353736626439353836616461356136616461356236396462356336386463356436376464356536366465356636356465363136346466363236336530363336336531363436326532363536316532363636306533363835666534363935656535366135646535366235646536366335636537366535626537366635616538373035396539373135386539373235376561373435376562373535366562373635356563373735346564373935336564376135326565376235316566376335316566376535306630376634666630383034656631383134646631383334636632383434626633383534626633383734616634383834396634383934386635386234376635386334366636386434356636386634346637393034346637393134336637393334326638393434316638393534306639393733666639393833656639396133656661396233646661396333636661396533626662396633616662613133396662613233386663613333386663613533376663613633366663613833356663613933346664616233336664616333336664616533326664616633316664623133306664623232666664623432666664623532656665623732646665623832636665626132636665626232626665626432616665626532616665633032396664633232396664633332386664633532376664633632376664633832376664636132366664636232366663636432356663636532356663643032356663643232356662643332346662643532346662643732346661643832346661646132346639646332346639646432356638646632356638653132356637653232356637653432356636653632366636653832366635653932366635656232376634656432376633656532376633663032376632663232376631663432366631663532356630663732346630663932312229293b0a0a66756e6374696f6e2073657175656e7469616c28696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d202878202d20783029202f20287831202d207830293b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c207363616c6529203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2073657175656e7469616c28696e746572706f6c61746f72292e646f6d61696e285b78302c2078315d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a6578706f7274732e7363616c6542616e64203d2062616e643b0a6578706f7274732e7363616c65506f696e74203d20706f696e743b0a6578706f7274732e7363616c654964656e74697479203d206964656e746974793b0a6578706f7274732e7363616c654c696e656172203d206c696e6561723b0a6578706f7274732e7363616c654c6f67203d206c6f673b0a6578706f7274732e7363616c654f7264696e616c203d206f7264696e616c3b0a6578706f7274732e7363616c65496d706c69636974203d20696d706c696369743b0a6578706f7274732e7363616c65506f77203d20706f773b0a6578706f7274732e7363616c6553717274203d20737172743b0a6578706f7274732e7363616c655175616e74696c65203d207175616e74696c6524313b0a6578706f7274732e7363616c655175616e74697a65203d207175616e74697a653b0a6578706f7274732e7363616c655468726573686f6c64203d207468726573686f6c643b0a6578706f7274732e7363616c6554696d65203d2074696d653b0a6578706f7274732e7363616c65557463203d2075746354696d653b0a6578706f7274732e736368656d6543617465676f72793130203d2063617465676f727931303b0a6578706f7274732e736368656d6543617465676f7279323062203d2063617465676f72793230623b0a6578706f7274732e736368656d6543617465676f7279323063203d2063617465676f72793230633b0a6578706f7274732e736368656d6543617465676f72793230203d2063617465676f727932303b0a6578706f7274732e696e746572706f6c6174654375626568656c697844656661756c74203d206375626568656c697824313b0a6578706f7274732e696e746572706f6c6174655261696e626f77203d207261696e626f7724313b0a6578706f7274732e696e746572706f6c6174655761726d203d207761726d3b0a6578706f7274732e696e746572706f6c617465436f6f6c203d20636f6f6c3b0a6578706f7274732e696e746572706f6c61746556697269646973203d20766972696469733b0a6578706f7274732e696e746572706f6c6174654d61676d61203d206d61676d613b0a6578706f7274732e696e746572706f6c617465496e6665726e6f203d20696e6665726e6f3b0a6578706f7274732e696e746572706f6c617465506c61736d61203d20706c61736d613b0a6578706f7274732e7363616c6553657175656e7469616c203d2073657175656e7469616c3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33392c2264332d636f6c6c656374696f6e223a34332c2264332d636f6c6f72223a34342c2264332d666f726d6174223a35302c2264332d696e746572706f6c617465223a35332c2264332d74696d65223a36342c2264332d74696d652d666f726d6174223a36337d5d2c36313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d73656c656374696f6e2f2056657273696f6e20312e322e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207868746d6c203d2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c223b0a0a766172206e616d65737061636573203d207b0a20207376673a2022687474703a2f2f7777772e77332e6f72672f323030302f737667222c0a20207868746d6c3a207868746d6c2c0a2020786c696e6b3a2022687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222c0a2020786d6c3a2022687474703a2f2f7777772e77332e6f72672f584d4c2f313939382f6e616d657370616365222c0a2020786d6c6e733a2022687474703a2f2f7777772e77332e6f72672f323030302f786d6c6e732f220a7d3b0a0a766172206e616d657370616365203d2066756e6374696f6e286e616d6529207b0a202076617220707265666978203d206e616d65202b3d2022222c2069203d207072656669782e696e6465784f6628223a22293b0a20206966202869203e3d20302026262028707265666978203d206e616d652e736c69636528302c2069292920213d3d2022786d6c6e732229206e616d65203d206e616d652e736c6963652869202b2031293b0a202072657475726e206e616d657370616365732e6861734f776e50726f70657274792870726566697829203f207b73706163653a206e616d657370616365735b7072656669785d2c206c6f63616c3a206e616d657d203a206e616d653b0a7d3b0a0a66756e6374696f6e2063726561746f72496e6865726974286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220646f63756d656e74203d20746869732e6f776e6572446f63756d656e742c0a2020202020202020757269203d20746869732e6e616d6573706163655552493b0a2020202072657475726e20757269203d3d3d207868746d6c20262620646f63756d656e742e646f63756d656e74456c656d656e742e6e616d657370616365555249203d3d3d207868746d6c0a20202020202020203f20646f63756d656e742e637265617465456c656d656e74286e616d65290a20202020202020203a20646f63756d656e742e637265617465456c656d656e744e53287572692c206e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f7246697865642866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6f776e6572446f63756d656e742e637265617465456c656d656e744e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a7661722063726561746f72203d2066756e6374696f6e286e616d6529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e202866756c6c6e616d652e6c6f63616c0a2020202020203f2063726561746f7246697865640a2020202020203a2063726561746f72496e6865726974292866756c6c6e616d65293b0a7d3b0a0a766172206e6578744964203d20303b0a0a66756e6374696f6e206c6f63616c2829207b0a202072657475726e206e6577204c6f63616c3b0a7d0a0a66756e6374696f6e204c6f63616c2829207b0a2020746869732e5f203d20224022202b20282b2b6e6578744964292e746f537472696e67283336293b0a7d0a0a4c6f63616c2e70726f746f74797065203d206c6f63616c2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204c6f63616c2c0a20206765743a2066756e6374696f6e286e6f646529207b0a20202020766172206964203d20746869732e5f3b0a202020207768696c6520282128696420696e206e6f64652929206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a2020202072657475726e206e6f64655b69645d3b0a20207d2c0a20207365743a2066756e6374696f6e286e6f64652c2076616c756529207b0a2020202072657475726e206e6f64655b746869732e5f5d203d2076616c75653b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a2020202072657475726e20746869732e5f20696e206e6f64652026262064656c657465206e6f64655b746869732e5f5d3b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a766172206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6d6174636865732873656c6563746f72293b0a20207d3b0a7d3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e74203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a20206966202821656c656d656e742e6d61746368657329207b0a202020207661722076656e646f724d617463686573203d20656c656d656e742e7765626b69744d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d734d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d6f7a4d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6f4d61746368657353656c6563746f723b0a202020206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076656e646f724d6174636865732e63616c6c28746869732c2073656c6563746f72293b0a2020202020207d3b0a202020207d3b0a20207d0a7d0a0a766172206d6174636865722431203d206d6174636865723b0a0a7661722066696c7465724576656e7473203d207b7d3b0a0a6578706f7274732e6576656e74203d206e756c6c3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e742431203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a2020696620282128226f6e6d6f757365656e7465722220696e20656c656d656e7424312929207b0a2020202066696c7465724576656e7473203d207b6d6f757365656e7465723a20226d6f7573656f766572222c206d6f7573656c656176653a20226d6f7573656f7574227d3b0a20207d0a7d0a0a66756e6374696f6e2066696c746572436f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a20206c697374656e6572203d20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f7570293b0a202072657475726e2066756e6374696f6e286576656e7429207b0a202020207661722072656c61746564203d206576656e742e72656c617465645461726765743b0a20202020696620282172656c61746564207c7c202872656c6174656420213d3d207468697320262620212872656c617465642e636f6d70617265446f63756d656e74506f736974696f6e28746869732920262038292929207b0a2020202020206c697374656e65722e63616c6c28746869732c206576656e74293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a202072657475726e2066756e6374696f6e286576656e743129207b0a20202020766172206576656e7430203d206578706f7274732e6576656e743b202f2f204576656e74732063616e206265207265656e7472616e742028652e672e2c20666f637573292e0a202020206578706f7274732e6576656e74203d206576656e74313b0a20202020747279207b0a2020202020206c697374656e65722e63616c6c28746869732c20746869732e5f5f646174615f5f2c20696e6465782c2067726f7570293b0a202020207d2066696e616c6c79207b0a2020202020206578706f7274732e6576656e74203d206576656e74303b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a66756e6374696f6e206f6e52656d6f766528747970656e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172206f6e203d20746869732e5f5f6f6e3b0a2020202069662028216f6e292072657475726e3b0a20202020666f722028766172206a203d20302c2069203d202d312c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020696620286f203d206f6e5b6a5d2c202821747970656e616d652e74797065207c7c206f2e74797065203d3d3d20747970656e616d652e7479706529202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020207d20656c7365207b0a20202020202020206f6e5b2b2b695d203d206f3b0a2020202020207d0a202020207d0a20202020696620282b2b6929206f6e2e6c656e677468203d20693b0a20202020656c73652064656c65746520746869732e5f5f6f6e3b0a20207d3b0a7d0a0a66756e6374696f6e206f6e41646428747970656e616d652c2076616c75652c206361707475726529207b0a20207661722077726170203d2066696c7465724576656e74732e6861734f776e50726f706572747928747970656e616d652e7479706529203f2066696c746572436f6e746578744c697374656e6572203a20636f6e746578744c697374656e65723b0a202072657475726e2066756e6374696f6e28642c20692c2067726f757029207b0a20202020766172206f6e203d20746869732e5f5f6f6e2c206f2c206c697374656e6572203d20777261702876616c75652c20692c2067726f7570293b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020202069662028286f203d206f6e5b6a5d292e74797065203d3d3d20747970656e616d652e74797065202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020202020746869732e6164644576656e744c697374656e6572286f2e747970652c206f2e6c697374656e6572203d206c697374656e65722c206f2e63617074757265203d2063617074757265293b0a20202020202020206f2e76616c7565203d2076616c75653b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a20202020746869732e6164644576656e744c697374656e657228747970656e616d652e747970652c206c697374656e65722c2063617074757265293b0a202020206f203d207b747970653a20747970656e616d652e747970652c206e616d653a20747970656e616d652e6e616d652c2076616c75653a2076616c75652c206c697374656e65723a206c697374656e65722c20636170747572653a20636170747572657d3b0a2020202069662028216f6e2920746869732e5f5f6f6e203d205b6f5d3b0a20202020656c7365206f6e2e70757368286f293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f6f6e203d2066756e6374696f6e28747970656e616d652c2076616c75652c206361707475726529207b0a202076617220747970656e616d6573203d207061727365547970656e616d657328747970656e616d65202b202222292c20692c206e203d20747970656e616d65732e6c656e6774682c20743b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206f6e203d20746869732e6e6f646528292e5f5f6f6e3b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020666f72202869203d20302c206f203d206f6e5b6a5d3b2069203c206e3b202b2b6929207b0a2020202020202020696620282874203d20747970656e616d65735b695d292e74797065203d3d3d206f2e7479706520262620742e6e616d65203d3d3d206f2e6e616d6529207b0a2020202020202020202072657475726e206f2e76616c75653b0a20202020202020207d0a2020202020207d0a202020207d0a2020202072657475726e3b0a20207d0a0a20206f6e203d2076616c7565203f206f6e416464203a206f6e52656d6f76653b0a20206966202863617074757265203d3d206e756c6c292063617074757265203d2066616c73653b0a2020666f72202869203d20303b2069203c206e3b202b2b692920746869732e65616368286f6e28747970656e616d65735b695d2c2076616c75652c206361707475726529293b0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20637573746f6d4576656e74286576656e74312c206c697374656e65722c20746861742c206172677329207b0a2020766172206576656e7430203d206578706f7274732e6576656e743b0a20206576656e74312e736f757263654576656e74203d206578706f7274732e6576656e743b0a20206578706f7274732e6576656e74203d206576656e74313b0a2020747279207b0a2020202072657475726e206c697374656e65722e6170706c7928746861742c2061726773293b0a20207d2066696e616c6c79207b0a202020206578706f7274732e6576656e74203d206576656e74303b0a20207d0a7d0a0a76617220736f757263654576656e74203d2066756e6374696f6e2829207b0a20207661722063757272656e74203d206578706f7274732e6576656e742c20736f757263653b0a20207768696c652028736f75726365203d2063757272656e742e736f757263654576656e74292063757272656e74203d20736f757263653b0a202072657475726e2063757272656e743b0a7d3b0a0a76617220706f696e74203d2066756e6374696f6e286e6f64652c206576656e7429207b0a202076617220737667203d206e6f64652e6f776e6572535647456c656d656e74207c7c206e6f64653b0a0a2020696620287376672e637265617465535647506f696e7429207b0a2020202076617220706f696e74203d207376672e637265617465535647506f696e7428293b0a20202020706f696e742e78203d206576656e742e636c69656e74582c20706f696e742e79203d206576656e742e636c69656e74593b0a20202020706f696e74203d20706f696e742e6d61747269785472616e73666f726d286e6f64652e67657453637265656e43544d28292e696e76657273652829293b0a2020202072657475726e205b706f696e742e782c20706f696e742e795d3b0a20207d0a0a20207661722072656374203d206e6f64652e676574426f756e64696e67436c69656e745265637428293b0a202072657475726e205b6576656e742e636c69656e7458202d20726563742e6c656674202d206e6f64652e636c69656e744c6566742c206576656e742e636c69656e7459202d20726563742e746f70202d206e6f64652e636c69656e74546f705d3b0a7d3b0a0a766172206d6f757365203d2066756e6374696f6e286e6f646529207b0a2020766172206576656e74203d20736f757263654576656e7428293b0a2020696620286576656e742e6368616e676564546f756368657329206576656e74203d206576656e742e6368616e676564546f75636865735b305d3b0a202072657475726e20706f696e74286e6f64652c206576656e74293b0a7d3b0a0a66756e6374696f6e206e6f6e652829207b7d0a0a7661722073656c6563746f72203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f206e6f6e65203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f722873656c6563746f72293b0a20207d3b0a7d3b0a0a7661722073656c656374696f6e5f73656c656374203d2066756e6374696f6e2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e20656d7074792829207b0a202072657475726e205b5d3b0a7d0a0a7661722073656c6563746f72416c6c203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f20656d707479203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20207d3b0a7d3b0a0a7661722073656c656374696f6e5f73656c656374416c6c203d2066756e6374696f6e2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202073756267726f7570732e707573682873656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f757029293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f66696c746572203d2066756e6374696f6e286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a76617220737061727365203d2066756e6374696f6e2875706461746529207b0a202072657475726e206e6577204172726179287570646174652e6c656e677468293b0a7d3b0a0a7661722073656c656374696f6e5f656e746572203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f656e746572207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e20456e7465724e6f646528706172656e742c20646174756d29207b0a2020746869732e6f776e6572446f63756d656e74203d20706172656e742e6f776e6572446f63756d656e743b0a2020746869732e6e616d657370616365555249203d20706172656e742e6e616d6573706163655552493b0a2020746869732e5f6e657874203d206e756c6c3b0a2020746869732e5f706172656e74203d20706172656e743b0a2020746869732e5f5f646174615f5f203d20646174756d3b0a7d0a0a456e7465724e6f64652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20456e7465724e6f64652c0a2020617070656e644368696c643a2066756e6374696f6e286368696c6429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c20746869732e5f6e657874293b207d2c0a2020696e736572744265666f72653a2066756e6374696f6e286368696c642c206e65787429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c206e657874293b207d2c0a2020717565727953656c6563746f723a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f722873656c6563746f72293b207d2c0a2020717565727953656c6563746f72416c6c3a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b207d0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206b6579507265666978203d202224223b202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a0a66756e6374696f6e2062696e64496e64657828706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c206461746129207b0a20207661722069203d20302c0a2020202020206e6f64652c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774683b0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f64657320746861742066697420696e746f207570646174652e0a20202f2f2050757420616e79206e756c6c206e6f64657320696e746f20656e7465722e0a20202f2f2050757420616e792072656d61696e696e67206461746120696e746f20656e7465722e0a2020666f7220283b2069203c20646174614c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020207570646174655b695d203d206e6f64653b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f646573207468617420646f6ee28099742066697420696e746f20657869742e0a2020666f7220283b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2062696e644b657928706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c20646174612c206b657929207b0a202076617220692c0a2020202020206e6f64652c0a2020202020206e6f646542794b657956616c7565203d207b7d2c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020206b657956616c756573203d206e65772041727261792867726f75704c656e677468292c0a2020202020206b657956616c75653b0a0a20202f2f20436f6d7075746520746865206b657920666f722065616368206e6f64652e0a20202f2f204966206d756c7469706c65206e6f6465732068617665207468652073616d65206b65792c20746865206475706c6963617465732061726520616464656420746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206b657956616c7565735b695d203d206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020202020696620286b657956616c756520696e206e6f646542794b657956616c756529207b0a2020202020202020657869745b695d203d206e6f64653b0a2020202020207d20656c7365207b0a20202020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a20202f2f20436f6d7075746520746865206b657920666f72206561636820646174756d2e0a20202f2f2049662074686572652061206e6f6465206173736f63696174656420776974682074686973206b65792c206a6f696e20616e642061646420697420746f207570646174652e0a20202f2f204966207468657265206973206e6f7420286f7220746865206b65792069732061206475706c6963617465292c2061646420697420746f20656e7465722e0a2020666f72202869203d20303b2069203c20646174614c656e6774683b202b2b6929207b0a202020206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c28706172656e742c20646174615b695d2c20692c2064617461293b0a20202020696620286e6f6465203d206e6f646542794b657956616c75655b6b657956616c75655d29207b0a2020202020207570646174655b695d203d206e6f64653b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e756c6c3b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2041646420616e792072656d61696e696e67206e6f64657320746861742077657265206e6f7420626f756e6420746f206461746120746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a2020202069662028286e6f6465203d2067726f75705b695d2920262620286e6f646542794b657956616c75655b6b657956616c7565735b695d5d203d3d3d206e6f64652929207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a7661722073656c656374696f6e5f64617461203d2066756e6374696f6e2876616c75652c206b657929207b0a2020696620282176616c756529207b0a2020202064617461203d206e657720417272617928746869732e73697a652829292c206a203d202d313b0a20202020746869732e656163682866756e6374696f6e286429207b20646174615b2b2b6a5d203d20643b207d293b0a2020202072657475726e20646174613b0a20207d0a0a20207661722062696e64203d206b6579203f2062696e644b6579203a2062696e64496e6465782c0a202020202020706172656e7473203d20746869732e5f706172656e74732c0a20202020202067726f757073203d20746869732e5f67726f7570733b0a0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e22292076616c7565203d20636f6e7374616e742876616c7565293b0a0a2020666f722028766172206d203d2067726f7570732e6c656e6774682c20757064617465203d206e6577204172726179286d292c20656e746572203d206e6577204172726179286d292c2065786974203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a2020202076617220706172656e74203d20706172656e74735b6a5d2c0a202020202020202067726f7570203d2067726f7570735b6a5d2c0a202020202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020202064617461203d2076616c75652e63616c6c28706172656e742c20706172656e7420262620706172656e742e5f5f646174615f5f2c206a2c20706172656e7473292c0a2020202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020202020656e74657247726f7570203d20656e7465725b6a5d203d206e657720417272617928646174614c656e677468292c0a202020202020202075706461746547726f7570203d207570646174655b6a5d203d206e657720417272617928646174614c656e677468292c0a20202020202020206578697447726f7570203d20657869745b6a5d203d206e65772041727261792867726f75704c656e677468293b0a0a2020202062696e6428706172656e742c2067726f75702c20656e74657247726f75702c2075706461746547726f75702c206578697447726f75702c20646174612c206b6579293b0a0a202020202f2f204e6f7720636f6e6e6563742074686520656e746572206e6f64657320746f20746865697220666f6c6c6f77696e6720757064617465206e6f64652c207375636820746861740a202020202f2f20617070656e644368696c642063616e20696e7365727420746865206d6174657269616c697a656420656e746572206e6f6465206265666f72652074686973206e6f64652c0a202020202f2f20726174686572207468616e2061742074686520656e64206f662074686520706172656e74206e6f64652e0a20202020666f722028766172206930203d20302c206931203d20302c2070726576696f75732c206e6578743b206930203c20646174614c656e6774683b202b2b693029207b0a2020202020206966202870726576696f7573203d20656e74657247726f75705b69305d29207b0a2020202020202020696620286930203e3d20693129206931203d206930202b20313b0a20202020202020207768696c65202821286e657874203d2075706461746547726f75705b69315d29202626202b2b6931203c20646174614c656e677468293b0a202020202020202070726576696f75732e5f6e657874203d206e657874207c7c206e756c6c3b0a2020202020207d0a202020207d0a20207d0a0a2020757064617465203d206e65772053656c656374696f6e287570646174652c20706172656e7473293b0a20207570646174652e5f656e746572203d20656e7465723b0a20207570646174652e5f65786974203d20657869743b0a202072657475726e207570646174653b0a7d3b0a0a7661722073656c656374696f6e5f65786974203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f65786974207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f6d65726765203d2066756e6374696f6e2873656c656374696f6e29207b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d2073656c656374696f6e2e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e65772053656c656374696f6e286d65726765732c20746869732e5f706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f6f72646572203d2066756e6374696f6e2829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d202d312c206d203d2067726f7570732e6c656e6774683b202b2b6a203c206d3b29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d2067726f75702e6c656e677468202d20312c206e657874203d2067726f75705b695d2c206e6f64653b202d2d69203e3d20303b29207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020696620286e657874202626206e65787420213d3d206e6f64652e6e6578745369626c696e6729206e6578742e706172656e744e6f64652e696e736572744265666f7265286e6f64652c206e657874293b0a20202020202020206e657874203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a7661722073656c656374696f6e5f736f7274203d2066756e6374696f6e28636f6d7061726529207b0a20206966202821636f6d706172652920636f6d70617265203d20617363656e64696e673b0a0a202066756e6374696f6e20636f6d706172654e6f646528612c206229207b0a2020202072657475726e20612026262062203f20636f6d7061726528612e5f5f646174615f5f2c20622e5f5f646174615f5f29203a202161202d2021623b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c20736f727467726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c20736f727467726f7570203d20736f727467726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020736f727467726f75705b695d203d206e6f64653b0a2020202020207d0a202020207d0a20202020736f727467726f75702e736f727428636f6d706172654e6f6465293b0a20207d0a0a202072657475726e206e65772053656c656374696f6e28736f727467726f7570732c20746869732e5f706172656e7473292e6f7264657228293b0a7d3b0a0a66756e6374696f6e20617363656e64696e6728612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a7661722073656c656374696f6e5f63616c6c203d2066756e6374696f6e2829207b0a20207661722063616c6c6261636b203d20617267756d656e74735b305d3b0a2020617267756d656e74735b305d203d20746869733b0a202063616c6c6261636b2e6170706c79286e756c6c2c20617267756d656e7473293b0a202072657475726e20746869733b0a7d3b0a0a7661722073656c656374696f6e5f6e6f646573203d2066756e6374696f6e2829207b0a2020766172206e6f646573203d206e657720417272617928746869732e73697a652829292c2069203d202d313b0a2020746869732e656163682866756e6374696f6e2829207b206e6f6465735b2b2b695d203d20746869733b207d293b0a202072657475726e206e6f6465733b0a7d3b0a0a7661722073656c656374696f6e5f6e6f6465203d2066756e6374696f6e2829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d2067726f75705b695d3b0a202020202020696620286e6f6465292072657475726e206e6f64653b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a7661722073656c656374696f6e5f73697a65203d2066756e6374696f6e2829207b0a20207661722073697a65203d20303b0a2020746869732e656163682866756e6374696f6e2829207b202b2b73697a653b207d293b0a202072657475726e2073697a653b0a7d3b0a0a7661722073656c656374696f6e5f656d707479203d2066756e6374696f6e2829207b0a202072657475726e2021746869732e6e6f646528293b0a7d3b0a0a7661722073656c656374696f6e5f65616368203d2066756e6374696f6e2863616c6c6261636b29207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d292063616c6c6261636b2e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e736574417474726962757465286e616d652c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f7665417474726962757465286e616d65293b0a20202020656c736520746869732e736574417474726962757465286e616d652c2076293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20202020656c736520746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f61747472203d2066756e6374696f6e286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206e6f6465203d20746869732e6e6f646528293b0a2020202072657475726e2066756c6c6e616d652e6c6f63616c0a20202020202020203f206e6f64652e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c290a20202020202020203a206e6f64652e6765744174747269627574652866756c6c6e616d65293b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f766529203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e742929292866756c6c6e616d652c2076616c756529293b0a7d3b0a0a7661722064656661756c7456696577203d2066756e6374696f6e286e6f646529207b0a202072657475726e20286e6f64652e6f776e6572446f63756d656e74202626206e6f64652e6f776e6572446f63756d656e742e64656661756c745669657729202f2f206e6f64652069732061204e6f64650a2020202020207c7c20286e6f64652e646f63756d656e74202626206e6f646529202f2f206e6f646520697320612057696e646f770a2020202020207c7c206e6f64652e64656661756c74566965773b202f2f206e6f6465206973206120446f63756d656e740a7d3b0a0a66756e6374696f6e207374796c6552656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e73657450726f7065727479286e616d652c2076616c75652c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20202020656c736520746869732e7374796c652e73657450726f7065727479286e616d652c20762c207072696f72697479293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f7374796c65203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020202020202020203f207374796c6552656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020202020202020203f207374796c6546756e6374696f6e0a2020202020202020202020203a207374796c65436f6e7374616e7429286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929290a2020202020203a207374796c6556616c756528746869732e6e6f646528292c206e616d65293b0a7d3b0a0a66756e6374696f6e207374796c6556616c7565286e6f64652c206e616d6529207b0a202072657475726e206e6f64652e7374796c652e67657450726f706572747956616c7565286e616d65290a2020202020207c7c2064656661756c7456696577286e6f6465292e676574436f6d70757465645374796c65286e6f64652c206e756c6c292e67657450726f706572747956616c7565286e616d65293b0a7d0a0a66756e6374696f6e2070726f706572747952656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202064656c65746520746869735b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e2070726f7065727479436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869735b6e616d655d203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2070726f706572747946756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c292064656c65746520746869735b6e616d655d3b0a20202020656c736520746869735b6e616d655d203d20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f70726f7065727479203d2066756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a202020202020202020203f2070726f706572747952656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2070726f706572747946756e6374696f6e0a202020202020202020203a2070726f7065727479436f6e7374616e7429286e616d652c2076616c756529290a2020202020203a20746869732e6e6f646528295b6e616d655d3b0a7d3b0a0a66756e6374696f6e20636c617373417272617928737472696e6729207b0a202072657475726e20737472696e672e7472696d28292e73706c6974282f5e7c5c732b2f293b0a7d0a0a66756e6374696f6e20636c6173734c697374286e6f646529207b0a202072657475726e206e6f64652e636c6173734c697374207c7c206e657720436c6173734c697374286e6f6465293b0a7d0a0a66756e6374696f6e20436c6173734c697374286e6f646529207b0a2020746869732e5f6e6f6465203d206e6f64653b0a2020746869732e5f6e616d6573203d20636c6173734172726179286e6f64652e6765744174747269627574652822636c6173732229207c7c202222293b0a7d0a0a436c6173734c6973742e70726f746f74797065203d207b0a20206164643a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203c203029207b0a202020202020746869732e5f6e616d65732e70757368286e616d65293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203e3d203029207b0a202020202020746869732e5f6e616d65732e73706c69636528692c2031293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a2020636f6e7461696e733a2066756e6374696f6e286e616d6529207b0a2020202072657475726e20746869732e5f6e616d65732e696e6465784f66286e616d6529203e3d20303b0a20207d0a7d3b0a0a66756e6374696f6e20636c6173736564416464286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e616464286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656452656d6f7665286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e72656d6f7665286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656454727565286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656441646428746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446616c7365286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656452656d6f766528746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446756e6374696f6e286e616d65732c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020202876616c75652e6170706c7928746869732c20617267756d656e747329203f20636c6173736564416464203a20636c617373656452656d6f76652928746869732c206e616d6573293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f636c6173736564203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206e616d6573203d20636c6173734172726179286e616d65202b202222293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206c697374203d20636c6173734c69737428746869732e6e6f64652829292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028216c6973742e636f6e7461696e73286e616d65735b695d29292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d0a0a202072657475726e20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f20636c617373656446756e6374696f6e203a2076616c75650a2020202020203f20636c6173736564547275650a2020202020203a20636c617373656446616c736529286e616d65732c2076616c756529293b0a7d3b0a0a66756e6374696f6e207465787452656d6f76652829207b0a2020746869732e74657874436f6e74656e74203d2022223b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e74657874436f6e74656e74203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f74657874203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f207465787452656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207465787446756e6374696f6e0a202020202020202020203a2074657874436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e74657874436f6e74656e743b0a7d3b0a0a66756e6374696f6e2068746d6c52656d6f76652829207b0a2020746869732e696e6e657248544d4c203d2022223b0a7d0a0a66756e6374696f6e2068746d6c436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e696e6e657248544d4c203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2068746d6c46756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e696e6e657248544d4c203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f68746d6c203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f2068746d6c52656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2068746d6c46756e6374696f6e0a202020202020202020203a2068746d6c436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e696e6e657248544d4c3b0a7d3b0a0a66756e6374696f6e2072616973652829207b0a202069662028746869732e6e6578745369626c696e672920746869732e706172656e744e6f64652e617070656e644368696c642874686973293b0a7d0a0a7661722073656c656374696f6e5f7261697365203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368287261697365293b0a7d3b0a0a66756e6374696f6e206c6f7765722829207b0a202069662028746869732e70726576696f75735369626c696e672920746869732e706172656e744e6f64652e696e736572744265666f726528746869732c20746869732e706172656e744e6f64652e66697273744368696c64293b0a7d0a0a7661722073656c656374696f6e5f6c6f776572203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368286c6f776572293b0a7d3b0a0a7661722073656c656374696f6e5f617070656e64203d2066756e6374696f6e286e616d6529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e617070656e644368696c64286372656174652e6170706c7928746869732c20617267756d656e747329293b0a20207d293b0a7d3b0a0a66756e6374696f6e20636f6e7374616e744e756c6c2829207b0a202072657475726e206e756c6c3b0a7d0a0a7661722073656c656374696f6e5f696e73657274203d2066756e6374696f6e286e616d652c206265666f726529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65292c0a20202020202073656c656374203d206265666f7265203d3d206e756c6c203f20636f6e7374616e744e756c6c203a20747970656f66206265666f7265203d3d3d202266756e6374696f6e22203f206265666f7265203a2073656c6563746f72286265666f7265293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e696e736572744265666f7265286372656174652e6170706c7928746869732c20617267756d656e7473292c2073656c6563742e6170706c7928746869732c20617267756d656e747329207c7c206e756c6c293b0a20207d293b0a7d3b0a0a66756e6374696f6e2072656d6f76652829207b0a202076617220706172656e74203d20746869732e706172656e744e6f64653b0a202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a7d0a0a7661722073656c656374696f6e5f72656d6f7665203d2066756e6374696f6e2829207b0a202072657475726e20746869732e656163682872656d6f7665293b0a7d3b0a0a7661722073656c656374696f6e5f646174756d203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e70726f706572747928225f5f646174615f5f222c2076616c7565290a2020202020203a20746869732e6e6f646528292e5f5f646174615f5f3b0a7d3b0a0a66756e6374696f6e2064697370617463684576656e74286e6f64652c20747970652c20706172616d7329207b0a20207661722077696e646f77203d2064656661756c7456696577286e6f6465292c0a2020202020206576656e74203d2077696e646f772e437573746f6d4576656e743b0a0a202069662028747970656f66206576656e74203d3d3d202266756e6374696f6e2229207b0a202020206576656e74203d206e6577206576656e7428747970652c20706172616d73293b0a20207d20656c7365207b0a202020206576656e74203d2077696e646f772e646f63756d656e742e6372656174654576656e7428224576656e7422293b0a2020202069662028706172616d7329206576656e742e696e69744576656e7428747970652c20706172616d732e627562626c65732c20706172616d732e63616e63656c61626c65292c206576656e742e64657461696c203d20706172616d732e64657461696c3b0a20202020656c7365206576656e742e696e69744576656e7428747970652c2066616c73652c2066616c7365293b0a20207d0a0a20206e6f64652e64697370617463684576656e74286576656e74293b0a7d0a0a66756e6374696f6e206469737061746368436f6e7374616e7428747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d73293b0a20207d3b0a7d0a0a66756e6374696f6e20646973706174636846756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d732e6170706c7928746869732c20617267756d656e747329293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f6469737061746368203d2066756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e20746869732e656163682828747970656f6620706172616d73203d3d3d202266756e6374696f6e220a2020202020203f20646973706174636846756e6374696f6e0a2020202020203a206469737061746368436f6e7374616e742928747970652c20706172616d7329293b0a7d3b0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a66756e6374696f6e2053656c656374696f6e2867726f7570732c20706172656e747329207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a7d0a0a66756e6374696f6e2073656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e285b5b646f63756d656e742e646f63756d656e74456c656d656e745d5d2c20726f6f74293b0a7d0a0a53656c656374696f6e2e70726f746f74797065203d2073656c656374696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2053656c656374696f6e2c0a202073656c6563743a2073656c656374696f6e5f73656c6563742c0a202073656c656374416c6c3a2073656c656374696f6e5f73656c656374416c6c2c0a202066696c7465723a2073656c656374696f6e5f66696c7465722c0a2020646174613a2073656c656374696f6e5f646174612c0a2020656e7465723a2073656c656374696f6e5f656e7465722c0a2020657869743a2073656c656374696f6e5f657869742c0a20206d657267653a2073656c656374696f6e5f6d657267652c0a20206f726465723a2073656c656374696f6e5f6f726465722c0a2020736f72743a2073656c656374696f6e5f736f72742c0a202063616c6c3a2073656c656374696f6e5f63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f6e6f64652c0a202073697a653a2073656c656374696f6e5f73697a652c0a2020656d7074793a2073656c656374696f6e5f656d7074792c0a2020656163683a2073656c656374696f6e5f656163682c0a2020617474723a2073656c656374696f6e5f617474722c0a20207374796c653a2073656c656374696f6e5f7374796c652c0a202070726f70657274793a2073656c656374696f6e5f70726f70657274792c0a2020636c61737365643a2073656c656374696f6e5f636c61737365642c0a2020746578743a2073656c656374696f6e5f746578742c0a202068746d6c3a2073656c656374696f6e5f68746d6c2c0a202072616973653a2073656c656374696f6e5f72616973652c0a20206c6f7765723a2073656c656374696f6e5f6c6f7765722c0a2020617070656e643a2073656c656374696f6e5f617070656e642c0a2020696e736572743a2073656c656374696f6e5f696e736572742c0a202072656d6f76653a2073656c656374696f6e5f72656d6f76652c0a2020646174756d3a2073656c656374696f6e5f646174756d2c0a20206f6e3a2073656c656374696f6e5f6f6e2c0a202064697370617463683a2073656c656374696f6e5f64697370617463680a7d3b0a0a7661722073656c656374203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b5b646f63756d656e742e717565727953656c6563746f722873656c6563746f72295d5d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b5b73656c6563746f725d5d2c20726f6f74293b0a7d3b0a0a7661722073656c656374416c6c203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72295d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b73656c6563746f72203d3d206e756c6c203f205b5d203a2073656c6563746f725d2c20726f6f74293b0a7d3b0a0a76617220746f756368203d2066756e6374696f6e286e6f64652c20746f75636865732c206964656e74696669657229207b0a202069662028617267756d656e74732e6c656e677468203c203329206964656e746966696572203d20746f75636865732c20746f7563686573203d20736f757263654576656e7428292e6368616e676564546f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20746f7563683b2069203c206e3b202b2b6929207b0a202020206966202828746f756368203d20746f75636865735b695d292e6964656e746966696572203d3d3d206964656e74696669657229207b0a20202020202072657475726e20706f696e74286e6f64652c20746f756368293b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a76617220746f7563686573203d2066756e6374696f6e286e6f64652c20746f756368657329207b0a202069662028746f7563686573203d3d206e756c6c2920746f7563686573203d20736f757263654576656e7428292e746f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20706f696e7473203d206e6577204172726179286e293b2069203c206e3b202b2b6929207b0a20202020706f696e74735b695d203d20706f696e74286e6f64652c20746f75636865735b695d293b0a20207d0a0a202072657475726e20706f696e74733b0a7d3b0a0a6578706f7274732e63726561746f72203d2063726561746f723b0a6578706f7274732e6c6f63616c203d206c6f63616c3b0a6578706f7274732e6d617463686572203d206d61746368657224313b0a6578706f7274732e6d6f757365203d206d6f7573653b0a6578706f7274732e6e616d657370616365203d206e616d6573706163653b0a6578706f7274732e6e616d65737061636573203d206e616d657370616365733b0a6578706f7274732e636c69656e74506f696e74203d20706f696e743b0a6578706f7274732e73656c656374203d2073656c6563743b0a6578706f7274732e73656c656374416c6c203d2073656c656374416c6c3b0a6578706f7274732e73656c656374696f6e203d2073656c656374696f6e3b0a6578706f7274732e73656c6563746f72203d2073656c6563746f723b0a6578706f7274732e73656c6563746f72416c6c203d2073656c6563746f72416c6c3b0a6578706f7274732e7374796c65203d207374796c6556616c75653b0a6578706f7274732e746f756368203d20746f7563683b0a6578706f7274732e746f7563686573203d20746f75636865733b0a6578706f7274732e77696e646f77203d2064656661756c74566965773b0a6578706f7274732e637573746f6d4576656e74203d20637573746f6d4576656e743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d73686170652f2056657273696f6e20312e322e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d70617468272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d70617468275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c64335061746829207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e20636f6e7374616e742829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f73203d204d6174682e636f733b0a766172206d6178203d204d6174682e6d61783b0a766172206d696e203d204d6174682e6d696e3b0a7661722073696e203d204d6174682e73696e3b0a7661722073717274203d204d6174682e737172743b0a0a76617220657073696c6f6e203d2031652d31323b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220746175203d2032202a2070693b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f207069203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e3d2031203f2068616c665069203a2078203c3d202d31203f202d68616c665069203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20617263496e6e6572526164697573286429207b0a202072657475726e20642e696e6e65725261646975733b0a7d0a0a66756e6374696f6e206172634f75746572526164697573286429207b0a202072657475726e20642e6f757465725261646975733b0a7d0a0a66756e6374696f6e206172635374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e20617263456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20617263506164416e676c65286429207b0a202072657475726e206420262620642e706164416e676c653b202f2f204e6f74653a206f7074696f6e616c210a7d0a0a66756e6374696f6e20696e746572736563742878302c2079302c2078312c2079312c2078322c2079322c2078332c20793329207b0a202076617220783130203d207831202d2078302c20793130203d207931202d2079302c0a202020202020783332203d207833202d2078322c20793332203d207933202d2079322c0a20202020202074203d2028783332202a20287930202d20793229202d20793332202a20287830202d2078322929202f2028793332202a20783130202d20783332202a20793130293b0a202072657475726e205b7830202b2074202a207831302c207930202b2074202a207931305d3b0a7d0a0a2f2f20436f6d707574652070657270656e646963756c6172206f6666736574206c696e65206f66206c656e6774682072632e0a2f2f20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f436972636c652d4c696e65496e74657273656374696f6e2e68746d6c0a66756e6374696f6e20636f726e657254616e67656e74732878302c2079302c2078312c2079312c2072312c2072632c20637729207b0a202076617220783031203d207830202d2078312c0a202020202020793031203d207930202d2079312c0a2020202020206c6f203d20286377203f207263203a202d726329202f207371727428783031202a20783031202b20793031202a20793031292c0a2020202020206f78203d206c6f202a207930312c0a2020202020206f79203d202d6c6f202a207830312c0a202020202020783131203d207830202b206f782c0a202020202020793131203d207930202b206f792c0a202020202020783130203d207831202b206f782c0a202020202020793130203d207931202b206f792c0a202020202020783030203d2028783131202b2078313029202f20322c0a202020202020793030203d2028793131202b2079313029202f20322c0a2020202020206478203d20783130202d207831312c0a2020202020206479203d20793130202d207931312c0a2020202020206432203d206478202a206478202b206479202a2064792c0a20202020202072203d207231202d2072632c0a20202020202044203d20783131202a20793130202d20783130202a207931312c0a20202020202064203d20286479203c2030203f202d31203a203129202a2073717274286d617828302c2072202a2072202a206432202d2044202a204429292c0a202020202020637830203d202844202a206479202d206478202a206429202f2064322c0a202020202020637930203d20282d44202a206478202d206479202a206429202f2064322c0a202020202020637831203d202844202a206479202b206478202a206429202f2064322c0a202020202020637931203d20282d44202a206478202b206479202a206429202f2064322c0a202020202020647830203d20637830202d207830302c0a202020202020647930203d20637930202d207930302c0a202020202020647831203d20637831202d207830302c0a202020202020647931203d20637931202d207930303b0a0a20202f2f205069636b2074686520636c6f736572206f66207468652074776f20696e74657273656374696f6e20706f696e74732e0a20202f2f20544f444f2049732074686572652061206661737465722077617920746f2064657465726d696e6520776869636820696e74657273656374696f6e20746f207573653f0a202069662028647830202a20647830202b20647930202a20647930203e20647831202a20647831202b20647931202a206479312920637830203d206378312c20637930203d206379313b0a0a202072657475726e207b0a2020202063783a206378302c0a2020202063793a206379302c0a202020207830313a202d6f782c0a202020207930313a202d6f792c0a202020207831313a20637830202a20287231202f2072202d2031292c0a202020207931313a20637930202a20287231202f2072202d2031290a20207d3b0a7d0a0a76617220617263203d2066756e6374696f6e2829207b0a202076617220696e6e6572526164697573203d20617263496e6e65725261646975732c0a2020202020206f75746572526164697573203d206172634f757465725261646975732c0a202020202020636f726e6572526164697573203d20636f6e7374616e742830292c0a202020202020706164526164697573203d206e756c6c2c0a2020202020207374617274416e676c65203d206172635374617274416e676c652c0a202020202020656e64416e676c65203d20617263456e64416e676c652c0a202020202020706164416e676c65203d20617263506164416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206172632829207b0a20202020766172206275666665722c0a2020202020202020722c0a20202020202020207230203d202b696e6e65725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020207231203d202b6f757465725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206130203d207374617274416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c6650692c0a20202020202020206131203d20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c6650692c0a20202020202020206461203d20616273286131202d206130292c0a20202020202020206377203d206131203e2061303b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a0a202020202f2f20456e73757265207468617420746865206f757465722072616469757320697320616c77617973206c6172676572207468616e2074686520696e6e6572207261646975732e0a20202020696620287231203c207230292072203d2072312c207231203d2072302c207230203d20723b0a0a202020202f2f204973206974206120706f696e743f0a202020206966202821287231203e20657073696c6f6e292920636f6e746578742e6d6f7665546f28302c2030293b0a0a202020202f2f204f72206973206974206120636972636c65206f7220616e6e756c75733f0a20202020656c736520696620286461203e20746175202d20657073696c6f6e29207b0a202020202020636f6e746578742e6d6f7665546f287231202a20636f73286130292c207231202a2073696e28613029293b0a202020202020636f6e746578742e61726328302c20302c2072312c2061302c2061312c20216377293b0a202020202020696620287230203e20657073696c6f6e29207b0a2020202020202020636f6e746578742e6d6f7665546f287230202a20636f73286131292c207230202a2073696e28613129293b0a2020202020202020636f6e746578742e61726328302c20302c2072302c2061312c2061302c206377293b0a2020202020207d0a202020207d0a0a202020202f2f204f7220697320697420612063697263756c6172206f7220616e6e756c617220736563746f723f0a20202020656c7365207b0a20202020202076617220613031203d2061302c0a20202020202020202020613131203d2061312c0a20202020202020202020613030203d2061302c0a20202020202020202020613130203d2061312c0a20202020202020202020646130203d2064612c0a20202020202020202020646131203d2064612c0a202020202020202020206170203d20706164416e676c652e6170706c7928746869732c20617267756d656e747329202f20322c0a202020202020202020207270203d20286170203e20657073696c6f6e292026262028706164526164697573203f202b7061645261646975732e6170706c7928746869732c20617267756d656e747329203a2073717274287230202a207230202b207231202a20723129292c0a202020202020202020207263203d206d696e28616273287231202d20723029202f20322c202b636f726e65725261646975732e6170706c7928746869732c20617267756d656e747329292c0a20202020202020202020726330203d2072632c0a20202020202020202020726331203d2072632c0a2020202020202020202074302c0a2020202020202020202074313b0a0a2020202020202f2f204170706c792070616464696e673f204e6f746520746861742073696e636520723120e289a52072302c2064613120e289a5206461302e0a202020202020696620287270203e20657073696c6f6e29207b0a2020202020202020766172207030203d206173696e287270202f207230202a2073696e28617029292c0a2020202020202020202020207031203d206173696e287270202f207231202a2073696e28617029293b0a20202020202020206966202828646130202d3d207030202a203229203e20657073696c6f6e29207030202a3d20286377203f2031203a202d31292c20613030202b3d2070302c20613130202d3d2070303b0a2020202020202020656c736520646130203d20302c20613030203d20613130203d20286130202b20613129202f20323b0a20202020202020206966202828646131202d3d207031202a203229203e20657073696c6f6e29207031202a3d20286377203f2031203a202d31292c20613031202b3d2070312c20613131202d3d2070313b0a2020202020202020656c736520646131203d20302c20613031203d20613131203d20286130202b20613129202f20323b0a2020202020207d0a0a20202020202076617220783031203d207231202a20636f7328613031292c0a20202020202020202020793031203d207231202a2073696e28613031292c0a20202020202020202020783130203d207230202a20636f7328613130292c0a20202020202020202020793130203d207230202a2073696e28613130293b0a0a2020202020202f2f204170706c7920726f756e64656420636f726e6572733f0a202020202020696620287263203e20657073696c6f6e29207b0a202020202020202076617220783131203d207231202a20636f7328613131292c0a202020202020202020202020793131203d207231202a2073696e28613131292c0a202020202020202020202020783030203d207230202a20636f7328613030292c0a202020202020202020202020793030203d207230202a2073696e28613030293b0a0a20202020202020202f2f2052657374726963742074686520636f726e657220726164697573206163636f7264696e6720746f2074686520736563746f7220616e676c652e0a2020202020202020696620286461203c20706929207b0a20202020202020202020766172206f63203d20646130203e20657073696c6f6e203f20696e74657273656374287830312c207930312c207830302c207930302c207831312c207931312c207831302c2079313029203a205b7831302c207931305d2c0a20202020202020202020202020206178203d20783031202d206f635b305d2c0a20202020202020202020202020206179203d20793031202d206f635b315d2c0a20202020202020202020202020206278203d20783131202d206f635b305d2c0a20202020202020202020202020206279203d20793131202d206f635b315d2c0a20202020202020202020202020206b63203d2031202f2073696e2861636f7328286178202a206278202b206179202a20627929202f202873717274286178202a206178202b206179202a20617929202a2073717274286278202a206278202b206279202a206279292929202f2032292c0a20202020202020202020202020206c63203d2073717274286f635b305d202a206f635b305d202b206f635b315d202a206f635b315d293b0a20202020202020202020726330203d206d696e2872632c20287230202d206c6329202f20286b63202d203129293b0a20202020202020202020726331203d206d696e2872632c20287231202d206c6329202f20286b63202b203129293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f2049732074686520736563746f7220636f6c6c617073656420746f2061206c696e653f0a202020202020696620282128646131203e20657073696c6f6e292920636f6e746578742e6d6f7665546f287830312c20793031293b0a0a2020202020202f2f20446f65732074686520736563746f72e2809973206f757465722072696e67206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726331203e20657073696c6f6e29207b0a20202020202020207430203d20636f726e657254616e67656e7473287830302c207930302c207830312c207930312c2072312c207263312c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287831312c207931312c207831302c207931302c2072312c207263312c206377293b0a0a2020202020202020636f6e746578742e6d6f7665546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726331203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e322874302e7930312c2074302e783031292c206174616e322874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e322874302e7930312c2074302e783031292c206174616e322874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072312c206174616e322874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e322874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c20216377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263312c206174616e322874312e7931312c2074312e783131292c206174616e322874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f7220697320746865206f757465722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e6d6f7665546f287830312c20793031292c20636f6e746578742e61726328302c20302c2072312c206130312c206131312c20216377293b0a0a2020202020202f2f204973207468657265206e6f20696e6e65722072696e672c20616e64206974e280997320612063697263756c617220736563746f723f0a2020202020202f2f204f722070657268617073206974e280997320616e20616e6e756c617220736563746f7220636f6c6c61707365642064756520746f2070616464696e673f0a2020202020206966202821287230203e20657073696c6f6e29207c7c202128646130203e20657073696c6f6e292920636f6e746578742e6c696e65546f287831302c20793130293b0a0a2020202020202f2f20446f65732074686520736563746f72e280997320696e6e65722072696e6720286f7220706f696e7429206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726330203e20657073696c6f6e29207b0a20202020202020207430203d20636f726e657254616e67656e7473287831302c207931302c207831312c207931312c2072302c202d7263302c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287830312c207930312c207830302c207930302c2072302c202d7263302c206377293b0a0a2020202020202020636f6e746578742e6c696e65546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726330203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e322874302e7930312c2074302e783031292c206174616e322874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e322874302e7930312c2074302e783031292c206174616e322874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072302c206174616e322874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e322874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c206377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263302c206174616e322874312e7931312c2074312e783131292c206174616e322874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f722069732074686520696e6e65722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e61726328302c20302c2072302c206131302c206130302c206377293b0a202020207d0a0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206172632e63656e74726f6964203d2066756e6374696f6e2829207b0a202020207661722072203d20282b696e6e65725261646975732e6170706c7928746869732c20617267756d656e747329202b202b6f757465725261646975732e6170706c7928746869732c20617267756d656e74732929202f20322c0a202020202020202061203d20282b7374617274416e676c652e6170706c7928746869732c20617267756d656e747329202b202b656e64416e676c652e6170706c7928746869732c20617267756d656e74732929202f2032202d207069202f20323b0a2020202072657475726e205b636f73286129202a20722c2073696e286129202a20725d3b0a20207d3b0a0a20206172632e696e6e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e6e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20696e6e65725261646975733b0a20207d3b0a0a20206172632e6f75746572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f75746572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a206f757465725261646975733b0a20207d3b0a0a20206172632e636f726e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f726e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20636f726e65725261646975733b0a20207d3b0a0a20206172632e706164526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164526164697573203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a207061645261646975733b0a20207d3b0a0a20206172632e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a207374617274416e676c653b0a20207d3b0a0a20206172632e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20656e64416e676c653b0a20207d3b0a0a20206172632e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20706164416e676c653b0a20207d3b0a0a20206172632e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c2061726329203a20636f6e746578743b0a20207d3b0a0a202072657475726e206172633b0a7d3b0a0a66756e6374696f6e204c696e65617228636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e6561722e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a20746869732e5f636f6e746578742e6c696e65546f28782c2079293b20627265616b3b0a202020207d0a20207d0a7d3b0a0a7661722063757276654c696e656172203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204c696e65617228636f6e74657874293b0a7d3b0a0a66756e6374696f6e2078287029207b0a202072657475726e20705b305d3b0a7d0a0a66756e6374696f6e2079287029207b0a202072657475726e20705b315d3b0a7d0a0a766172206c696e65203d2066756e6374696f6e2829207b0a20207661722078242431203d20782c0a20202020202079242431203d20792c0a202020202020646566696e6564203d20636f6e7374616e742874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e206c696e65286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665723b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d206433506174682e706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029206f75747075742e6c696e65537461727428293b0a2020202020202020656c7365206f75747075742e6c696e65456e6428293b0a2020202020207d0a20202020202069662028646566696e65643029206f75747075742e706f696e74282b7824243128642c20692c2064617461292c202b7924243128642c20692c206461746129293b0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6529203a20782424313b0a20207d3b0a0a20206c696e652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6529203a20792424313b0a20207d3b0a0a20206c696e652e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206c696e6529203a20646566696e65643b0a20207d3b0a0a20206c696e652e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206c696e6529203a2063757276653b0a20207d3b0a0a20206c696e652e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206c696e6529203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e653b0a7d3b0a0a7661722061726561203d2066756e6374696f6e2829207b0a2020766172207830203d20782c0a2020202020207831203d206e756c6c2c0a2020202020207930203d20636f6e7374616e742830292c0a2020202020207931203d20792c0a202020202020646566696e6564203d20636f6e7374616e742874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e2061726561286461746129207b0a2020202076617220692c0a20202020202020206a2c0a20202020202020206b2c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665722c0a202020202020202078307a203d206e6577204172726179286e292c0a202020202020202079307a203d206e6577204172726179286e293b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d206433506174682e706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029207b0a202020202020202020206a203d20693b0a202020202020202020206f75747075742e61726561537461727428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020207d20656c7365207b0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020202020666f7220286b203d2069202d20313b206b203e3d206a3b202d2d6b29207b0a2020202020202020202020206f75747075742e706f696e742878307a5b6b5d2c2079307a5b6b5d293b0a202020202020202020207d0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e61726561456e6428293b0a20202020202020207d0a2020202020207d0a20202020202069662028646566696e65643029207b0a202020202020202078307a5b695d203d202b783028642c20692c2064617461292c2079307a5b695d203d202b793028642c20692c2064617461293b0a20202020202020206f75747075742e706f696e74287831203f202b783128642c20692c206461746129203a2078307a5b695d2c207931203f202b793128642c20692c206461746129203a2079307a5b695d293b0a2020202020207d0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202066756e6374696f6e20617265616c696e652829207b0a2020202072657475726e206c696e6528292e646566696e656428646566696e6564292e6375727665286375727665292e636f6e7465787428636f6e74657874293b0a20207d0a0a2020617265612e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207831203d206e756c6c2c206172656129203a2078303b0a20207d3b0a0a2020617265612e7830203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2078303b0a20207d3b0a0a2020617265612e7831203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287831203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2078313b0a20207d3b0a0a2020617265612e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207931203d206e756c6c2c206172656129203a2079303b0a20207d3b0a0a2020617265612e7930203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2079303b0a20207d3b0a0a2020617265612e7931203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287931203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2079313b0a20207d3b0a0a2020617265612e6c696e655830203d0a2020617265612e6c696e655930203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287930293b0a20207d3b0a0a2020617265612e6c696e655931203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287931293b0a20207d3b0a0a2020617265612e6c696e655831203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287831292e79287930293b0a20207d3b0a0a2020617265612e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206172656129203a20646566696e65643b0a20207d3b0a0a2020617265612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206172656129203a2063757276653b0a20207d3b0a0a2020617265612e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206172656129203a20636f6e746578743b0a20207d3b0a0a202072657475726e20617265613b0a7d3b0a0a7661722064657363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e286429207b0a202072657475726e20643b0a7d3b0a0a76617220706965203d2066756e6374696f6e2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020736f727456616c756573203d2064657363656e64696e672c0a202020202020736f7274203d206e756c6c2c0a2020202020207374617274416e676c65203d20636f6e7374616e742830292c0a202020202020656e64416e676c65203d20636f6e7374616e7428746175292c0a202020202020706164416e676c65203d20636f6e7374616e742830293b0a0a202066756e6374696f6e20706965286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a20202020202020206a2c0a20202020202020206b2c0a202020202020202073756d203d20302c0a2020202020202020696e646578203d206e6577204172726179286e292c0a202020202020202061726373203d206e6577204172726179286e292c0a20202020202020206130203d202b7374617274416e676c652e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206461203d204d6174682e6d696e287461752c204d6174682e6d6178282d7461752c20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d20613029292c0a202020202020202061312c0a202020202020202070203d204d6174682e6d696e284d6174682e61627328646129202f206e2c20706164416e676c652e6170706c7928746869732c20617267756d656e747329292c0a20202020202020207061203d2070202a20286461203c2030203f202d31203a2031292c0a2020202020202020763b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020696620282876203d20617263735b696e6465785b695d203d20695d203d202b76616c756528646174615b695d2c20692c20646174612929203e203029207b0a202020202020202073756d202b3d20763b0a2020202020207d0a202020207d0a0a202020202f2f204f7074696f6e616c6c7920736f72742074686520617263732062792070726576696f75736c792d636f6d70757465642076616c756573206f7220627920646174612e0a2020202069662028736f727456616c75657320213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727456616c75657328617263735b695d2c20617263735b6a5d293b207d293b0a20202020656c73652069662028736f727420213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727428646174615b695d2c20646174615b6a5d293b207d293b0a0a202020202f2f20436f6d70757465207468652061726373212054686579206172652073746f72656420696e20746865206f726967696e616c20646174612773206f726465722e0a20202020666f72202869203d20302c206b203d2073756d203f20286461202d206e202a20706129202f2073756d203a20303b2069203c206e3b202b2b692c206130203d20613129207b0a2020202020206a203d20696e6465785b695d2c2076203d20617263735b6a5d2c206131203d206130202b202876203e2030203f2076202a206b203a203029202b2070612c20617263735b6a5d203d207b0a2020202020202020646174613a20646174615b6a5d2c0a2020202020202020696e6465783a20692c0a202020202020202076616c75653a20762c0a20202020202020207374617274416e676c653a2061302c0a2020202020202020656e64416e676c653a2061312c0a2020202020202020706164416e676c653a20700a2020202020207d3b0a202020207d0a0a2020202072657475726e20617263733b0a20207d0a0a20207069652e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a2076616c75653b0a20207d3b0a0a20207069652e736f727456616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727456616c756573203d205f2c20736f7274203d206e756c6c2c2070696529203a20736f727456616c7565733b0a20207d3b0a0a20207069652e736f7274203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f7274203d205f2c20736f727456616c756573203d206e756c6c2c2070696529203a20736f72743b0a20207d3b0a0a20207069652e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a207374617274416e676c653b0a20207d3b0a0a20207069652e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a20656e64416e676c653b0a20207d3b0a0a20207069652e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a20706164416e676c653b0a20207d3b0a0a202072657475726e207069653b0a7d3b0a0a76617220637572766552616469616c4c696e656172203d20637572766552616469616c2863757276654c696e656172293b0a0a66756e6374696f6e2052616469616c28637572766529207b0a2020746869732e5f6375727665203d2063757276653b0a7d0a0a52616469616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561537461727428293b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561456e6428293b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28612c207229207b0a20202020746869732e5f63757276652e706f696e742872202a204d6174682e73696e2861292c2072202a202d4d6174682e636f73286129293b0a20207d0a7d3b0a0a66756e6374696f6e20637572766552616469616c28637572766529207b0a0a202066756e6374696f6e2072616469616c28636f6e7465787429207b0a2020202072657475726e206e65772052616469616c28637572766528636f6e7465787429293b0a20207d0a0a202072616469616c2e5f6375727665203d2063757276653b0a0a202072657475726e2072616469616c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c286c29207b0a20207661722063203d206c2e63757276653b0a0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a0a20206c2e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e206c3b0a7d0a0a766172206c696e6552616469616c2431203d2066756e6374696f6e2829207b0a202072657475726e206c696e6552616469616c286c696e6528292e637572766528637572766552616469616c4c696e65617229293b0a7d3b0a0a766172206172656152616469616c203d2066756e6374696f6e2829207b0a20207661722061203d206172656128292e637572766528637572766552616469616c4c696e656172292c0a20202020202063203d20612e63757276652c0a2020202020207830203d20612e6c696e6558302c0a2020202020207831203d20612e6c696e6558312c0a2020202020207930203d20612e6c696e6559302c0a2020202020207931203d20612e6c696e6559313b0a0a2020612e616e676c65203d20612e782c2064656c65746520612e783b0a2020612e7374617274416e676c65203d20612e78302c2064656c65746520612e78303b0a2020612e656e64416e676c65203d20612e78312c2064656c65746520612e78313b0a2020612e726164697573203d20612e792c2064656c65746520612e793b0a2020612e696e6e6572526164697573203d20612e79302c2064656c65746520612e79303b0a2020612e6f75746572526164697573203d20612e79312c2064656c65746520612e79313b0a2020612e6c696e655374617274416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878302829293b207d2c2064656c65746520612e6c696e6558303b0a2020612e6c696e65456e64416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878312829293b207d2c2064656c65746520612e6c696e6558313b0a2020612e6c696e65496e6e6572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879302829293b207d2c2064656c65746520612e6c696e6559303b0a2020612e6c696e654f75746572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879312829293b207d2c2064656c65746520612e6c696e6559313b0a0a2020612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e20613b0a7d3b0a0a76617220706f696e7452616469616c203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2879203d202b7929202a204d6174682e636f732878202d3d204d6174682e5049202f2032292c2079202a204d6174682e73696e2878295d3b0a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206c696e6b536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e206c696e6b546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e206c696e6b28637572766529207b0a202076617220736f75726365203d206c696e6b536f757263652c0a202020202020746172676574203d206c696e6b5461726765742c0a20202020202078242431203d20782c0a20202020202079242431203d20792c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206c696e6b2829207b0a20202020766172206275666665722c2061726776203d20736c6963652e63616c6c28617267756d656e7473292c2073203d20736f757263652e6170706c7928746869732c2061726776292c2074203d207461726765742e6170706c7928746869732c2061726776293b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a20202020637572766528636f6e746578742c202b782424312e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c202b792424312e6170706c7928746869732c2061726776292c202b782424312e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c202b792424312e6170706c7928746869732c206172677629293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e6b2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c206c696e6b29203a20736f757263653b0a20207d3b0a0a20206c696e6b2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c206c696e6b29203a207461726765743b0a20207d3b0a0a20206c696e6b2e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6b29203a20782424313b0a20207d3b0a0a20206c696e6b2e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6b29203a20792424313b0a20207d3b0a0a20206c696e6b2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c206c696e6b29203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e6b3b0a7d0a0a66756e6374696f6e206375727665486f72697a6f6e74616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f287830203d20287830202b20783129202f20322c2079302c2078302c2079312c2078312c207931293b0a7d0a0a66756e6374696f6e206375727665566572746963616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f2878302c207930203d20287930202b20793129202f20322c2078312c2079302c2078312c207931293b0a7d0a0a66756e6374696f6e20637572766552616469616c243128636f6e746578742c2078302c2079302c2078312c20793129207b0a2020766172207030203d20706f696e7452616469616c2878302c207930292c0a2020202020207031203d20706f696e7452616469616c2878302c207930203d20287930202b20793129202f2032292c0a2020202020207032203d20706f696e7452616469616c2878312c207930292c0a2020202020207033203d20706f696e7452616469616c2878312c207931293b0a2020636f6e746578742e6d6f7665546f2870305b305d2c2070305b315d293b0a2020636f6e746578742e62657a6965724375727665546f2870315b305d2c2070315b315d2c2070325b305d2c2070325b315d2c2070335b305d2c2070335b315d293b0a7d0a0a66756e6374696f6e206c696e6b486f72697a6f6e74616c2829207b0a202072657475726e206c696e6b286375727665486f72697a6f6e74616c293b0a7d0a0a66756e6374696f6e206c696e6b566572746963616c2829207b0a202072657475726e206c696e6b286375727665566572746963616c293b0a7d0a0a66756e6374696f6e206c696e6b52616469616c2829207b0a2020766172206c203d206c696e6b28637572766552616469616c2431293b0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a202072657475726e206c3b0a7d0a0a76617220636972636c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f207069293b0a20202020636f6e746578742e6d6f7665546f28722c2030293b0a20202020636f6e746578742e61726328302c20302c20722c20302c20746175293b0a20207d0a7d3b0a0a7661722063726f7373203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f203529202f20323b0a20202020636f6e746578742e6d6f7665546f282d33202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2072293b0a20202020636f6e746578742e6c696e65546f282d33202a20722c2072293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722074616e3330203d204d6174682e737172742831202f2033293b0a7661722074616e33305f32203d2074616e3330202a20323b0a0a766172206469616d6f6e64203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d204d6174682e737172742873697a65202f2074616e33305f32292c0a202020202020202078203d2079202a2074616e33303b0a20202020636f6e746578742e6d6f7665546f28302c202d79293b0a20202020636f6e746578742e6c696e65546f28782c2030293b0a20202020636f6e746578742e6c696e65546f28302c2079293b0a20202020636f6e746578742e6c696e65546f282d782c2030293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a766172206b61203d20302e38393038313330393135323932383532323831303b0a766172206b72203d204d6174682e73696e287069202f20313029202f204d6174682e73696e2837202a207069202f203130293b0a766172206b78203d204d6174682e73696e28746175202f20313029202a206b723b0a766172206b79203d202d4d6174682e636f7328746175202f20313029202a206b723b0a0a7661722073746172203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202a206b61292c0a202020202020202078203d206b78202a20722c0a202020202020202079203d206b79202a20723b0a20202020636f6e746578742e6d6f7665546f28302c202d72293b0a20202020636f6e746578742e6c696e65546f28782c2079293b0a20202020666f7220287661722069203d20313b2069203c20353b202b2b6929207b0a2020202020207661722061203d20746175202a2069202f20352c0a2020202020202020202063203d204d6174682e636f732861292c0a2020202020202020202073203d204d6174682e73696e2861293b0a202020202020636f6e746578742e6c696e65546f2873202a20722c202d63202a2072293b0a202020202020636f6e746578742e6c696e65546f2863202a2078202d2073202a20792c2073202a2078202b2063202a2079293b0a202020207d0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220737175617265203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722077203d204d6174682e737172742873697a65292c0a202020202020202078203d202d77202f20323b0a20202020636f6e746578742e7265637428782c20782c20772c2077293b0a20207d0a7d3b0a0a766172207371727433203d204d6174682e737172742833293b0a0a76617220747269616e676c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d202d4d6174682e737172742873697a65202f20287371727433202a203329293b0a20202020636f6e746578742e6d6f7665546f28302c2079202a2032293b0a20202020636f6e746578742e6c696e65546f282d7371727433202a20792c202d79293b0a20202020636f6e746578742e6c696e65546f287371727433202a20792c202d79293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722063203d202d302e353b0a7661722073203d204d6174682e73717274283329202f20323b0a766172206b203d2031202f204d6174682e73717274283132293b0a7661722061203d20286b202f2032202b203129202a20333b0a0a76617220777965203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2061292c0a20202020202020207830203d2072202f20322c0a20202020202020207930203d2072202a206b2c0a20202020202020207831203d2078302c0a20202020202020207931203d2072202a206b202b20722c0a20202020202020207832203d202d78312c0a20202020202020207932203d2079313b0a20202020636f6e746578742e6d6f7665546f2878302c207930293b0a20202020636f6e746578742e6c696e65546f2878312c207931293b0a20202020636f6e746578742e6c696e65546f2878322c207932293b0a20202020636f6e746578742e6c696e65546f2863202a207830202d2073202a2079302c2073202a207830202b2063202a207930293b0a20202020636f6e746578742e6c696e65546f2863202a207831202d2073202a2079312c2073202a207831202b2063202a207931293b0a20202020636f6e746578742e6c696e65546f2863202a207832202d2073202a2079322c2073202a207832202b2063202a207932293b0a20202020636f6e746578742e6c696e65546f2863202a207830202b2073202a2079302c2063202a207930202d2073202a207830293b0a20202020636f6e746578742e6c696e65546f2863202a207831202b2073202a2079312c2063202a207931202d2073202a207831293b0a20202020636f6e746578742e6c696e65546f2863202a207832202b2073202a2079322c2063202a207932202d2073202a207832293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722073796d626f6c73203d205b0a2020636972636c652c0a202063726f73732c0a20206469616d6f6e642c0a20207371756172652c0a2020737461722c0a2020747269616e676c652c0a20207779650a5d3b0a0a7661722073796d626f6c203d2066756e6374696f6e2829207b0a20207661722074797065203d20636f6e7374616e7428636972636c65292c0a20202020202073697a65203d20636f6e7374616e74283634292c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e2073796d626f6c2829207b0a20202020766172206275666665723b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a20202020747970652e6170706c7928746869732c20617267756d656e7473292e6472617728636f6e746578742c202b73697a652e6170706c7928746869732c20617267756d656e747329293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202073796d626f6c2e74797065203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874797065203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c2073796d626f6c29203a20747970653b0a20207d3b0a0a202073796d626f6c2e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873697a65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2073796d626f6c29203a2073697a653b0a20207d3b0a0a202073796d626f6c2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2073796d626f6c29203a20636f6e746578743b0a20207d3b0a0a202072657475726e2073796d626f6c3b0a7d3b0a0a766172206e6f6f70203d2066756e6374696f6e2829207b7d3b0a0a66756e6374696f6e20706f696e7428746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a202020202832202a20746861742e5f7830202b20746861742e5f783129202f20332c0a202020202832202a20746861742e5f7930202b20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2032202a20746861742e5f783129202f20332c0a2020202028746861742e5f7930202b2032202a20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2034202a20746861742e5f7831202b207829202f20362c0a2020202028746861742e5f7930202b2034202a20746861742e5f7931202b207929202f20360a2020293b0a7d0a0a66756e6374696f6e20426173697328636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369732e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520333a20706f696e7428746869732c20746869732e5f78312c20746869732e5f7931293b202f2f2070726f636565640a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f636f6e746578742e6c696e65546f282835202a20746869732e5f7830202b20746869732e5f783129202f20362c202835202a20746869732e5f7930202b20746869732e5f793129202f2036293b202f2f2070726f636565640a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a766172206261736973203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e657720426173697328636f6e74657874293b0a7d3b0a0a66756e6374696f6e204261736973436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4261736973436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7832202b2032202a20746869732e5f783329202f20332c2028746869732e5f7932202b2032202a20746869732e5f793329202f2033293b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f2828746869732e5f7833202b2032202a20746869732e5f783229202f20332c2028746869732e5f7933202b2032202a20746869732e5f793229202f2033293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7832203d20782c20746869732e5f7932203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7834203d20782c20746869732e5f7934203d20793b20746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f2036293b20627265616b3b0a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a766172206261736973436c6f736564203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204261736973436c6f73656428636f6e74657874293b0a7d3b0a0a66756e6374696f6e2042617369734f70656e28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369734f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20766172207830203d2028746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c207930203d2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f20363b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f2878302c20793029203a20746869732e5f636f6e746578742e6d6f7665546f2878302c207930293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a7661722062617369734f70656e203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e65772042617369734f70656e28636f6e74657874293b0a7d3b0a0a66756e6374696f6e2042756e646c6528636f6e746578742c206265746129207b0a2020746869732e5f6261736973203d206e657720426173697328636f6e74657874293b0a2020746869732e5f62657461203d20626574613b0a7d0a0a42756e646c652e70726f746f74797065203d207b0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20202020746869732e5f62617369732e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206a203d20782e6c656e677468202d20313b0a0a20202020696620286a203e203029207b0a202020202020766172207830203d20785b305d2c0a202020202020202020207930203d20795b305d2c0a202020202020202020206478203d20785b6a5d202d2078302c0a202020202020202020206479203d20795b6a5d202d2079302c0a2020202020202020202069203d202d312c0a20202020202020202020743b0a0a2020202020207768696c6520282b2b69203c3d206a29207b0a202020202020202074203d2069202f206a3b0a2020202020202020746869732e5f62617369732e706f696e74280a20202020202020202020746869732e5f62657461202a20785b695d202b202831202d20746869732e5f6265746129202a20287830202b2074202a206478292c0a20202020202020202020746869732e5f62657461202a20795b695d202b202831202d20746869732e5f6265746129202a20287930202b2074202a206479290a2020202020202020293b0a2020202020207d0a202020207d0a0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20202020746869732e5f62617369732e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a7661722062756e646c65203d20282866756e6374696f6e20637573746f6d286265746129207b0a0a202066756e6374696f6e2062756e646c6528636f6e7465787429207b0a2020202072657475726e2062657461203d3d3d2031203f206e657720426173697328636f6e7465787429203a206e65772042756e646c6528636f6e746578742c2062657461293b0a20207d0a0a202062756e646c652e62657461203d2066756e6374696f6e286265746129207b0a2020202072657475726e20637573746f6d282b62657461293b0a20207d3b0a0a202072657475726e2062756e646c653b0a7d292928302e3835293b0a0a66756e6374696f6e20706f696e74243128746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a20202020746861742e5f7831202b20746861742e5f6b202a2028746861742e5f7832202d20746861742e5f7830292c0a20202020746861742e5f7931202b20746861742e5f6b202a2028746861742e5f7932202d20746861742e5f7930292c0a20202020746861742e5f7832202b20746861742e5f6b202a2028746861742e5f7831202d2078292c0a20202020746861742e5f7932202b20746861742e5f6b202a2028746861742e5f7931202d2079292c0a20202020746861742e5f78322c0a20202020746861742e5f79320a2020293b0a7d0a0a66756e6374696f6e2043617264696e616c28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20706f696e74243128746869732c20746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7831203d20782c20746869732e5f7931203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e2043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c436c6f736564203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e2043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c4f70656e203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e20706f696e74243228746861742c20782c207929207b0a2020766172207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020207832203d20746861742e5f78322c0a2020202020207932203d20746861742e5f79323b0a0a202069662028746861742e5f6c30315f61203e20657073696c6f6e29207b0a202020207661722061203d2032202a20746861742e5f6c30315f3261202b2033202a20746861742e5f6c30315f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206e203d2033202a20746861742e5f6c30315f61202a2028746861742e5f6c30315f61202b20746861742e5f6c31325f61293b0a202020207831203d20287831202a2061202d20746861742e5f7830202a20746861742e5f6c31325f3261202b20746861742e5f7832202a20746861742e5f6c30315f326129202f206e3b0a202020207931203d20287931202a2061202d20746861742e5f7930202a20746861742e5f6c31325f3261202b20746861742e5f7932202a20746861742e5f6c30315f326129202f206e3b0a20207d0a0a202069662028746861742e5f6c32335f61203e20657073696c6f6e29207b0a202020207661722062203d2032202a20746861742e5f6c32335f3261202b2033202a20746861742e5f6c32335f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206d203d2033202a20746861742e5f6c32335f61202a2028746861742e5f6c32335f61202b20746861742e5f6c31325f61293b0a202020207832203d20287832202a2062202b20746861742e5f7831202a20746861742e5f6c32335f3261202d2078202a20746861742e5f6c31325f326129202f206d3b0a202020207932203d20287932202a2062202b20746861742e5f7931202a20746861742e5f6c32335f3261202d2079202a20746861742e5f6c31325f326129202f206d3b0a20207d0a0a2020746861742e5f636f6e746578742e62657a6965724375727665546f2878312c2079312c2078322c2079322c20746861742e5f78322c20746861742e5f7932293b0a7d0a0a66756e6374696f6e204361746d756c6c526f6d28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d28636f6e746578742c20616c70686129203a206e65772043617264696e616c28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d436c6f736564203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129203a206e65772043617264696e616c436c6f73656428636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d4f70656e203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129203a206e65772043617264696e616c4f70656e28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204c696e656172436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e656172436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e636c6f73655061746828293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020656c736520746869732e5f706f696e74203d20312c20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a20207d0a7d3b0a0a766172206c696e656172436c6f736564203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204c696e656172436c6f73656428636f6e74657874293b0a7d3b0a0a66756e6374696f6e207369676e287829207b0a202072657475726e2078203c2030203f202d31203a20313b0a7d0a0a2f2f2043616c63756c6174652074686520736c6f706573206f66207468652074616e67656e747320284865726d6974652d7479706520696e746572706f6c6174696f6e29206261736564206f6e0a2f2f2074686520666f6c6c6f77696e672070617065723a205374656666656e2c204d2e20313939302e20412053696d706c65204d6574686f6420666f72204d6f6e6f746f6e69630a2f2f20496e746572706f6c6174696f6e20696e204f6e652044696d656e73696f6e2e20417374726f6e6f6d7920616e6420417374726f706879736963732c20566f6c2e203233392c204e4f2e0a2f2f204e4f56284949292c20502e203434332c20313939302e0a66756e6374696f6e20736c6f70653328746861742c2078322c20793229207b0a2020766172206830203d20746861742e5f7831202d20746861742e5f78302c0a2020202020206831203d207832202d20746861742e5f78312c0a2020202020207330203d2028746861742e5f7931202d20746861742e5f793029202f20286830207c7c206831203c2030202626202d30292c0a2020202020207331203d20287932202d20746861742e5f793129202f20286831207c7c206830203c2030202626202d30292c0a20202020202070203d20287330202a206831202b207331202a20683029202f20286830202b206831293b0a202072657475726e20287369676e28733029202b207369676e2873312929202a204d6174682e6d696e284d6174682e616273287330292c204d6174682e616273287331292c20302e35202a204d6174682e61627328702929207c7c20303b0a7d0a0a2f2f2043616c63756c6174652061206f6e652d736964656420736c6f70652e0a66756e6374696f6e20736c6f70653228746861742c207429207b0a20207661722068203d20746861742e5f7831202d20746861742e5f78303b0a202072657475726e2068203f202833202a2028746861742e5f7931202d20746861742e5f793029202f2068202d207429202f2032203a20743b0a7d0a0a2f2f204163636f7264696e6720746f2068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43756269635f4865726d6974655f73706c696e6523526570726573656e746174696f6e730a2f2f2022796f752063616e2065787072657373206375626963204865726d69746520696e746572706f6c6174696f6e20696e207465726d73206f662063756269632042c3a97a696572206375727665730a2f2f2077697468207265737065637420746f2074686520666f75722076616c7565732070302c207030202b206d30202f20332c207031202d206d31202f20332c207031222e0a66756e6374696f6e20706f696e74243328746861742c2074302c20743129207b0a2020766172207830203d20746861742e5f78302c0a2020202020207930203d20746861742e5f79302c0a2020202020207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020206478203d20287831202d20783029202f20333b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f287830202b2064782c207930202b206478202a2074302c207831202d2064782c207931202d206478202a2074312c2078312c207931293b0a7d0a0a66756e6374696f6e204d6f6e6f746f6e655828636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4d6f6e6f746f6e65582e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d0a20202020746869732e5f7430203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a2020202020206361736520333a20706f696e74243328746869732c20746869732e5f74302c20736c6f70653228746869732c20746869732e5f743029293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020766172207431203d204e614e3b0a0a2020202078203d202b782c2079203d202b793b0a202020206966202878203d3d3d20746869732e5f78312026262079203d3d3d20746869732e5f7931292072657475726e3b202f2f2049676e6f726520636f696e636964656e7420706f696e74732e0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20706f696e74243328746869732c20736c6f70653228746869732c207431203d20736c6f70653328746869732c20782c207929292c207431293b20627265616b3b0a20202020202064656661756c743a20706f696e74243328746869732c20746869732e5f74302c207431203d20736c6f70653328746869732c20782c207929293b20627265616b3b0a202020207d0a0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20202020746869732e5f7430203d2074313b0a20207d0a7d3b0a0a66756e6374696f6e204d6f6e6f746f6e655928636f6e7465787429207b0a2020746869732e5f636f6e74657874203d206e6577205265666c656374436f6e7465787428636f6e74657874293b0a7d0a0a284d6f6e6f746f6e65592e70726f746f74797065203d204f626a6563742e637265617465284d6f6e6f746f6e65582e70726f746f7479706529292e706f696e74203d2066756e6374696f6e28782c207929207b0a20204d6f6e6f746f6e65582e70726f746f747970652e706f696e742e63616c6c28746869732c20792c2078293b0a7d3b0a0a66756e6374696f6e205265666c656374436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a5265666c656374436f6e746578742e70726f746f74797065203d207b0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6d6f7665546f28792c2078293b207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b20746869732e5f636f6e746578742e636c6f73655061746828293b207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6c696e65546f28792c2078293b207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b20746869732e5f636f6e746578742e62657a6965724375727665546f2879312c2078312c2079322c2078322c20792c2078293b207d0a7d3b0a0a66756e6374696f6e206d6f6e6f746f6e655828636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655828636f6e74657874293b0a7d0a0a66756e6374696f6e206d6f6e6f746f6e655928636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655928636f6e74657874293b0a7d0a0a66756e6374696f6e204e61747572616c28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4e61747572616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206e203d20782e6c656e6774683b0a0a20202020696620286e29207b0a202020202020746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28785b305d2c20795b305d29203a20746869732e5f636f6e746578742e6d6f7665546f28785b305d2c20795b305d293b0a202020202020696620286e203d3d3d203229207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28785b315d2c20795b315d293b0a2020202020207d20656c7365207b0a2020202020202020766172207078203d20636f6e74726f6c506f696e74732878292c0a2020202020202020202020207079203d20636f6e74726f6c506f696e74732879293b0a2020202020202020666f722028766172206930203d20302c206931203d20313b206931203c206e3b202b2b69302c202b2b693129207b0a20202020202020202020746869732e5f636f6e746578742e62657a6965724375727665546f2870785b305d5b69305d2c2070795b305d5b69305d2c2070785b315d5b69305d2c2070795b315d5b69305d2c20785b69315d2c20795b69315d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d2030202626206e203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a2f2f205365652068747470733a2f2f7777772e7061727469636c65696e63656c6c2e636f6d2f323031322f62657a6965722d73706c696e65732f20666f722064657269766174696f6e2e0a66756e6374696f6e20636f6e74726f6c506f696e7473287829207b0a202076617220692c0a2020202020206e203d20782e6c656e677468202d20312c0a2020202020206d2c0a20202020202061203d206e6577204172726179286e292c0a20202020202062203d206e6577204172726179286e292c0a20202020202072203d206e6577204172726179286e293b0a2020615b305d203d20302c20625b305d203d20322c20725b305d203d20785b305d202b2032202a20785b315d3b0a2020666f72202869203d20313b2069203c206e202d20313b202b2b692920615b695d203d20312c20625b695d203d20342c20725b695d203d2034202a20785b695d202b2032202a20785b69202b20315d3b0a2020615b6e202d20315d203d20322c20625b6e202d20315d203d20372c20725b6e202d20315d203d2038202a20785b6e202d20315d202b20785b6e5d3b0a2020666f72202869203d20313b2069203c206e3b202b2b6929206d203d20615b695d202f20625b69202d20315d2c20625b695d202d3d206d2c20725b695d202d3d206d202a20725b69202d20315d3b0a2020615b6e202d20315d203d20725b6e202d20315d202f20625b6e202d20315d3b0a2020666f72202869203d206e202d20323b2069203e3d20303b202d2d692920615b695d203d2028725b695d202d20615b69202b20315d29202f20625b695d3b0a2020625b6e202d20315d203d2028785b6e5d202b20615b6e202d20315d29202f20323b0a2020666f72202869203d20303b2069203c206e202d20313b202b2b692920625b695d203d2032202a20785b69202b20315d202d20615b69202b20315d3b0a202072657475726e205b612c20625d3b0a7d0a0a766172206e61747572616c203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204e61747572616c28636f6e74657874293b0a7d3b0a0a66756e6374696f6e205374657028636f6e746578742c207429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f74203d20743b0a7d0a0a537465702e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d20746869732e5f79203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020206966202830203c20746869732e5f7420262620746869732e5f74203c203120262620746869732e5f706f696e74203d3d3d20322920746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c20746869732e5f79293b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202069662028746869732e5f6c696e65203e3d20302920746869732e5f74203d2031202d20746869732e5f742c20746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f74203c3d203029207b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c2079293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020202020207d20656c7365207b0a20202020202020202020766172207831203d20746869732e5f78202a202831202d20746869732e5f7429202b2078202a20746869732e5f743b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c20746869732e5f79293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c2079293b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20202020746869732e5f78203d20782c20746869732e5f79203d20793b0a20207d0a7d3b0a0a7661722073746570203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c20302e35293b0a7d3b0a0a66756e6374696f6e20737465704265666f726528636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2030293b0a7d0a0a66756e6374696f6e2073746570416674657228636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2031293b0a7d0a0a766172206e6f6e65203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f7220287661722069203d20312c206a2c2073302c207331203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020207330203d2073312c207331203d207365726965735b6f726465725b695d5d3b0a20202020666f7220286a203d20303b206a203c206d3b202b2b6a29207b0a20202020202073315b6a5d5b315d202b3d2073315b6a5d5b305d203d2069734e614e2873305b6a5d5b315d29203f2073305b6a5d5b305d203a2073305b6a5d5b315d3b0a202020207d0a20207d0a7d3b0a0a766172206e6f6e652431203d2066756e6374696f6e2873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c206f203d206e6577204172726179286e293b0a20207768696c6520282d2d6e203e3d203029206f5b6e5d203d206e3b0a202072657475726e206f3b0a7d3b0a0a66756e6374696f6e20737461636b56616c756528642c206b657929207b0a202072657475726e20645b6b65795d3b0a7d0a0a76617220737461636b203d2066756e6374696f6e2829207b0a2020766172206b657973203d20636f6e7374616e74285b5d292c0a2020202020206f72646572203d206e6f6e6524312c0a2020202020206f6666736574203d206e6f6e652c0a20202020202076616c7565203d20737461636b56616c75653b0a0a202066756e6374696f6e20737461636b286461746129207b0a20202020766172206b7a203d206b6579732e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020692c0a20202020202020206d203d20646174612e6c656e6774682c0a20202020202020206e203d206b7a2e6c656e6774682c0a2020202020202020737a203d206e6577204172726179286e292c0a20202020202020206f7a3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020666f722028766172206b69203d206b7a5b695d2c207369203d20737a5b695d203d206e6577204172726179286d292c206a203d20302c2073696a3b206a203c206d3b202b2b6a29207b0a202020202020202073695b6a5d203d2073696a203d205b302c202b76616c756528646174615b6a5d2c206b692c206a2c2064617461295d3b0a202020202020202073696a2e64617461203d20646174615b6a5d3b0a2020202020207d0a20202020202073692e6b6579203d206b693b0a202020207d0a0a20202020666f72202869203d20302c206f7a203d206f7264657228737a293b2069203c206e3b202b2b6929207b0a202020202020737a5b6f7a5b695d5d2e696e646578203d20693b0a202020207d0a0a202020206f666673657428737a2c206f7a293b0a2020202072657475726e20737a3b0a20207d0a0a2020737461636b2e6b657973203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b657973203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7428736c6963652e63616c6c285f29292c20737461636b29203a206b6579733b0a20207d3b0a0a2020737461636b2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20737461636b29203a2076616c75653b0a20207d3b0a0a2020737461636b2e6f72646572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f72646572203d205f203d3d206e756c6c203f206e6f6e652431203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7428736c6963652e63616c6c285f29292c20737461636b29203a206f726465723b0a20207d3b0a0a2020737461636b2e6f6666736574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f6666736574203d205f203d3d206e756c6c203f206e6f6e65203a205f2c20737461636b29203a206f66667365743b0a20207d3b0a0a202072657475726e20737461636b3b0a7d3b0a0a76617220657870616e64203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f72202876617220692c206e2c206a203d20302c206d203d207365726965735b305d2e6c656e6774682c20793b206a203c206d3b202b2b6a29207b0a20202020666f72202879203d2069203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202069662028792920666f72202869203d20303b2069203c206e3b202b2b6929207365726965735b695d5b6a5d5b315d202f3d20793b0a20207d0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220646976657267696e67203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f72202876617220692c206a203d20302c20642c2064792c2079702c20796e2c206e2c206d203d207365726965735b6f726465725b305d5d2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287970203d20796e203d20302c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286479203d202864203d207365726965735b6f726465725b695d5d5b6a5d295b315d202d20645b305d29203e3d203029207b0a2020202020202020645b305d203d2079702c20645b315d203d207970202b3d2064793b0a2020202020207d20656c736520696620286479203c203029207b0a2020202020202020645b315d203d20796e2c20645b305d203d20796e202b3d2064793b0a2020202020207d20656c7365207b0a2020202020202020645b305d203d2079703b0a2020202020207d0a202020207d0a20207d0a7d3b0a0a7661722073696c686f7565747465203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f722028766172206a203d20302c207330203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073302e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c2079203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202073305b6a5d5b315d202b3d2073305b6a5d5b305d203d202d79202f20323b0a20207d0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220776967676c65203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029207c7c202128286d203d20287330203d207365726965735b6f726465725b305d5d292e6c656e67746829203e203029292072657475726e3b0a2020666f7220287661722079203d20302c206a203d20312c2073302c206d2c206e3b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207331203d20302c207332203d20303b2069203c206e3b202b2b6929207b0a202020202020766172207369203d207365726965735b6f726465725b695d5d2c0a2020202020202020202073696a30203d2073695b6a5d5b315d207c7c20302c0a2020202020202020202073696a31203d2073695b6a202d20315d5b315d207c7c20302c0a202020202020202020207333203d202873696a30202d2073696a3129202f20323b0a202020202020666f722028766172206b203d20303b206b203c20693b202b2b6b29207b0a202020202020202076617220736b203d207365726965735b6f726465725b6b5d5d2c0a202020202020202020202020736b6a30203d20736b5b6a5d5b315d207c7c20302c0a202020202020202020202020736b6a31203d20736b5b6a202d20315d5b315d207c7c20303b0a20202020202020207333202b3d20736b6a30202d20736b6a313b0a2020202020207d0a2020202020207331202b3d2073696a302c207332202b3d207333202a2073696a303b0a202020207d0a2020202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20202020696620287331292079202d3d207332202f2073313b0a20207d0a202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220617363656e64696e67203d2066756e6374696f6e2873657269657329207b0a20207661722073756d73203d207365726965732e6d61702873756d293b0a202072657475726e206e6f6e65243128736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b615d202d2073756d735b625d3b207d293b0a7d3b0a0a66756e6374696f6e2073756d2873657269657329207b0a20207661722073203d20302c2069203d202d312c206e203d207365726965732e6c656e6774682c20763b0a20207768696c6520282b2b69203c206e29206966202876203d202b7365726965735b695d5b315d292073202b3d20763b0a202072657475726e20733b0a7d0a0a7661722064657363656e64696e672431203d2066756e6374696f6e2873657269657329207b0a202072657475726e20617363656e64696e6728736572696573292e7265766572736528293b0a7d3b0a0a76617220696e736964654f7574203d2066756e6374696f6e2873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c0a202020202020692c0a2020202020206a2c0a20202020202073756d73203d207365726965732e6d61702873756d292c0a2020202020206f72646572203d206e6f6e65243128736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b625d202d2073756d735b615d3b207d292c0a202020202020746f70203d20302c0a202020202020626f74746f6d203d20302c0a202020202020746f7073203d205b5d2c0a202020202020626f74746f6d73203d205b5d3b0a0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206a203d206f726465725b695d3b0a2020202069662028746f70203c20626f74746f6d29207b0a202020202020746f70202b3d2073756d735b6a5d3b0a202020202020746f70732e70757368286a293b0a202020207d20656c7365207b0a202020202020626f74746f6d202b3d2073756d735b6a5d3b0a202020202020626f74746f6d732e70757368286a293b0a202020207d0a20207d0a0a202072657475726e20626f74746f6d732e7265766572736528292e636f6e63617428746f7073293b0a7d3b0a0a7661722072657665727365203d2066756e6374696f6e2873657269657329207b0a202072657475726e206e6f6e65243128736572696573292e7265766572736528293b0a7d3b0a0a6578706f7274732e617263203d206172633b0a6578706f7274732e61726561203d20617265613b0a6578706f7274732e6c696e65203d206c696e653b0a6578706f7274732e706965203d207069653b0a6578706f7274732e6172656152616469616c203d206172656152616469616c3b0a6578706f7274732e72616469616c41726561203d206172656152616469616c3b0a6578706f7274732e6c696e6552616469616c203d206c696e6552616469616c24313b0a6578706f7274732e72616469616c4c696e65203d206c696e6552616469616c24313b0a6578706f7274732e706f696e7452616469616c203d20706f696e7452616469616c3b0a6578706f7274732e6c696e6b486f72697a6f6e74616c203d206c696e6b486f72697a6f6e74616c3b0a6578706f7274732e6c696e6b566572746963616c203d206c696e6b566572746963616c3b0a6578706f7274732e6c696e6b52616469616c203d206c696e6b52616469616c3b0a6578706f7274732e73796d626f6c203d2073796d626f6c3b0a6578706f7274732e73796d626f6c73203d2073796d626f6c733b0a6578706f7274732e73796d626f6c436972636c65203d20636972636c653b0a6578706f7274732e73796d626f6c43726f7373203d2063726f73733b0a6578706f7274732e73796d626f6c4469616d6f6e64203d206469616d6f6e643b0a6578706f7274732e73796d626f6c537175617265203d207371756172653b0a6578706f7274732e73796d626f6c53746172203d20737461723b0a6578706f7274732e73796d626f6c547269616e676c65203d20747269616e676c653b0a6578706f7274732e73796d626f6c577965203d207779653b0a6578706f7274732e63757276654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e637572766542617369734f70656e203d2062617369734f70656e3b0a6578706f7274732e63757276654261736973203d2062617369733b0a6578706f7274732e637572766542756e646c65203d2062756e646c653b0a6578706f7274732e637572766543617264696e616c436c6f736564203d2063617264696e616c436c6f7365643b0a6578706f7274732e637572766543617264696e616c4f70656e203d2063617264696e616c4f70656e3b0a6578706f7274732e637572766543617264696e616c203d2063617264696e616c3b0a6578706f7274732e63757276654361746d756c6c526f6d436c6f736564203d206361746d756c6c526f6d436c6f7365643b0a6578706f7274732e63757276654361746d756c6c526f6d4f70656e203d206361746d756c6c526f6d4f70656e3b0a6578706f7274732e63757276654361746d756c6c526f6d203d206361746d756c6c526f6d3b0a6578706f7274732e63757276654c696e656172436c6f736564203d206c696e656172436c6f7365643b0a6578706f7274732e63757276654c696e656172203d2063757276654c696e6561723b0a6578706f7274732e63757276654d6f6e6f746f6e6558203d206d6f6e6f746f6e65583b0a6578706f7274732e63757276654d6f6e6f746f6e6559203d206d6f6e6f746f6e65593b0a6578706f7274732e63757276654e61747572616c203d206e61747572616c3b0a6578706f7274732e637572766553746570203d20737465703b0a6578706f7274732e6375727665537465704166746572203d207374657041667465723b0a6578706f7274732e6375727665537465704265666f7265203d20737465704265666f72653b0a6578706f7274732e737461636b203d20737461636b3b0a6578706f7274732e737461636b4f6666736574457870616e64203d20657870616e643b0a6578706f7274732e737461636b4f6666736574446976657267696e67203d20646976657267696e673b0a6578706f7274732e737461636b4f66667365744e6f6e65203d206e6f6e653b0a6578706f7274732e737461636b4f666673657453696c686f7565747465203d2073696c686f75657474653b0a6578706f7274732e737461636b4f6666736574576967676c65203d20776967676c653b0a6578706f7274732e737461636b4f72646572417363656e64696e67203d20617363656e64696e673b0a6578706f7274732e737461636b4f7264657244657363656e64696e67203d2064657363656e64696e6724313b0a6578706f7274732e737461636b4f72646572496e736964654f7574203d20696e736964654f75743b0a6578706f7274732e737461636b4f726465724e6f6e65203d206e6f6e6524313b0a6578706f7274732e737461636b4f7264657252657665727365203d20726576657273653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d70617468223a35347d5d2c36333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d652d666f726d61742f2056657273696f6e20322e312e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d74696d65272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d74696d65275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643354696d6529207b202775736520737472696374273b0a0a66756e6374696f6e206c6f63616c44617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e65772044617465282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a20202020646174652e73657446756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a7d0a0a66756e6374696f6e2075746344617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e6577204461746528446174652e555443282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a20202020646174652e73657455544346756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528446174652e55544328642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a7d0a0a66756e6374696f6e206e657759656172287929207b0a202072657475726e207b793a20792c206d3a20302c20643a20312c20483a20302c204d3a20302c20533a20302c204c3a20307d3b0a7d0a0a66756e6374696f6e20666f726d61744c6f63616c65286c6f63616c6529207b0a2020766172206c6f63616c655f6461746554696d65203d206c6f63616c652e6461746554696d652c0a2020202020206c6f63616c655f64617465203d206c6f63616c652e646174652c0a2020202020206c6f63616c655f74696d65203d206c6f63616c652e74696d652c0a2020202020206c6f63616c655f706572696f6473203d206c6f63616c652e706572696f64732c0a2020202020206c6f63616c655f7765656b64617973203d206c6f63616c652e646179732c0a2020202020206c6f63616c655f73686f72745765656b64617973203d206c6f63616c652e73686f7274446179732c0a2020202020206c6f63616c655f6d6f6e746873203d206c6f63616c652e6d6f6e7468732c0a2020202020206c6f63616c655f73686f72744d6f6e746873203d206c6f63616c652e73686f72744d6f6e7468733b0a0a202076617220706572696f645265203d20666f726d61745265286c6f63616c655f706572696f6473292c0a202020202020706572696f644c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f706572696f6473292c0a2020202020207765656b6461795265203d20666f726d61745265286c6f63616c655f7765656b64617973292c0a2020202020207765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f7765656b64617973292c0a20202020202073686f72745765656b6461795265203d20666f726d61745265286c6f63616c655f73686f72745765656b64617973292c0a20202020202073686f72745765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72745765656b64617973292c0a2020202020206d6f6e74685265203d20666f726d61745265286c6f63616c655f6d6f6e746873292c0a2020202020206d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f6d6f6e746873292c0a20202020202073686f72744d6f6e74685265203d20666f726d61745265286c6f63616c655f73686f72744d6f6e746873292c0a20202020202073686f72744d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72744d6f6e746873293b0a0a202076617220666f726d617473203d207b0a202020202261223a20666f726d617453686f72745765656b6461792c0a202020202241223a20666f726d61745765656b6461792c0a202020202262223a20666f726d617453686f72744d6f6e74682c0a202020202242223a20666f726d61744d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61744461794f664d6f6e74682c0a202020202265223a20666f726d61744461794f664d6f6e74682c0a202020202266223a20666f726d61744d6963726f7365636f6e64732c0a202020202248223a20666f726d6174486f757232342c0a202020202249223a20666f726d6174486f757231322c0a20202020226a223a20666f726d61744461794f66596561722c0a20202020224c223a20666f726d61744d696c6c697365636f6e64732c0a20202020226d223a20666f726d61744d6f6e74684e756d6265722c0a20202020224d223a20666f726d61744d696e757465732c0a202020202270223a20666f726d6174506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745365636f6e64732c0a202020202275223a20666f726d61745765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745765656b4e756d62657249534f2c0a202020202277223a20666f726d61745765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174596561722c0a202020202259223a20666f726d617446756c6c596561722c0a20202020225a223a20666f726d61745a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220757463466f726d617473203d207b0a202020202261223a20666f726d617455544353686f72745765656b6461792c0a202020202241223a20666f726d61745554435765656b6461792c0a202020202262223a20666f726d617455544353686f72744d6f6e74682c0a202020202242223a20666f726d61745554434d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61745554434461794f664d6f6e74682c0a202020202265223a20666f726d61745554434461794f664d6f6e74682c0a202020202266223a20666f726d61745554434d6963726f7365636f6e64732c0a202020202248223a20666f726d6174555443486f757232342c0a202020202249223a20666f726d6174555443486f757231322c0a20202020226a223a20666f726d61745554434461794f66596561722c0a20202020224c223a20666f726d61745554434d696c6c697365636f6e64732c0a20202020226d223a20666f726d61745554434d6f6e74684e756d6265722c0a20202020224d223a20666f726d61745554434d696e757465732c0a202020202270223a20666f726d6174555443506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745554435365636f6e64732c0a202020202275223a20666f726d61745554435765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745554435765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745554435765656b4e756d62657249534f2c0a202020202277223a20666f726d61745554435765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745554435765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174555443596561722c0a202020202259223a20666f726d617455544346756c6c596561722c0a20202020225a223a20666f726d61745554435a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220706172736573203d207b0a202020202261223a20706172736553686f72745765656b6461792c0a202020202241223a2070617273655765656b6461792c0a202020202262223a20706172736553686f72744d6f6e74682c0a202020202242223a2070617273654d6f6e74682c0a202020202263223a2070617273654c6f63616c654461746554696d652c0a202020202264223a2070617273654461794f664d6f6e74682c0a202020202265223a2070617273654461794f664d6f6e74682c0a202020202266223a2070617273654d6963726f7365636f6e64732c0a202020202248223a207061727365486f757232342c0a202020202249223a207061727365486f757232342c0a20202020226a223a2070617273654461794f66596561722c0a20202020224c223a2070617273654d696c6c697365636f6e64732c0a20202020226d223a2070617273654d6f6e74684e756d6265722c0a20202020224d223a2070617273654d696e757465732c0a202020202270223a207061727365506572696f642c0a202020202251223a207061727365556e697854696d657374616d702c0a202020202273223a207061727365556e697854696d657374616d705365636f6e64732c0a202020202253223a2070617273655365636f6e64732c0a202020202275223a2070617273655765656b6461794e756d6265724d6f6e6461792c0a202020202255223a2070617273655765656b4e756d62657253756e6461792c0a202020202256223a2070617273655765656b4e756d62657249534f2c0a202020202277223a2070617273655765656b6461794e756d62657253756e6461792c0a202020202257223a2070617273655765656b4e756d6265724d6f6e6461792c0a202020202278223a2070617273654c6f63616c65446174652c0a202020202258223a2070617273654c6f63616c6554696d652c0a202020202279223a207061727365596561722c0a202020202259223a20706172736546756c6c596561722c0a20202020225a223a2070617273655a6f6e652c0a202020202225223a2070617273654c69746572616c50657263656e740a20207d3b0a0a20202f2f205468657365207265637572736976652064697265637469766520646566696e6974696f6e73206d7573742062652064656665727265642e0a2020666f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20666f726d617473293b0a2020666f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20666f726d617473293b0a2020666f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20666f726d617473293b0a2020757463466f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20757463466f726d617473293b0a2020757463466f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20757463466f726d617473293b0a2020757463466f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20757463466f726d617473293b0a0a202066756e6374696f6e206e6577466f726d6174287370656369666965722c20666f726d61747329207b0a2020202072657475726e2066756e6374696f6e286461746529207b0a20202020202076617220737472696e67203d205b5d2c0a2020202020202020202069203d202d312c0a202020202020202020206a203d20302c0a202020202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020202020632c0a202020202020202020207061642c0a20202020202020202020666f726d61743b0a0a2020202020206966202821286461746520696e7374616e63656f66204461746529292064617465203d206e65772044617465282b64617465293b0a0a2020202020207768696c6520282b2b69203c206e29207b0a2020202020202020696620287370656369666965722e63686172436f64654174286929203d3d3d20333729207b0a20202020202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a202020202020202020206966202828706164203d20706164735b63203d207370656369666965722e636861724174282b2b69295d2920213d206e756c6c292063203d207370656369666965722e636861724174282b2b69293b0a20202020202020202020656c736520706164203d2063203d3d3d20226522203f20222022203a202230223b0a2020202020202020202069662028666f726d6174203d20666f726d6174735b635d292063203d20666f726d617428646174652c20706164293b0a20202020202020202020737472696e672e707573682863293b0a202020202020202020206a203d2069202b20313b0a20202020202020207d0a2020202020207d0a0a202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a20202020202072657475726e20737472696e672e6a6f696e282222293b0a202020207d3b0a20207d0a0a202066756e6374696f6e206e65775061727365287370656369666965722c206e65774461746529207b0a2020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020207661722064203d206e6577596561722831393030292c0a2020202020202020202069203d20706172736553706563696669657228642c207370656369666965722c20737472696e67202b3d2022222c2030292c0a202020202020202020207765656b2c206461793b0a202020202020696620286920213d20737472696e672e6c656e677468292072657475726e206e756c6c3b0a0a2020202020202f2f204966206120554e49582074696d657374616d70206973207370656369666965642c2072657475726e2069742e0a2020202020206966202822512220696e2064292072657475726e206e6577204461746528642e51293b0a0a2020202020202f2f2054686520616d2d706d20666c6167206973203020666f7220414d2c20616e64203120666f7220504d2e0a2020202020206966202822702220696e20642920642e48203d20642e482025203132202b20642e70202a2031323b0a0a2020202020202f2f20436f6e76657274206461792d6f662d7765656b20616e64207765656b2d6f662d7965617220746f206461792d6f662d796561722e0a2020202020206966202822562220696e206429207b0a202020202020202069662028642e56203c2031207c7c20642e56203e203533292072657475726e206e756c6c3b0a202020202020202069662028212822772220696e2064292920642e77203d20313b0a202020202020202069662028225a2220696e206429207b0a202020202020202020207765656b203d2075746344617465286e65775965617228642e7929292c20646179203d207765656b2e67657455544344617928293b0a202020202020202020207765656b203d20646179203e2034207c7c20646179203d3d3d2030203f20643354696d652e7574634d6f6e6461792e6365696c287765656b29203a20643354696d652e7574634d6f6e646179287765656b293b0a202020202020202020207765656b203d20643354696d652e7574634461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657455544346756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765745554434d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574555443446174652829202b2028642e77202b203629202520373b0a20202020202020207d20656c7365207b0a202020202020202020207765656b203d206e657744617465286e65775965617228642e7929292c20646179203d207765656b2e67657444617928293b0a202020202020202020207765656b203d20646179203e2034207c7c20646179203d3d3d2030203f20643354696d652e74696d654d6f6e6461792e6365696c287765656b29203a20643354696d652e74696d654d6f6e646179287765656b293b0a202020202020202020207765656b203d20643354696d652e74696d654461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657446756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765744d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574446174652829202b2028642e77202b203629202520373b0a20202020202020207d0a2020202020207d20656c7365206966202822572220696e2064207c7c2022552220696e206429207b0a202020202020202069662028212822772220696e2064292920642e77203d2022752220696e2064203f20642e7520252037203a2022572220696e2064203f2031203a20303b0a2020202020202020646179203d20225a2220696e2064203f2075746344617465286e65775965617228642e7929292e6765745554434461792829203a206e657744617465286e65775965617228642e7929292e67657444617928293b0a2020202020202020642e6d203d20303b0a2020202020202020642e64203d2022572220696e2064203f2028642e77202b20362920252037202b20642e57202a2037202d2028646179202b20352920252037203a20642e77202b20642e55202a2037202d2028646179202b203629202520373b0a2020202020207d0a0a2020202020202f2f20496620612074696d65207a6f6e65206973207370656369666965642c20616c6c206669656c64732061726520696e7465727072657465642061732055544320616e64207468656e0a2020202020202f2f206f6666736574206163636f7264696e6720746f20746865207370656369666965642074696d65207a6f6e652e0a20202020202069662028225a2220696e206429207b0a2020202020202020642e48202b3d20642e5a202f20313030207c20303b0a2020202020202020642e4d202b3d20642e5a2025203130303b0a202020202020202072657475726e20757463446174652864293b0a2020202020207d0a0a2020202020202f2f204f74686572776973652c20616c6c206669656c64732061726520696e206c6f63616c2074696d652e0a20202020202072657475726e206e6577446174652864293b0a202020207d3b0a20207d0a0a202066756e6374696f6e20706172736553706563696669657228642c207370656369666965722c20737472696e672c206a29207b0a202020207661722069203d20302c0a20202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020206d203d20737472696e672e6c656e6774682c0a2020202020202020632c0a202020202020202070617273653b0a0a202020207768696c65202869203c206e29207b0a202020202020696620286a203e3d206d292072657475726e202d313b0a20202020202063203d207370656369666965722e63686172436f6465417428692b2b293b0a2020202020206966202863203d3d3d20333729207b0a202020202020202063203d207370656369666965722e63686172417428692b2b293b0a20202020202020207061727365203d207061727365735b6320696e2070616473203f207370656369666965722e63686172417428692b2b29203a20635d3b0a202020202020202069662028217061727365207c7c2028286a203d20706172736528642c20737472696e672c206a2929203c203029292072657475726e202d313b0a2020202020207d20656c736520696620286320213d20737472696e672e63686172436f64654174286a2b2b2929207b0a202020202020202072657475726e202d313b0a2020202020207d0a202020207d0a0a2020202072657475726e206a3b0a20207d0a0a202066756e6374696f6e207061727365506572696f6428642c20737472696e672c206929207b0a20202020766172206e203d20706572696f6452652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e70203d20706572696f644c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72745765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d2073686f72745765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d2073686f72745765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273655765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d207765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d207765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72744d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d2073686f72744d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d2073686f72744d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d206d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d206d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f6461746554696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f646174652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c6554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f74696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574486f7572732829203e3d203132295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554435765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554434d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174555443506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574555443486f7572732829203e3d203132295d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20666f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202070617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e6577506172736528737065636966696572202b3d2022222c206c6f63616c44617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d2c0a20202020757463466f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20757463466f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202075746350617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e65775061727365287370656369666965722c2075746344617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d0a20207d3b0a7d0a0a7661722070616473203d207b222d223a2022222c20225f223a202220222c202230223a202230227d3b0a766172206e756d6265725265203d202f5e5c732a5c642b2f3b0a7661722070657263656e745265203d202f5e252f3b0a76617220726571756f74655265203d202f5b5c5c5e242a2b3f7c5b5c5d28292e7b7d5d2f673b0a0a66756e6374696f6e207061642876616c75652c2066696c6c2c20776964746829207b0a2020766172207369676e203d2076616c7565203c2030203f20222d22203a2022222c0a202020202020737472696e67203d20287369676e203f202d76616c7565203a2076616c756529202b2022222c0a2020202020206c656e677468203d20737472696e672e6c656e6774683b0a202072657475726e207369676e202b20286c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29202b20737472696e67203a20737472696e67293b0a7d0a0a66756e6374696f6e20726571756f7465287329207b0a202072657475726e20732e7265706c61636528726571756f746552652c20225c5c242622293b0a7d0a0a66756e6374696f6e20666f726d61745265286e616d657329207b0a202072657475726e206e65772052656745787028225e283f3a22202b206e616d65732e6d617028726571756f7465292e6a6f696e28227c2229202b202229222c20226922293b0a7d0a0a66756e6374696f6e20666f726d61744c6f6f6b7570286e616d657329207b0a2020766172206d6170203d207b7d2c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206d61705b6e616d65735b695d2e746f4c6f7765724361736528295d203d20693b0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e77203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e75203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e55203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657249534f28642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e56203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e57203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20706172736546756c6c5965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203429293b0a202072657475726e206e203f2028642e79203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e79203d202b6e5b305d202b20282b6e5b305d203e203638203f2031393030203a2032303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655a6f6e6528642c20737472696e672c206929207b0a2020766172206e203d202f5e285a297c285b2b2d5d5c645c6429283f3a3a3f285c645c6429293f2f2e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e5a203d206e5b315d203f2030203a202d286e5b325d202b20286e5b335d207c7c202230302229292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6f6e74684e756d62657228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e6d203d206e5b305d202d20312c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f664d6f6e746828642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f665965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e6d203d20302c20642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365486f7572323428642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e48203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696e7574657328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e4d203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e53203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696c6c697365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e4c203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6963726f7365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e4c203d204d6174682e666c6f6f72286e5b305d202f2031303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654c69746572616c50657263656e7428642c20737472696e672c206929207b0a2020766172206e203d2070657263656e7452652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2069202b206e5b305d2e6c656e677468203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d7028642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d705365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d20282b6e5b305d29202a20313030302c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20666f726d61744461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765744461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572323428642c207029207b0a202072657475726e2070616428642e676574486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572313228642c207029207b0a202072657475726e2070616428642e676574486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744461794f665965617228642c207029207b0a202072657475726e207061642831202b20643354696d652e74696d654461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765744d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61744d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61744d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765744d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744d696e7574657328642c207029207b0a202072657475726e2070616428642e6765744d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646179203d20642e67657444617928293b0a202072657475726e20646179203d3d3d2030203f2037203a206461793b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657253756e64617928642c207029207b0a202072657475726e2070616428643354696d652e74696d6553756e6461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657249534f28642c207029207b0a202076617220646179203d20642e67657444617928293b0a202064203d2028646179203e3d2034207c7c20646179203d3d3d203029203f20643354696d652e74696d655468757273646179286429203a20643354696d652e74696d6554687572736461792e6365696c2864293b0a202072657475726e2070616428643354696d652e74696d6554687572736461792e636f756e7428643354696d652e74696d65596561722864292c206429202b2028643354696d652e74696d65596561722864292e6765744461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657444617928293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e2070616428643354696d652e74696d654d6f6e6461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617446756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745a6f6e65286429207b0a2020766172207a203d20642e67657454696d657a6f6e654f666673657428293b0a202072657475726e20287a203e2030203f20222d22203a20287a202a3d202d312c20222b2229290a2020202020202b20706164287a202f203630207c20302c202230222c2032290a2020202020202b20706164287a20252036302c202230222c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765745554434461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572323428642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572313228642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f665965617228642c207029207b0a202072657475726e207061642831202b20643354696d652e7574634461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554434d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61745554434d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61745554434d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765745554434d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696e7574657328642c207029207b0a202072657475726e2070616428642e6765745554434d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554435365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646f77203d20642e67657455544344617928293b0a202072657475726e20646f77203d3d3d2030203f2037203a20646f773b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657253756e64617928642c207029207b0a202072657475726e2070616428643354696d652e75746353756e6461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657249534f28642c207029207b0a202076617220646179203d20642e67657455544344617928293b0a202064203d2028646179203e3d2034207c7c20646179203d3d3d203029203f20643354696d652e7574635468757273646179286429203a20643354696d652e75746354687572736461792e6365696c2864293b0a202072657475726e2070616428643354696d652e75746354687572736461792e636f756e7428643354696d652e757463596561722864292c206429202b2028643354696d652e757463596561722864292e6765745554434461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657455544344617928293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e2070616428643354696d652e7574634d6f6e6461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617455544346756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745554435a6f6e652829207b0a202072657475726e20222b30303030223b0a7d0a0a66756e6374696f6e20666f726d61744c69746572616c50657263656e742829207b0a202072657475726e202225223b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d70286429207b0a202072657475726e202b643b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d705365636f6e6473286429207b0a202072657475726e204d6174682e666c6f6f72282b64202f2031303030293b0a7d0a0a766172206c6f63616c653b0a0a0a0a0a0a64656661756c744c6f63616c65287b0a20206461746554696d653a202225782c202558222c0a2020646174653a2022252d6d2f252d642f2559222c0a202074696d653a2022252d493a254d3a2553202570222c0a2020706572696f64733a205b22414d222c2022504d225d2c0a2020646179733a205b2253756e646179222c20224d6f6e646179222c202254756573646179222c20225765646e6573646179222c20225468757273646179222c2022467269646179222c20225361747572646179225d2c0a202073686f7274446179733a205b2253756e222c20224d6f6e222c2022547565222c2022576564222c2022546875222c2022467269222c2022536174225d2c0a20206d6f6e7468733a205b224a616e75617279222c20224665627275617279222c20224d61726368222c2022417072696c222c20224d6179222c20224a756e65222c20224a756c79222c2022417567757374222c202253657074656d626572222c20224f63746f626572222c20224e6f76656d626572222c2022446563656d626572225d2c0a202073686f72744d6f6e7468733a205b224a616e222c2022466562222c20224d6172222c2022417072222c20224d6179222c20224a756e222c20224a756c222c2022417567222c2022536570222c20224f6374222c20224e6f76222c2022446563225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e74696d65466f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e74696d655061727365203d206c6f63616c652e70617273653b0a20206578706f7274732e757463466f726d6174203d206c6f63616c652e757463466f726d61743b0a20206578706f7274732e7574635061727365203d206c6f63616c652e75746350617273653b0a202072657475726e206c6f63616c653b0a7d0a0a7661722069736f537065636966696572203d202225592d256d2d25645425483a254d3a25532e254c5a223b0a0a66756e6374696f6e20666f726d617449736f4e6174697665286461746529207b0a202072657475726e20646174652e746f49534f537472696e6728293b0a7d0a0a76617220666f726d617449736f203d20446174652e70726f746f747970652e746f49534f537472696e670a202020203f20666f726d617449736f4e61746976650a202020203a206578706f7274732e757463466f726d61742869736f537065636966696572293b0a0a66756e6374696f6e20706172736549736f4e617469766528737472696e6729207b0a20207661722064617465203d206e6577204461746528737472696e67293b0a202072657475726e2069734e614e286461746529203f206e756c6c203a20646174653b0a7d0a0a76617220706172736549736f203d202b6e657720446174652822323030302d30312d30315430303a30303a30302e3030305a22290a202020203f20706172736549736f4e61746976650a202020203a206578706f7274732e75746350617273652869736f537065636966696572293b0a0a6578706f7274732e74696d65466f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e74696d65466f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e69736f466f726d6174203d20666f726d617449736f3b0a6578706f7274732e69736f5061727365203d20706172736549736f3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d74696d65223a36347d5d2c36343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d652f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207430203d206e657720446174653b0a766172207431203d206e657720446174653b0a0a66756e6374696f6e206e6577496e74657276616c28666c6f6f72692c206f6666736574692c20636f756e742c206669656c6429207b0a0a202066756e6374696f6e20696e74657276616c286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e65772044617465282b6461746529292c20646174653b0a20207d0a0a2020696e74657276616c2e666c6f6f72203d20696e74657276616c3b0a0a2020696e74657276616c2e6365696c203d2066756e6374696f6e286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e657720446174652864617465202d203129292c206f66667365746928646174652c2031292c20666c6f6f72692864617465292c20646174653b0a20207d3b0a0a2020696e74657276616c2e726f756e64203d2066756e6374696f6e286461746529207b0a20202020766172206430203d20696e74657276616c2864617465292c0a20202020202020206431203d20696e74657276616c2e6365696c2864617465293b0a2020202072657475726e2064617465202d206430203c206431202d2064617465203f206430203a2064313b0a20207d3b0a0a2020696e74657276616c2e6f6666736574203d2066756e6374696f6e28646174652c207374657029207b0a2020202072657475726e206f6666736574692864617465203d206e65772044617465282b64617465292c2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f72287374657029292c20646174653b0a20207d3b0a0a2020696e74657276616c2e72616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a202020207661722072616e6765203d205b5d2c2070726576696f75733b0a202020207374617274203d20696e74657276616c2e6365696c287374617274293b0a2020202073746570203d2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f722873746570293b0a202020206966202821287374617274203c2073746f7029207c7c20212873746570203e203029292072657475726e2072616e67653b202f2f20616c736f2068616e646c657320496e76616c696420446174650a20202020646f2072616e67652e707573682870726576696f7573203d206e65772044617465282b737461727429292c206f6666736574692873746172742c2073746570292c20666c6f6f7269287374617274293b0a202020207768696c65202870726576696f7573203c207374617274202626207374617274203c2073746f70293b0a2020202072657475726e2072616e67653b0a20207d3b0a0a2020696e74657276616c2e66696c746572203d2066756e6374696f6e287465737429207b0a2020202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020202020206966202864617465203e3d206461746529207768696c652028666c6f6f72692864617465292c2021746573742864617465292920646174652e73657454696d652864617465202d2031293b0a202020207d2c2066756e6374696f6e28646174652c207374657029207b0a2020202020206966202864617465203e3d206461746529207b0a20202020202020206966202873746570203c203029207768696c6520282b2b73746570203c3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202d31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d20656c7365207768696c6520282d2d73746570203e3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202b31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d0a2020202020207d0a202020207d293b0a20207d3b0a0a202069662028636f756e7429207b0a20202020696e74657276616c2e636f756e74203d2066756e6374696f6e2873746172742c20656e6429207b0a20202020202074302e73657454696d65282b7374617274292c2074312e73657454696d65282b656e64293b0a202020202020666c6f6f7269287430292c20666c6f6f7269287431293b0a20202020202072657475726e204d6174682e666c6f6f7228636f756e742874302c20743129293b0a202020207d3b0a0a20202020696e74657276616c2e6576657279203d2066756e6374696f6e287374657029207b0a20202020202073746570203d204d6174682e666c6f6f722873746570293b0a20202020202072657475726e2021697346696e697465287374657029207c7c20212873746570203e203029203f206e756c6c0a202020202020202020203a20212873746570203e203129203f20696e74657276616c0a202020202020202020203a20696e74657276616c2e66696c746572286669656c640a20202020202020202020202020203f2066756e6374696f6e286429207b2072657475726e206669656c6428642920252073746570203d3d3d20303b207d0a20202020202020202020202020203a2066756e6374696f6e286429207b2072657475726e20696e74657276616c2e636f756e7428302c20642920252073746570203d3d3d20303b207d293b0a202020207d3b0a20207d0a0a202072657475726e20696e74657276616c3b0a7d0a0a766172206d696c6c697365636f6e64203d206e6577496e74657276616c2866756e6374696f6e2829207b0a20202f2f206e6f6f700a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e64202d2073746172743b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a6d696c6c697365636f6e642e6576657279203d2066756e6374696f6e286b29207b0a20206b203d204d6174682e666c6f6f72286b293b0a20206966202821697346696e697465286b29207c7c2021286b203e203029292072657475726e206e756c6c3b0a20206966202821286b203e203129292072657475726e206d696c6c697365636f6e643b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206b29202a206b293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657454696d65282b64617465202b2073746570202a206b293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206b3b0a20207d293b0a7d3b0a0a766172206d696c6c697365636f6e6473203d206d696c6c697365636f6e642e72616e67653b0a0a766172206475726174696f6e5365636f6e64203d203165333b0a766172206475726174696f6e4d696e757465203d203665343b0a766172206475726174696f6e486f7572203d20333665353b0a766172206475726174696f6e446179203d2038363465353b0a766172206475726174696f6e5765656b203d203630343865353b0a0a766172207365636f6e64203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e5365636f6e6429202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e5365636f6e643b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554435365636f6e647328293b0a7d293b0a0a766172207365636f6e6473203d207365636f6e642e72616e67653b0a0a766172206d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e4d696e75746529202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d696e7574657328293b0a7d293b0a0a766172206d696e75746573203d206d696e7574652e72616e67653b0a0a76617220686f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020766172206f6666736574203d20646174652e67657454696d657a6f6e654f66667365742829202a206475726174696f6e4d696e7574652025206475726174696f6e486f75723b0a2020696620286f6666736574203c203029206f6666736574202b3d206475726174696f6e486f75723b0a2020646174652e73657454696d65284d6174682e666c6f6f7228282b64617465202d206f666673657429202f206475726174696f6e486f757229202a206475726174696f6e486f7572202b206f6666736574293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574486f75727328293b0a7d293b0a0a76617220686f757273203d20686f75722e72616e67653b0a0a76617220646179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744461746528646174652e676574446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574446174652829202d20313b0a7d293b0a0a7661722064617973203d206461792e72616e67653b0a0a66756e6374696f6e207765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365744461746528646174652e676574446174652829202d2028646174652e6765744461792829202b2037202d20692920252037293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365744461746528646174652e676574446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722073756e646179203d207765656b6461792830293b0a766172206d6f6e646179203d207765656b6461792831293b0a7661722074756573646179203d207765656b6461792832293b0a766172207765646e6573646179203d207765656b6461792833293b0a766172207468757273646179203d207765656b6461792834293b0a76617220667269646179203d207765656b6461792835293b0a766172207361747572646179203d207765656b6461792836293b0a0a7661722073756e64617973203d2073756e6461792e72616e67653b0a766172206d6f6e64617973203d206d6f6e6461792e72616e67653b0a766172207475657364617973203d20747565736461792e72616e67653b0a766172207765646e657364617973203d207765646e65736461792e72616e67653b0a76617220746875727364617973203d2074687572736461792e72616e67653b0a7661722066726964617973203d206672696461792e72616e67653b0a76617220736174757264617973203d2073617475726461792e72616e67653b0a0a766172206d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574446174652831293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744d6f6e746828646174652e6765744d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765744d6f6e74682829202d2073746172742e6765744d6f6e74682829202b2028656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d6f6e746828293b0a7d293b0a0a766172206d6f6e746873203d206d6f6e74682e72616e67653b0a0a7661722079656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365744d6f6e746828302c2031293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657446756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a796561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657446756c6c59656172284d6174682e666c6f6f7228646174652e67657446756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365744d6f6e746828302c2031293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a0a766172207965617273203d20796561722e72616e67653b0a0a766172207574634d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554435365636f6e647328302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d696e7574657328293b0a7d293b0a0a766172207574634d696e75746573203d207574634d696e7574652e72616e67653b0a0a76617220757463486f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d696e7574657328302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443486f75727328293b0a7d293b0a0a76617220757463486f757273203d20757463486f75722e72616e67653b0a0a76617220757463446179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443446174652829202d20313b0a7d293b0a0a7661722075746344617973203d207574634461792e72616e67653b0a0a66756e6374696f6e207574635765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202d2028646174652e6765745554434461792829202b2037202d20692920252037293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722075746353756e646179203d207574635765656b6461792830293b0a766172207574634d6f6e646179203d207574635765656b6461792831293b0a7661722075746354756573646179203d207574635765656b6461792832293b0a766172207574635765646e6573646179203d207574635765656b6461792833293b0a766172207574635468757273646179203d207574635765656b6461792834293b0a76617220757463467269646179203d207574635765656b6461792835293b0a766172207574635361747572646179203d207574635765656b6461792836293b0a0a7661722075746353756e64617973203d2075746353756e6461792e72616e67653b0a766172207574634d6f6e64617973203d207574634d6f6e6461792e72616e67653b0a766172207574635475657364617973203d20757463547565736461792e72616e67653b0a766172207574635765646e657364617973203d207574635765646e65736461792e72616e67653b0a76617220757463546875727364617973203d2075746354687572736461792e72616e67653b0a7661722075746346726964617973203d207574634672696461792e72616e67653b0a76617220757463536174757264617973203d2075746353617475726461792e72616e67653b0a0a766172207574634d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443446174652831293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434d6f6e746828646174652e6765745554434d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765745554434d6f6e74682829202d2073746172742e6765745554434d6f6e74682829202b2028656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d6f6e746828293b0a7d293b0a0a766172207574634d6f6e746873203d207574634d6f6e74682e72616e67653b0a0a7661722075746359656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d6f6e746828302c2031293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657455544346756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a757463596561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657455544346756c6c59656172284d6174682e666c6f6f7228646174652e67657455544346756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365745554434d6f6e746828302c2031293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a0a766172207574635965617273203d20757463596561722e72616e67653b0a0a6578706f7274732e74696d65496e74657276616c203d206e6577496e74657276616c3b0a6578706f7274732e74696d654d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e74696d654d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e7574634d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e7574634d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e74696d655365636f6e64203d207365636f6e643b0a6578706f7274732e74696d655365636f6e6473203d207365636f6e64733b0a6578706f7274732e7574635365636f6e64203d207365636f6e643b0a6578706f7274732e7574635365636f6e6473203d207365636f6e64733b0a6578706f7274732e74696d654d696e757465203d206d696e7574653b0a6578706f7274732e74696d654d696e75746573203d206d696e757465733b0a6578706f7274732e74696d65486f7572203d20686f75723b0a6578706f7274732e74696d65486f757273203d20686f7572733b0a6578706f7274732e74696d65446179203d206461793b0a6578706f7274732e74696d6544617973203d20646179733b0a6578706f7274732e74696d655765656b203d2073756e6461793b0a6578706f7274732e74696d655765656b73203d2073756e646179733b0a6578706f7274732e74696d6553756e646179203d2073756e6461793b0a6578706f7274732e74696d6553756e64617973203d2073756e646179733b0a6578706f7274732e74696d654d6f6e646179203d206d6f6e6461793b0a6578706f7274732e74696d654d6f6e64617973203d206d6f6e646179733b0a6578706f7274732e74696d6554756573646179203d20747565736461793b0a6578706f7274732e74696d655475657364617973203d2074756573646179733b0a6578706f7274732e74696d655765646e6573646179203d207765646e65736461793b0a6578706f7274732e74696d655765646e657364617973203d207765646e6573646179733b0a6578706f7274732e74696d655468757273646179203d2074687572736461793b0a6578706f7274732e74696d65546875727364617973203d207468757273646179733b0a6578706f7274732e74696d65467269646179203d206672696461793b0a6578706f7274732e74696d6546726964617973203d20667269646179733b0a6578706f7274732e74696d655361747572646179203d2073617475726461793b0a6578706f7274732e74696d65536174757264617973203d207361747572646179733b0a6578706f7274732e74696d654d6f6e7468203d206d6f6e74683b0a6578706f7274732e74696d654d6f6e746873203d206d6f6e7468733b0a6578706f7274732e74696d6559656172203d20796561723b0a6578706f7274732e74696d655965617273203d2079656172733b0a6578706f7274732e7574634d696e757465203d207574634d696e7574653b0a6578706f7274732e7574634d696e75746573203d207574634d696e757465733b0a6578706f7274732e757463486f7572203d20757463486f75723b0a6578706f7274732e757463486f757273203d20757463486f7572733b0a6578706f7274732e757463446179203d207574634461793b0a6578706f7274732e75746344617973203d20757463446179733b0a6578706f7274732e7574635765656b203d2075746353756e6461793b0a6578706f7274732e7574635765656b73203d2075746353756e646179733b0a6578706f7274732e75746353756e646179203d2075746353756e6461793b0a6578706f7274732e75746353756e64617973203d2075746353756e646179733b0a6578706f7274732e7574634d6f6e646179203d207574634d6f6e6461793b0a6578706f7274732e7574634d6f6e64617973203d207574634d6f6e646179733b0a6578706f7274732e75746354756573646179203d20757463547565736461793b0a6578706f7274732e7574635475657364617973203d2075746354756573646179733b0a6578706f7274732e7574635765646e6573646179203d207574635765646e65736461793b0a6578706f7274732e7574635765646e657364617973203d207574635765646e6573646179733b0a6578706f7274732e7574635468757273646179203d2075746354687572736461793b0a6578706f7274732e757463546875727364617973203d207574635468757273646179733b0a6578706f7274732e757463467269646179203d207574634672696461793b0a6578706f7274732e75746346726964617973203d20757463467269646179733b0a6578706f7274732e7574635361747572646179203d2075746353617475726461793b0a6578706f7274732e757463536174757264617973203d207574635361747572646179733b0a6578706f7274732e7574634d6f6e7468203d207574634d6f6e74683b0a6578706f7274732e7574634d6f6e746873203d207574634d6f6e7468733b0a6578706f7274732e75746359656172203d20757463596561723b0a6578706f7274732e7574635965617273203d2075746359656172733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d65722f2056657273696f6e20312e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172206672616d65203d20303b0a7661722074696d656f7574203d20303b0a76617220696e74657276616c203d20303b0a76617220706f6b6544656c6179203d20313030303b0a766172207461736b486561643b0a766172207461736b5461696c3b0a76617220636c6f636b4c617374203d20303b0a76617220636c6f636b4e6f77203d20303b0a76617220636c6f636b536b6577203d20303b0a76617220636c6f636b203d20747970656f6620706572666f726d616e6365203d3d3d20226f626a6563742220262620706572666f726d616e63652e6e6f77203f20706572666f726d616e6365203a20446174653b0a766172207365744672616d65203d20747970656f662077696e646f77203d3d3d20226f626a656374222026262077696e646f772e72657175657374416e696d6174696f6e4672616d65203f2077696e646f772e72657175657374416e696d6174696f6e4672616d652e62696e642877696e646f7729203a2066756e6374696f6e286629207b2073657454696d656f757428662c203137293b207d3b0a0a66756e6374696f6e206e6f772829207b0a202072657475726e20636c6f636b4e6f77207c7c20287365744672616d6528636c6561724e6f77292c20636c6f636b4e6f77203d20636c6f636b2e6e6f772829202b20636c6f636b536b6577293b0a7d0a0a66756e6374696f6e20636c6561724e6f772829207b0a2020636c6f636b4e6f77203d20303b0a7d0a0a66756e6374696f6e2054696d65722829207b0a2020746869732e5f63616c6c203d0a2020746869732e5f74696d65203d0a2020746869732e5f6e657874203d206e756c6c3b0a7d0a0a54696d65722e70726f746f74797065203d2074696d65722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2054696d65722c0a2020726573746172743a2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e657720547970654572726f72282263616c6c6261636b206973206e6f7420612066756e6374696f6e22293b0a2020202074696d65203d202874696d65203d3d206e756c6c203f206e6f772829203a202b74696d6529202b202864656c6179203d3d206e756c6c203f2030203a202b64656c6179293b0a202020206966202821746869732e5f6e657874202626207461736b5461696c20213d3d207468697329207b0a202020202020696620287461736b5461696c29207461736b5461696c2e5f6e657874203d20746869733b0a202020202020656c7365207461736b48656164203d20746869733b0a2020202020207461736b5461696c203d20746869733b0a202020207d0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a20202020746869732e5f74696d65203d2074696d653b0a20202020736c65657028293b0a20207d2c0a202073746f703a2066756e6374696f6e2829207b0a2020202069662028746869732e5f63616c6c29207b0a202020202020746869732e5f63616c6c203d206e756c6c3b0a202020202020746869732e5f74696d65203d20496e66696e6974793b0a202020202020736c65657028293b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2074696d65722863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a2020742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e2074696d6572466c7573682829207b0a20206e6f7728293b202f2f20476574207468652063757272656e742074696d652c206966206e6f7420616c7265616479207365742e0a20202b2b6672616d653b202f2f2050726574656e64207765e2809976652073657420616e20616c61726d2c20696620776520686176656ee280997420616c72656164792e0a20207661722074203d207461736b486561642c20653b0a20207768696c6520287429207b0a20202020696620282865203d20636c6f636b4e6f77202d20742e5f74696d6529203e3d20302920742e5f63616c6c2e63616c6c286e756c6c2c2065293b0a2020202074203d20742e5f6e6578743b0a20207d0a20202d2d6672616d653b0a7d0a0a66756e6374696f6e2077616b652829207b0a2020636c6f636b4e6f77203d2028636c6f636b4c617374203d20636c6f636b2e6e6f77282929202b20636c6f636b536b65773b0a20206672616d65203d2074696d656f7574203d20303b0a2020747279207b0a2020202074696d6572466c75736828293b0a20207d2066696e616c6c79207b0a202020206672616d65203d20303b0a202020206e617028293b0a20202020636c6f636b4e6f77203d20303b0a20207d0a7d0a0a66756e6374696f6e20706f6b652829207b0a2020766172206e6f77203d20636c6f636b2e6e6f7728292c2064656c6179203d206e6f77202d20636c6f636b4c6173743b0a20206966202864656c6179203e20706f6b6544656c61792920636c6f636b536b6577202d3d2064656c61792c20636c6f636b4c617374203d206e6f773b0a7d0a0a66756e6374696f6e206e61702829207b0a20207661722074302c207431203d207461736b486561642c2074322c2074696d65203d20496e66696e6974793b0a20207768696c652028743129207b0a202020206966202874312e5f63616c6c29207b0a2020202020206966202874696d65203e2074312e5f74696d65292074696d65203d2074312e5f74696d653b0a2020202020207430203d2074312c207431203d2074312e5f6e6578743b0a202020207d20656c7365207b0a2020202020207432203d2074312e5f6e6578742c2074312e5f6e657874203d206e756c6c3b0a2020202020207431203d207430203f2074302e5f6e657874203d207432203a207461736b48656164203d2074323b0a202020207d0a20207d0a20207461736b5461696c203d2074303b0a2020736c6565702874696d65293b0a7d0a0a66756e6374696f6e20736c6565702874696d6529207b0a2020696620286672616d65292072657475726e3b202f2f20536f6f6e65737420616c61726d20616c7265616479207365742c206f722077696c6c2062652e0a20206966202874696d656f7574292074696d656f7574203d20636c65617254696d656f75742874696d656f7574293b0a20207661722064656c6179203d2074696d65202d20636c6f636b4e6f773b202f2f205374726963746c79206c657373207468616e206966207765207265636f6d707574656420636c6f636b4e6f772e0a20206966202864656c6179203e20323429207b0a202020206966202874696d65203c20496e66696e697479292074696d656f7574203d2073657454696d656f75742877616b652c2074696d65202d20636c6f636b2e6e6f772829202d20636c6f636b536b6577293b0a2020202069662028696e74657276616c2920696e74657276616c203d20636c656172496e74657276616c28696e74657276616c293b0a20207d20656c7365207b0a202020206966202821696e74657276616c2920636c6f636b4c617374203d20636c6f636b2e6e6f7728292c20696e74657276616c203d20736574496e74657276616c28706f6b652c20706f6b6544656c6179293b0a202020206672616d65203d20312c207365744672616d652877616b65293b0a20207d0a7d0a0a7661722074696d656f75742431203d2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a202064656c6179203d2064656c6179203d3d206e756c6c203f2030203a202b64656c61793b0a2020742e726573746172742866756e6374696f6e28656c617073656429207b0a20202020742e73746f7028293b0a2020202063616c6c6261636b28656c6170736564202b2064656c6179293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d3b0a0a76617220696e74657276616c2431203d2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65722c20746f74616c203d2064656c61793b0a20206966202864656c6179203d3d206e756c6c292072657475726e20742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65292c20743b0a202064656c6179203d202b64656c61792c2074696d65203d2074696d65203d3d206e756c6c203f206e6f772829203a202b74696d653b0a2020742e726573746172742866756e6374696f6e207469636b28656c617073656429207b0a20202020656c6170736564202b3d20746f74616c3b0a20202020742e72657374617274287469636b2c20746f74616c202b3d2064656c61792c2074696d65293b0a2020202063616c6c6261636b28656c6170736564293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d3b0a0a6578706f7274732e6e6f77203d206e6f773b0a6578706f7274732e74696d6572203d2074696d65723b0a6578706f7274732e74696d6572466c757368203d2074696d6572466c7573683b0a6578706f7274732e74696d656f7574203d2074696d656f757424313b0a6578706f7274732e696e74657276616c203d20696e74657276616c24313b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7472616e736974696f6e2f2056657273696f6e20312e312e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d646973706174636827292c2072657175697265282764332d74696d657227292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d636f6c6f7227292c2072657175697265282764332d65617365272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d73656c656374696f6e272c202764332d6469737061746368272c202764332d74696d6572272c202764332d696e746572706f6c617465272c202764332d636f6c6f72272c202764332d65617365275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643353656c656374696f6e2c643344697370617463682c643354696d65722c6433496e746572706f6c6174652c6433436f6c6f722c64334561736529207b202775736520737472696374273b0a0a76617220656d7074794f6e203d20643344697370617463682e646973706174636828227374617274222c2022656e64222c2022696e7465727275707422293b0a76617220656d707479547765656e203d205b5d3b0a0a7661722043524541544544203d20303b0a766172205343484544554c4544203d20313b0a766172205354415254494e47203d20323b0a7661722053544152544544203d20333b0a7661722052554e4e494e47203d20343b0a76617220454e44494e47203d20353b0a76617220454e444544203d20363b0a0a766172207363686564756c65203d2066756e6374696f6e286e6f64652c206e616d652c2069642c20696e6465782c2067726f75702c2074696d696e6729207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c657329206e6f64652e5f5f7472616e736974696f6e203d207b7d3b0a2020656c73652069662028696420696e207363686564756c6573292072657475726e3b0a2020637265617465286e6f64652c2069642c207b0a202020206e616d653a206e616d652c0a20202020696e6465783a20696e6465782c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a2020202067726f75703a2067726f75702c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a202020206f6e3a20656d7074794f6e2c0a20202020747765656e3a20656d707479547765656e2c0a2020202074696d653a2074696d696e672e74696d652c0a2020202064656c61793a2074696d696e672e64656c61792c0a202020206475726174696f6e3a2074696d696e672e6475726174696f6e2c0a20202020656173653a2074696d696e672e656173652c0a2020202074696d65723a206e756c6c2c0a2020202073746174653a20435245415445440a20207d293b0a7d3b0a0a66756e6374696f6e20696e6974286e6f64652c20696429207b0a2020766172207363686564756c65203d20676574286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e204352454154454429207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207363686564756c656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20736574286e6f64652c20696429207b0a2020766172207363686564756c65203d20676574286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e205354415254494e4729207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207374617274656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20676574286e6f64652c20696429207b0a2020766172207363686564756c65203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c65207c7c2021287363686564756c65203d207363686564756c655b69645d2929207468726f77206e6577204572726f7228227472616e736974696f6e206e6f7420666f756e6422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20637265617465286e6f64652c2069642c2073656c6629207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a202020202020747765656e3b0a0a20202f2f20496e697469616c697a65207468652073656c662074696d6572207768656e20746865207472616e736974696f6e20697320637265617465642e0a20202f2f204e6f7465207468652061637475616c2064656c6179206973206e6f74206b6e6f776e20756e74696c207468652066697273742063616c6c6261636b210a20207363686564756c65735b69645d203d2073656c663b0a202073656c662e74696d6572203d20643354696d65722e74696d6572287363686564756c652c20302c2073656c662e74696d65293b0a0a202066756e6374696f6e207363686564756c6528656c617073656429207b0a2020202073656c662e7374617465203d205343484544554c45443b0a2020202073656c662e74696d65722e726573746172742873746172742c2073656c662e64656c61792c2073656c662e74696d65293b0a0a202020202f2f2049662074686520656c61707365642064656c6179206973206c657373207468616e206f757220666972737420736c6565702c20737461727420696d6d6564696174656c792e0a202020206966202873656c662e64656c6179203c3d20656c61707365642920737461727428656c6170736564202d2073656c662e64656c6179293b0a20207d0a0a202066756e6374696f6e20737461727428656c617073656429207b0a2020202076617220692c206a2c206e2c206f3b0a0a202020202f2f20496620746865207374617465206973206e6f74205343484544554c45442c207468656e2077652070726576696f75736c79206572726f726564206f6e2073746172742e0a202020206966202873656c662e737461746520213d3d205343484544554c4544292072657475726e2073746f7028293b0a0a20202020666f7220286920696e207363686564756c657329207b0a2020202020206f203d207363686564756c65735b695d3b0a202020202020696620286f2e6e616d6520213d3d2073656c662e6e616d652920636f6e74696e75653b0a0a2020202020202f2f205768696c65207468697320656c656d656e7420616c7265616479206861732061207374617274696e67207472616e736974696f6e20647572696e672074686973206672616d652c0a2020202020202f2f206465666572207374617274696e6720616e20696e74657272757074696e67207472616e736974696f6e20756e74696c2074686174207472616e736974696f6e2068617320610a2020202020202f2f206368616e636520746f207469636b2028616e6420706f737369626c7920656e64293b207365652064332f64332d7472616e736974696f6e233534210a202020202020696620286f2e7374617465203d3d3d2053544152544544292072657475726e20643354696d65722e74696d656f7574287374617274293b0a0a2020202020202f2f20496e746572727570742074686520616374697665207472616e736974696f6e2c20696620616e792e0a2020202020202f2f2044697370617463682074686520696e74657272757074206576656e742e0a202020202020696620286f2e7374617465203d3d3d2052554e4e494e4729207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a20202020202020206f2e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c206f2e696e6465782c206f2e67726f7570293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a0a2020202020202f2f2043616e63656c20616e79207072652d656d70746564207472616e736974696f6e732e204e6f20696e74657272757074206576656e7420697320646973706174636865640a2020202020202f2f2062656361757365207468652063616e63656c6c6564207472616e736974696f6e73206e6576657220737461727465642e204e6f74652074686174207468697320616c736f0a2020202020202f2f2072656d6f7665732074686973207472616e736974696f6e2066726f6d207468652070656e64696e67206c697374210a202020202020656c736520696620282b69203c20696429207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a202020207d0a0a202020202f2f20446566657220746865206669727374207469636b20746f20656e64206f66207468652063757272656e74206672616d653b207365652064332f643323313537362e0a202020202f2f204e6f746520746865207472616e736974696f6e206d61792062652063616e63656c656420616674657220737461727420616e64206265666f726520746865206669727374207469636b210a202020202f2f204e6f74652074686973206d757374206265207363686564756c6564206265666f726520746865207374617274206576656e743b207365652064332f64332d7472616e736974696f6e233136210a202020202f2f20417373756d696e672074686973206973207375636365737366756c2c2073756273657175656e742063616c6c6261636b7320676f20737472616967687420746f207469636b2e0a20202020643354696d65722e74696d656f75742866756e6374696f6e2829207b0a2020202020206966202873656c662e7374617465203d3d3d205354415254454429207b0a202020202020202073656c662e7374617465203d2052554e4e494e473b0a202020202020202073656c662e74696d65722e72657374617274287469636b2c2073656c662e64656c61792c2073656c662e74696d65293b0a20202020202020207469636b28656c6170736564293b0a2020202020207d0a202020207d293b0a0a202020202f2f20446973706174636820746865207374617274206576656e742e0a202020202f2f204e6f74652074686973206d75737420626520646f6e65206265666f72652074686520747765656e2061726520696e697469616c697a65642e0a2020202073656c662e7374617465203d205354415254494e473b0a2020202073656c662e6f6e2e63616c6c28227374617274222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a202020206966202873656c662e737461746520213d3d205354415254494e47292072657475726e3b202f2f20696e7465727275707465640a2020202073656c662e7374617465203d20535441525445443b0a0a202020202f2f20496e697469616c697a652074686520747765656e2c2064656c6574696e67206e756c6c20747765656e2e0a20202020747765656e203d206e6577204172726179286e203d2073656c662e747765656e2e6c656e677468293b0a20202020666f72202869203d20302c206a203d202d313b2069203c206e3b202b2b6929207b0a202020202020696620286f203d2073656c662e747765656e5b695d2e76616c75652e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f75702929207b0a2020202020202020747765656e5b2b2b6a5d203d206f3b0a2020202020207d0a202020207d0a20202020747765656e2e6c656e677468203d206a202b20313b0a20207d0a0a202066756e6374696f6e207469636b28656c617073656429207b0a202020207661722074203d20656c6170736564203c2073656c662e6475726174696f6e203f2073656c662e656173652e63616c6c286e756c6c2c20656c6170736564202f2073656c662e6475726174696f6e29203a202873656c662e74696d65722e726573746172742873746f70292c2073656c662e7374617465203d20454e44494e472c2031292c0a202020202020202069203d202d312c0a20202020202020206e203d20747765656e2e6c656e6774683b0a0a202020207768696c6520282b2b69203c206e29207b0a202020202020747765656e5b695d2e63616c6c286e756c6c2c2074293b0a202020207d0a0a202020202f2f2044697370617463682074686520656e64206576656e742e0a202020206966202873656c662e7374617465203d3d3d20454e44494e4729207b0a20202020202073656c662e6f6e2e63616c6c2822656e64222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a20202020202073746f7028293b0a202020207d0a20207d0a0a202066756e6374696f6e2073746f702829207b0a2020202073656c662e7374617465203d20454e4445443b0a2020202073656c662e74696d65722e73746f7028293b0a2020202064656c657465207363686564756c65735b69645d3b0a20202020666f722028766172206920696e207363686564756c6573292072657475726e3b202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d756e757365642d766172730a2020202064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a20207d0a7d0a0a76617220696e74657272757074203d2066756e6374696f6e286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652c0a2020202020206163746976652c0a202020202020656d707479203d20747275652c0a202020202020693b0a0a202069662028217363686564756c6573292072657475726e3b0a0a20206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a0a2020666f7220286920696e207363686564756c657329207b0a2020202069662028287363686564756c65203d207363686564756c65735b695d292e6e616d6520213d3d206e616d6529207b20656d707479203d2066616c73653b20636f6e74696e75653b207d0a20202020616374697665203d207363686564756c652e7374617465203e205354415254494e47202626207363686564756c652e7374617465203c20454e44494e473b0a202020207363686564756c652e7374617465203d20454e4445443b0a202020207363686564756c652e74696d65722e73746f7028293b0a202020206966202861637469766529207363686564756c652e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c207363686564756c652e696e6465782c207363686564756c652e67726f7570293b0a2020202064656c657465207363686564756c65735b695d3b0a20207d0a0a202069662028656d707479292064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a7d3b0a0a7661722073656c656374696f6e5f696e74657272757074203d2066756e6374696f6e286e616d6529207b0a202072657475726e20746869732e656163682866756e6374696f6e2829207b0a20202020696e7465727275707428746869732c206e616d65293b0a20207d293b0a7d3b0a0a66756e6374696f6e20747765656e52656d6f76652869642c206e616d6529207b0a202076617220747765656e302c20747765656e313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964292c0a2020202020202020747765656e203d207363686564756c652e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d20747765656e30203d20747765656e3b0a202020202020666f7220287661722069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e31203d20747765656e312e736c69636528293b0a20202020202020202020747765656e312e73706c69636528692c2031293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a0a202020207363686564756c652e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e20747765656e46756e6374696f6e2869642c206e616d652c2076616c756529207b0a202076617220747765656e302c20747765656e313b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964292c0a2020202020202020747765656e203d207363686564756c652e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d2028747765656e30203d20747765656e292e736c69636528293b0a202020202020666f7220287661722074203d207b6e616d653a206e616d652c2076616c75653a2076616c75657d2c2069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e315b695d203d20743b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020206966202869203d3d3d206e2920747765656e312e707573682874293b0a202020207d0a0a202020207363686564756c652e747765656e203d20747765656e313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f747765656e203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a20206e616d65202b3d2022223b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202076617220747765656e203d2067657428746869732e6e6f646528292c206964292e747765656e3b0a20202020666f7220287661722069203d20302c206e203d20747765656e2e6c656e6774682c20743b2069203c206e3b202b2b6929207b0a202020202020696620282874203d20747765656e5b695d292e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e20742e76616c75653b0a2020202020207d0a202020207d0a2020202072657475726e206e756c6c3b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c203f20747765656e52656d6f7665203a20747765656e46756e6374696f6e292869642c206e616d652c2076616c756529293b0a7d3b0a0a66756e6374696f6e20747765656e56616c7565287472616e736974696f6e2c206e616d652c2076616c756529207b0a2020766172206964203d207472616e736974696f6e2e5f69643b0a0a20207472616e736974696f6e2e656163682866756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964293b0a20202020287363686564756c652e76616c7565207c7c20287363686564756c652e76616c7565203d207b7d29295b6e616d655d203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d293b0a0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202072657475726e20676574286e6f64652c206964292e76616c75655b6e616d655d3b0a20207d3b0a7d0a0a76617220696e746572706f6c617465203d2066756e6374696f6e28612c206229207b0a202076617220633b0a202072657475726e2028747970656f662062203d3d3d20226e756d62657222203f206433496e746572706f6c6174652e696e746572706f6c6174654e756d6265720a2020202020203a206220696e7374616e63656f66206433436f6c6f722e636f6c6f72203f206433496e746572706f6c6174652e696e746572706f6c6174655267620a2020202020203a202863203d206433436f6c6f722e636f6c6f7228622929203f202862203d20632c206433496e746572706f6c6174652e696e746572706f6c617465526762290a2020202020203a206433496e746572706f6c6174652e696e746572706f6c617465537472696e672928612c2062293b0a7d3b0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f7665417474726962757465286e616d65293b0a2020202076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f61747472203d2066756e6374696f6e286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d20643353656c656374696f6e2e6e616d657370616365286e616d65292c2069203d2066756c6c6e616d65203d3d3d20227472616e73666f726d22203f206433496e746572706f6c6174652e696e746572706f6c6174655472616e73666f726d537667203a20696e746572706f6c6174653b0a202072657475726e20746869732e61747472547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e292866756c6c6e616d652c20692c20747765656e56616c756528746869732c2022617474722e22202b206e616d652c2076616c756529290a2020202020203a2076616c7565203d3d206e756c6c203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f7665292866756c6c6e616d65290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e74292866756c6c6e616d652c20692c2076616c7565202b20222229293b0a7d3b0a0a66756e6374696f6e2061747472547765656e4e532866756c6c6e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e2061747472547765656e286e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e736574417474726962757465286e616d652c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a766172207472616e736974696f6e5f61747472547765656e203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206b6579203d2022617474722e22202b206e616d653b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a20207661722066756c6c6e616d65203d20643353656c656374696f6e2e6e616d657370616365286e616d65293b0a202072657475726e20746869732e747765656e286b65792c202866756c6c6e616d652e6c6f63616c203f2061747472547765656e4e53203a2061747472547765656e292866756c6c6e616d652c2076616c756529293b0a7d3b0a0a66756e6374696f6e2064656c617946756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e2064656c6179436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f64656c6179203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2064656c617946756e6374696f6e0a202020202020202020203a2064656c6179436f6e7374616e74292869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e64656c61793b0a7d3b0a0a66756e6374696f6e206475726174696f6e46756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e6475726174696f6e203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e206475726174696f6e436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e6475726174696f6e203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f6475726174696f6e203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f206475726174696f6e46756e6374696f6e0a202020202020202020203a206475726174696f6e436f6e7374616e74292869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e6475726174696f6e3b0a7d3b0a0a66756e6374696f6e2065617365436f6e7374616e742869642c2076616c756529207b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e65617365203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f65617365203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682865617365436f6e7374616e742869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e656173653b0a7d3b0a0a766172207472616e736974696f6e5f66696c746572203d2066756e6374696f6e286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d20643353656c656374696f6e2e6d617463686572286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d3b0a0a766172207472616e736974696f6e5f6d65726765203d2066756e6374696f6e287472616e736974696f6e29207b0a2020696620287472616e736974696f6e2e5f696420213d3d20746869732e5f696429207468726f77206e6577204572726f723b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d207472616e736974696f6e2e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e6577205472616e736974696f6e286d65726765732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d3b0a0a66756e6374696f6e207374617274286e616d6529207b0a202072657475726e20286e616d65202b202222292e7472696d28292e73706c6974282f5e7c5c732b2f292e65766572792866756e6374696f6e287429207b0a202020207661722069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d2030292074203d20742e736c69636528302c2069293b0a2020202072657475726e202174207c7c2074203d3d3d20227374617274223b0a20207d293b0a7d0a0a66756e6374696f6e206f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229207b0a2020766172206f6e302c206f6e312c20736974203d207374617274286e616d6529203f20696e6974203a207365743b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073697428746869732c206964292c0a20202020202020206f6e203d207363686564756c652e6f6e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420612064697370617463682077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420646973706174636820616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a20202020696620286f6e20213d3d206f6e302920286f6e31203d20286f6e30203d206f6e292e636f70792829292e6f6e286e616d652c206c697374656e6572293b0a0a202020207363686564756c652e6f6e203d206f6e313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f6f6e203d2066756e6374696f6e286e616d652c206c697374656e657229207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e677468203c20320a2020202020203f2067657428746869732e6e6f646528292c206964292e6f6e2e6f6e286e616d65290a2020202020203a20746869732e65616368286f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229293b0a7d3b0a0a66756e6374696f6e2072656d6f766546756e6374696f6e28696429207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220706172656e74203d20746869732e706172656e744e6f64653b0a20202020666f722028766172206920696e20746869732e5f5f7472616e736974696f6e2920696620282b6920213d3d206964292072657475726e3b0a2020202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f72656d6f7665203d2066756e6374696f6e2829207b0a202072657475726e20746869732e6f6e2822656e642e72656d6f7665222c2072656d6f766546756e6374696f6e28746869732e5f696429293b0a7d3b0a0a766172207472616e736974696f6e5f73656c656374203d2066756e6374696f6e2873656c65637429207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d20643353656c656374696f6e2e73656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a20202020202020207363686564756c652873756267726f75705b695d2c206e616d652c2069642c20692c2073756267726f75702c20676574286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d3b0a0a766172207472616e736974696f6e5f73656c656374416c6c203d2066756e6374696f6e2873656c65637429207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d20643353656c656374696f6e2e73656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020666f722028766172206368696c6472656e203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292c206368696c642c20696e6865726974203d20676574286e6f64652c206964292c206b203d20302c206c203d206368696c6472656e2e6c656e6774683b206b203c206c3b202b2b6b29207b0a20202020202020202020696620286368696c64203d206368696c6472656e5b6b5d29207b0a2020202020202020202020207363686564756c65286368696c642c206e616d652c2069642c206b2c206368696c6472656e2c20696e6865726974293b0a202020202020202020207d0a20202020202020207d0a202020202020202073756267726f7570732e70757368286368696c6472656e293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20706172656e74732c206e616d652c206964293b0a7d3b0a0a7661722053656c656374696f6e203d20643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e636f6e7374727563746f723b0a0a766172207472616e736974696f6e5f73656c656374696f6e203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f67726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e207374796c6552656d6f7665286e616d652c20696e746572706f6c61746524243129207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65292c0a202020202020202076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c20643353656c656374696f6e2e7374796c6528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6552656d6f7665456e64286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65292c0a202020202020202076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c20643353656c656374696f6e2e7374796c6528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f7374796c65203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a20207661722069203d20286e616d65202b3d20222229203d3d3d20227472616e73666f726d22203f206433496e746572706f6c6174652e696e746572706f6c6174655472616e73666f726d437373203a20696e746572706f6c6174653b0a202072657475726e2076616c7565203d3d206e756c6c203f20746869730a202020202020202020202e7374796c65547765656e286e616d652c207374796c6552656d6f7665286e616d652c206929290a202020202020202020202e6f6e2822656e642e7374796c652e22202b206e616d652c207374796c6552656d6f7665456e64286e616d6529290a2020202020203a20746869732e7374796c65547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207374796c6546756e6374696f6e286e616d652c20692c20747765656e56616c756528746869732c20227374796c652e22202b206e616d652c2076616c756529290a202020202020202020203a207374796c65436f6e7374616e74286e616d652c20692c2076616c7565202b202222292c207072696f72697479293b0a7d3b0a0a66756e6374696f6e207374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7374796c652e73657450726f7065727479286e616d652c20692874292c207072696f72697479293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a766172207472616e736974696f6e5f7374796c65547765656e203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a2020766172206b6579203d20227374796c652e22202b20286e616d65202b3d202222293b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20746869732e747765656e286b65792c207374796c65547765656e286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929293b0a7d3b0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756531203d2076616c75652874686973293b0a20202020746869732e74657874436f6e74656e74203d2076616c756531203d3d206e756c6c203f202222203a2076616c7565313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f74657874203d2066756e6374696f6e2876616c756529207b0a202072657475726e20746869732e747765656e282274657874222c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f207465787446756e6374696f6e28747765656e56616c756528746869732c202274657874222c2076616c756529290a2020202020203a2074657874436f6e7374616e742876616c7565203d3d206e756c6c203f202222203a2076616c7565202b20222229293b0a7d3b0a0a766172207472616e736974696f6e5f7472616e736974696f6e203d2066756e6374696f6e2829207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a202020202020696430203d20746869732e5f69642c0a202020202020696431203d206e6577496428293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202076617220696e6865726974203d20676574286e6f64652c20696430293b0a20202020202020207363686564756c65286e6f64652c206e616d652c206964312c20692c2067726f75702c207b0a2020202020202020202074696d653a20696e68657269742e74696d65202b20696e68657269742e64656c6179202b20696e68657269742e6475726174696f6e2c0a2020202020202020202064656c61793a20302c0a202020202020202020206475726174696f6e3a20696e68657269742e6475726174696f6e2c0a20202020202020202020656173653a20696e68657269742e656173650a20202020202020207d293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c20696431293b0a7d3b0a0a766172206964203d20303b0a0a66756e6374696f6e205472616e736974696f6e2867726f7570732c20706172656e74732c206e616d652c20696429207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a2020746869732e5f6e616d65203d206e616d653b0a2020746869732e5f6964203d2069643b0a7d0a0a66756e6374696f6e207472616e736974696f6e286e616d6529207b0a202072657475726e20643353656c656374696f6e2e73656c656374696f6e28292e7472616e736974696f6e286e616d65293b0a7d0a0a66756e6374696f6e206e657749642829207b0a202072657475726e202b2b69643b0a7d0a0a7661722073656c656374696f6e5f70726f746f74797065203d20643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970653b0a0a5472616e736974696f6e2e70726f746f74797065203d207472616e736974696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e736974696f6e2c0a202073656c6563743a207472616e736974696f6e5f73656c6563742c0a202073656c656374416c6c3a207472616e736974696f6e5f73656c656374416c6c2c0a202066696c7465723a207472616e736974696f6e5f66696c7465722c0a20206d657267653a207472616e736974696f6e5f6d657267652c0a202073656c656374696f6e3a207472616e736974696f6e5f73656c656374696f6e2c0a20207472616e736974696f6e3a207472616e736974696f6e5f7472616e736974696f6e2c0a202063616c6c3a2073656c656374696f6e5f70726f746f747970652e63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f70726f746f747970652e6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f70726f746f747970652e6e6f64652c0a202073697a653a2073656c656374696f6e5f70726f746f747970652e73697a652c0a2020656d7074793a2073656c656374696f6e5f70726f746f747970652e656d7074792c0a2020656163683a2073656c656374696f6e5f70726f746f747970652e656163682c0a20206f6e3a207472616e736974696f6e5f6f6e2c0a2020617474723a207472616e736974696f6e5f617474722c0a202061747472547765656e3a207472616e736974696f6e5f61747472547765656e2c0a20207374796c653a207472616e736974696f6e5f7374796c652c0a20207374796c65547765656e3a207472616e736974696f6e5f7374796c65547765656e2c0a2020746578743a207472616e736974696f6e5f746578742c0a202072656d6f76653a207472616e736974696f6e5f72656d6f76652c0a2020747765656e3a207472616e736974696f6e5f747765656e2c0a202064656c61793a207472616e736974696f6e5f64656c61792c0a20206475726174696f6e3a207472616e736974696f6e5f6475726174696f6e2c0a2020656173653a207472616e736974696f6e5f656173650a7d3b0a0a7661722064656661756c7454696d696e67203d207b0a202074696d653a206e756c6c2c202f2f20536574206f6e207573652e0a202064656c61793a20302c0a20206475726174696f6e3a203235302c0a2020656173653a206433456173652e656173654375626963496e4f75740a7d3b0a0a66756e6374696f6e20696e6865726974286e6f64652c20696429207b0a20207661722074696d696e673b0a20207768696c652028212874696d696e67203d206e6f64652e5f5f7472616e736974696f6e29207c7c20212874696d696e67203d2074696d696e675b69645d2929207b0a202020206966202821286e6f6465203d206e6f64652e706172656e744e6f64652929207b0a20202020202072657475726e2064656661756c7454696d696e672e74696d65203d20643354696d65722e6e6f7728292c2064656661756c7454696d696e673b0a202020207d0a20207d0a202072657475726e2074696d696e673b0a7d0a0a7661722073656c656374696f6e5f7472616e736974696f6e203d2066756e6374696f6e286e616d6529207b0a20207661722069642c0a20202020202074696d696e673b0a0a2020696620286e616d6520696e7374616e63656f66205472616e736974696f6e29207b0a202020206964203d206e616d652e5f69642c206e616d65203d206e616d652e5f6e616d653b0a20207d20656c7365207b0a202020206964203d206e6577496428292c202874696d696e67203d2064656661756c7454696d696e67292e74696d65203d20643354696d65722e6e6f7728292c206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a20202020202020207363686564756c65286e6f64652c206e616d652c2069642c20692c2067726f75702c2074696d696e67207c7c20696e6865726974286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d3b0a0a643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e696e74657272757074203d2073656c656374696f6e5f696e746572727570743b0a643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e7472616e736974696f6e203d2073656c656374696f6e5f7472616e736974696f6e3b0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a76617220616374697665203d2066756e6374696f6e286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652c0a202020202020693b0a0a2020696620287363686564756c657329207b0a202020206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20202020666f7220286920696e207363686564756c657329207b0a20202020202069662028287363686564756c65203d207363686564756c65735b695d292e7374617465203e205343484544554c4544202626207363686564756c652e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e206e6577205472616e736974696f6e285b5b6e6f64655d5d2c20726f6f742c206e616d652c202b69293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a6578706f7274732e7472616e736974696f6e203d207472616e736974696f6e3b0a6578706f7274732e616374697665203d206163746976653b0a6578706f7274732e696e74657272757074203d20696e746572727570743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6f72223a34342c2264332d6469737061746368223a34352c2264332d65617365223a34382c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d74696d6572223a36357d5d2c36373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d766f726f6e6f692f2056657273696f6e20312e312e322e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2078286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20526564426c61636b547265652829207b0a2020746869732e5f203d206e756c6c3b202f2f20726f6f74206e6f64650a7d0a0a66756e6374696f6e20526564426c61636b4e6f6465286e6f646529207b0a20206e6f64652e55203d202f2f20706172656e74206e6f64650a20206e6f64652e43203d202f2f20636f6c6f72202d207472756520666f72207265642c2066616c736520666f7220626c61636b0a20206e6f64652e4c203d202f2f206c656674206e6f64650a20206e6f64652e52203d202f2f207269676874206e6f64650a20206e6f64652e50203d202f2f2070726576696f7573206e6f64650a20206e6f64652e4e203d206e756c6c3b202f2f206e657874206e6f64650a7d0a0a526564426c61636b547265652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20526564426c61636b547265652c0a0a2020696e736572743a2066756e6374696f6e2861667465722c206e6f646529207b0a2020202076617220706172656e742c206772616e6470612c20756e636c653b0a0a2020202069662028616674657229207b0a2020202020206e6f64652e50203d2061667465723b0a2020202020206e6f64652e4e203d2061667465722e4e3b0a2020202020206966202861667465722e4e292061667465722e4e2e50203d206e6f64653b0a20202020202061667465722e4e203d206e6f64653b0a2020202020206966202861667465722e5229207b0a20202020202020206166746572203d2061667465722e523b0a20202020202020207768696c65202861667465722e4c29206166746572203d2061667465722e4c3b0a202020202020202061667465722e4c203d206e6f64653b0a2020202020207d20656c7365207b0a202020202020202061667465722e52203d206e6f64653b0a2020202020207d0a202020202020706172656e74203d2061667465723b0a202020207d20656c73652069662028746869732e5f29207b0a2020202020206166746572203d20526564426c61636b466972737428746869732e5f293b0a2020202020206e6f64652e50203d206e756c6c3b0a2020202020206e6f64652e4e203d2061667465723b0a20202020202061667465722e50203d2061667465722e4c203d206e6f64653b0a202020202020706172656e74203d2061667465723b0a202020207d20656c7365207b0a2020202020206e6f64652e50203d206e6f64652e4e203d206e756c6c3b0a202020202020746869732e5f203d206e6f64653b0a202020202020706172656e74203d206e756c6c3b0a202020207d0a202020206e6f64652e4c203d206e6f64652e52203d206e756c6c3b0a202020206e6f64652e55203d20706172656e743b0a202020206e6f64652e43203d20747275653b0a0a202020206166746572203d206e6f64653b0a202020207768696c652028706172656e7420262620706172656e742e4329207b0a2020202020206772616e647061203d20706172656e742e553b0a20202020202069662028706172656e74203d3d3d206772616e6470612e4c29207b0a2020202020202020756e636c65203d206772616e6470612e523b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e5229207b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020756e636c65203d206772616e6470612e4c3b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e4c29207b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d0a202020202020706172656e74203d2061667465722e553b0a202020207d0a20202020746869732e5f2e43203d2066616c73653b0a20207d2c0a0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e4e29206e6f64652e4e2e50203d206e6f64652e503b0a20202020696620286e6f64652e5029206e6f64652e502e4e203d206e6f64652e4e3b0a202020206e6f64652e4e203d206e6f64652e50203d206e756c6c3b0a0a2020202076617220706172656e74203d206e6f64652e552c0a20202020202020207369626c696e672c0a20202020202020206c656674203d206e6f64652e4c2c0a20202020202020207269676874203d206e6f64652e522c0a20202020202020206e6578742c0a20202020202020207265643b0a0a2020202069662028216c65667429206e657874203d2072696768743b0a20202020656c7365206966202821726967687429206e657874203d206c6566743b0a20202020656c7365206e657874203d20526564426c61636b4669727374287269676874293b0a0a2020202069662028706172656e7429207b0a20202020202069662028706172656e742e4c203d3d3d206e6f64652920706172656e742e4c203d206e6578743b0a202020202020656c736520706172656e742e52203d206e6578743b0a202020207d20656c7365207b0a202020202020746869732e5f203d206e6578743b0a202020207d0a0a20202020696620286c65667420262620726967687429207b0a202020202020726564203d206e6578742e433b0a2020202020206e6578742e43203d206e6f64652e433b0a2020202020206e6578742e4c203d206c6566743b0a2020202020206c6566742e55203d206e6578743b0a202020202020696620286e65787420213d3d20726967687429207b0a2020202020202020706172656e74203d206e6578742e553b0a20202020202020206e6578742e55203d206e6f64652e553b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020202020706172656e742e4c203d206e6f64653b0a20202020202020206e6578742e52203d2072696768743b0a202020202020202072696768742e55203d206e6578743b0a2020202020207d20656c7365207b0a20202020202020206e6578742e55203d20706172656e743b0a2020202020202020706172656e74203d206e6578743b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020207d0a202020207d20656c7365207b0a202020202020726564203d206e6f64652e433b0a2020202020206e6f6465203d206e6578743b0a202020207d0a0a20202020696620286e6f646529206e6f64652e55203d20706172656e743b0a2020202069662028726564292072657475726e3b0a20202020696620286e6f6465202626206e6f64652e4329207b206e6f64652e43203d2066616c73653b2072657475726e3b207d0a0a20202020646f207b0a202020202020696620286e6f6465203d3d3d20746869732e5f2920627265616b3b0a202020202020696620286e6f6465203d3d3d20706172656e742e4c29207b0a20202020202020207369626c696e67203d20706172656e742e523b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e523b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a2020202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e52207c7c20217369626c696e672e522e4329207b0a2020202020202020202020207369626c696e672e4c2e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e523b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e522e43203d2066616c73653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d20656c7365207b0a20202020202020207369626c696e67203d20706172656e742e4c3b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e4c3b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e4c207c7c20217369626c696e672e4c2e4329207b0a2020202020202020202020207369626c696e672e522e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e4c3b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e4c2e43203d2066616c73653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020207369626c696e672e43203d20747275653b0a2020202020206e6f6465203d20706172656e743b0a202020202020706172656e74203d20706172656e742e553b0a202020207d207768696c652028216e6f64652e43293b0a0a20202020696620286e6f646529206e6f64652e43203d2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20526564426c61636b526f746174654c65667428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e522c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e52203d20712e4c3b0a202069662028702e522920702e522e55203d20703b0a2020712e4c203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b526f74617465526967687428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e4c2c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e4c203d20712e523b0a202069662028702e4c2920702e4c2e55203d20703b0a2020712e52203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b4669727374286e6f646529207b0a20207768696c6520286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e2063726561746545646765286c6566742c2072696768742c2076302c20763129207b0a20207661722065646765203d205b6e756c6c2c206e756c6c5d2c0a202020202020696e646578203d2065646765732e70757368286564676529202d20313b0a2020656467652e6c656674203d206c6566743b0a2020656467652e7269676874203d2072696768743b0a2020696620287630292073657445646765456e6428656467652c206c6566742c2072696768742c207630293b0a2020696620287631292073657445646765456e6428656467652c2072696768742c206c6566742c207631293b0a202063656c6c735b6c6566742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202063656c6c735b72696768742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e20637265617465426f7264657245646765286c6566742c2076302c20763129207b0a20207661722065646765203d205b76302c2076315d3b0a2020656467652e6c656674203d206c6566743b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e2073657445646765456e6428656467652c206c6566742c2072696768742c2076657274657829207b0a20206966202821656467655b305d2026262021656467655b315d29207b0a20202020656467655b305d203d207665727465783b0a20202020656467652e6c656674203d206c6566743b0a20202020656467652e7269676874203d2072696768743b0a20207d20656c73652069662028656467652e6c656674203d3d3d20726967687429207b0a20202020656467655b315d203d207665727465783b0a20207d20656c7365207b0a20202020656467655b305d203d207665727465783b0a20207d0a7d0a0a2f2f204c69616e67e28093426172736b79206c696e6520636c697070696e672e0a66756e6374696f6e20636c69704564676528656467652c2078302c2079302c2078312c20793129207b0a20207661722061203d20656467655b305d2c0a20202020202062203d20656467655b315d2c0a2020202020206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a20206966202821287430203e2030292026262021287431203c203129292072657475726e20747275653b202f2f20544f444f2042657474657220636865636b3f0a0a2020696620287430203e20302920656467655b305d203d205b6178202b207430202a2064782c206179202b207430202a2064795d3b0a2020696620287431203c20312920656467655b315d203d205b6178202b207431202a2064782c206179202b207431202a2064795d3b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636f6e6e6563744564676528656467652c2078302c2079302c2078312c20793129207b0a2020766172207631203d20656467655b315d3b0a2020696620287631292072657475726e20747275653b0a0a2020766172207630203d20656467655b305d2c0a2020202020206c656674203d20656467652e6c6566742c0a2020202020207269676874203d20656467652e72696768742c0a2020202020206c78203d206c6566745b305d2c0a2020202020206c79203d206c6566745b315d2c0a2020202020207278203d2072696768745b305d2c0a2020202020207279203d2072696768745b315d2c0a2020202020206678203d20286c78202b20727829202f20322c0a2020202020206679203d20286c79202b20727929202f20322c0a202020202020666d2c0a20202020202066623b0a0a2020696620287279203d3d3d206c7929207b0a20202020696620286678203c207830207c7c206678203e3d207831292072657475726e3b0a20202020696620286c78203e20727829207b0a2020202020206966202821763029207630203d205b66782c2079305d3b0a202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a2020202020207631203d205b66782c2079315d3b0a202020207d20656c7365207b0a2020202020206966202821763029207630203d205b66782c2079315d3b0a202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a2020202020207631203d205b66782c2079305d3b0a202020207d0a20207d20656c7365207b0a20202020666d203d20286c78202d20727829202f20287279202d206c79293b0a202020206662203d206679202d20666d202a2066783b0a2020202069662028666d203c202d31207c7c20666d203e203129207b0a202020202020696620286c78203e20727829207b0a20202020202020206966202821763029207630203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a20202020202020207631203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a20202020202020207631203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c79203c20727929207b0a20202020202020206966202821763029207630203d205b78302c20666d202a207830202b2066625d3b0a2020202020202020656c7365206966202876305b305d203e3d207831292072657475726e3b0a20202020202020207631203d205b78312c20666d202a207831202b2066625d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b78312c20666d202a207831202b2066625d3b0a2020202020202020656c7365206966202876305b305d203c207830292072657475726e3b0a20202020202020207631203d205b78302c20666d202a207830202b2066625d3b0a2020202020207d0a202020207d0a20207d0a0a2020656467655b305d203d2076303b0a2020656467655b315d203d2076313b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636c697045646765732878302c2079302c2078312c20793129207b0a20207661722069203d2065646765732e6c656e6774682c0a202020202020656467653b0a0a20207768696c652028692d2d29207b0a202020206966202821636f6e6e656374456467652865646765203d2065646765735b695d2c2078302c2079302c2078312c207931290a20202020202020207c7c2021636c69704564676528656467652c2078302c2079302c2078312c207931290a20202020202020207c7c2021284d6174682e61627328656467655b305d5b305d202d20656467655b315d5b305d29203e20657073696c6f6e0a2020202020202020202020207c7c204d6174682e61627328656467655b305d5b315d202d20656467655b315d5b315d29203e20657073696c6f6e2929207b0a20202020202064656c6574652065646765735b695d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2063726561746543656c6c287369746529207b0a202072657475726e2063656c6c735b736974652e696e6465785d203d207b0a20202020736974653a20736974652c0a2020202068616c6665646765733a205b5d0a20207d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765416e676c652863656c6c2c206564676529207b0a20207661722073697465203d2063656c6c2e736974652c0a2020202020207661203d20656467652e6c6566742c0a2020202020207662203d20656467652e72696768743b0a20206966202873697465203d3d3d20766229207662203d2076612c207661203d20736974653b0a2020696620287662292072657475726e204d6174682e6174616e322876625b315d202d2076615b315d2c2076625b305d202d2076615b305d293b0a20206966202873697465203d3d3d20766129207661203d20656467655b315d2c207662203d20656467655b305d3b0a2020656c7365207661203d20656467655b305d2c207662203d20656467655b315d3b0a202072657475726e204d6174682e6174616e322876615b305d202d2076625b305d2c2076625b315d202d2076615b315d293b0a7d0a0a66756e6374696f6e2063656c6c48616c666564676553746172742863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c65667420213d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765456e642863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c656674203d3d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e20736f727443656c6c48616c6665646765732829207b0a2020666f7220287661722069203d20302c206e203d2063656c6c732e6c656e6774682c2063656c6c2c2068616c6665646765732c206a2c206d3b2069203c206e3b202b2b6929207b0a20202020696620282863656c6c203d2063656c6c735b695d2920262620286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e6774682929207b0a20202020202076617220696e646578203d206e6577204172726179286d292c0a202020202020202020206172726179203d206e6577204172726179286d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a2920696e6465785b6a5d203d206a2c2061727261795b6a5d203d2063656c6c48616c6665646765416e676c652863656c6c2c2065646765735b68616c6665646765735b6a5d5d293b0a202020202020696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e2061727261795b6a5d202d2061727261795b695d3b207d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292061727261795b6a5d203d2068616c6665646765735b696e6465785b6a5d5d3b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292068616c6665646765735b6a5d203d2061727261795b6a5d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20636c697043656c6c732878302c2079302c2078312c20793129207b0a2020766172206e43656c6c73203d2063656c6c732e6c656e6774682c0a2020202020206943656c6c2c0a20202020202063656c6c2c0a202020202020736974652c0a2020202020206948616c66656467652c0a20202020202068616c6665646765732c0a2020202020206e48616c6665646765732c0a20202020202073746172742c0a2020202020207374617274582c0a2020202020207374617274592c0a202020202020656e642c0a202020202020656e64582c0a202020202020656e64592c0a202020202020636f766572203d20747275653b0a0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a20202020202073697465203d2063656c6c2e736974653b0a20202020202068616c666564676573203d2063656c6c2e68616c6665646765733b0a2020202020206948616c6665646765203d2068616c6665646765732e6c656e6774683b0a0a2020202020202f2f2052656d6f766520616e792064616e676c696e6720636c69707065642065646765732e0a2020202020207768696c6520286948616c66656467652d2d29207b0a2020202020202020696620282165646765735b68616c6665646765735b6948616c66656467655d5d29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c2031293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f20496e7365727420616e7920626f72646572206564676573206173206e65636573736172792e0a2020202020206948616c6665646765203d20302c206e48616c666564676573203d2068616c6665646765732e6c656e6774683b0a2020202020207768696c6520286948616c6665646765203c206e48616c66656467657329207b0a2020202020202020656e64203d2063656c6c48616c6665646765456e642863656c6c2c2065646765735b68616c6665646765735b6948616c66656467655d5d292c20656e6458203d20656e645b305d2c20656e6459203d20656e645b315d3b0a20202020202020207374617274203d2063656c6c48616c666564676553746172742863656c6c2c2065646765735b68616c6665646765735b2b2b6948616c66656467652025206e48616c6665646765735d5d292c20737461727458203d2073746172745b305d2c20737461727459203d2073746172745b315d3b0a2020202020202020696620284d6174682e61627328656e6458202d2073746172745829203e20657073696c6f6e207c7c204d6174682e61627328656e6459202d2073746172745929203e20657073696c6f6e29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c20302c2065646765732e7075736828637265617465426f726465724564676528736974652c20656e642c0a20202020202020202020202020204d6174682e61627328656e6458202d20783029203c20657073696c6f6e202626207931202d20656e6459203e20657073696c6f6e203f205b78302c204d6174682e61627328737461727458202d20783029203c20657073696c6f6e203f20737461727459203a2079315d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793129203c20657073696c6f6e202626207831202d20656e6458203e20657073696c6f6e203f205b4d6174682e61627328737461727459202d20793129203c20657073696c6f6e203f20737461727458203a2078312c2079315d0a20202020202020202020202020203a204d6174682e61627328656e6458202d20783129203c20657073696c6f6e20262620656e6459202d207930203e20657073696c6f6e203f205b78312c204d6174682e61627328737461727458202d20783129203c20657073696c6f6e203f20737461727459203a2079305d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793029203c20657073696c6f6e20262620656e6458202d207830203e20657073696c6f6e203f205b4d6174682e61627328737461727459202d20793029203c20657073696c6f6e203f20737461727458203a2078302c2079305d0a20202020202020202020202020203a206e756c6c2929202d2031293b0a202020202020202020202b2b6e48616c6665646765733b0a20202020202020207d0a2020202020207d0a0a202020202020696620286e48616c6665646765732920636f766572203d2066616c73653b0a202020207d0a20207d0a0a20202f2f20496620746865726520776572656ee280997420616e792065646765732c20686176652074686520636c6f73657374207369746520636f7665722074686520657874656e742e0a20202f2f20497420646f65736ee2809974206d617474657220776869636820636f726e6572206f662074686520657874656e74207765206d656173757265210a202069662028636f76657229207b0a202020207661722064782c2064792c2064322c206463203d20496e66696e6974793b0a0a20202020666f7220286943656c6c203d20302c20636f766572203d206e756c6c3b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a2020202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020202073697465203d2063656c6c2e736974653b0a20202020202020206478203d20736974655b305d202d2078303b0a20202020202020206479203d20736974655b315d202d2079303b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c20646329206463203d2064322c20636f766572203d2063656c6c3b0a2020202020207d0a202020207d0a0a2020202069662028636f76657229207b0a20202020202076617220763030203d205b78302c2079305d2c20763031203d205b78302c2079315d2c20763131203d205b78312c2079315d2c20763130203d205b78312c2079305d3b0a202020202020636f7665722e68616c6665646765732e70757368280a202020202020202065646765732e7075736828637265617465426f72646572456467652873697465203d20636f7665722e736974652c207630302c207630312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207630312c207631312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631312c207631302929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631302c207630302929202d20310a202020202020293b0a202020207d0a20207d0a0a20202f2f204c6173746c792064656c65746520616e792063656c6c732077697468206e6f2065646765733b207468657365207765726520656e746972656c7920636c69707065642e0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020696620282163656c6c2e68616c6665646765732e6c656e67746829207b0a202020202020202064656c6574652063656c6c735b6943656c6c5d3b0a2020202020207d0a202020207d0a20207d0a7d0a0a76617220636972636c65506f6f6c203d205b5d3b0a0a766172206669727374436972636c653b0a0a66756e6374696f6e20436972636c652829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e78203d0a2020746869732e79203d0a2020746869732e617263203d0a2020746869732e73697465203d0a2020746869732e6379203d206e756c6c3b0a7d0a0a66756e6374696f6e20617474616368436972636c652861726329207b0a2020766172206c417263203d206172632e502c0a20202020202072417263203d206172632e4e3b0a0a202069662028216c417263207c7c202172417263292072657475726e3b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206353697465203d206172632e736974652c0a2020202020207253697465203d20724172632e736974653b0a0a2020696620286c53697465203d3d3d207253697465292072657475726e3b0a0a2020766172206278203d2063536974655b305d2c0a2020202020206279203d2063536974655b315d2c0a2020202020206178203d206c536974655b305d202d2062782c0a2020202020206179203d206c536974655b315d202d2062792c0a2020202020206378203d2072536974655b305d202d2062782c0a2020202020206379203d2072536974655b315d202d2062793b0a0a20207661722064203d2032202a20286178202a206379202d206179202a206378293b0a20206966202864203e3d202d657073696c6f6e32292072657475726e3b0a0a2020766172206861203d206178202a206178202b206179202a2061792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a20202020202078203d20286379202a206861202d206179202a20686329202f20642c0a20202020202079203d20286178202a206863202d206378202a20686129202f20643b0a0a202076617220636972636c65203d20636972636c65506f6f6c2e706f702829207c7c206e657720436972636c653b0a2020636972636c652e617263203d206172633b0a2020636972636c652e73697465203d2063536974653b0a2020636972636c652e78203d2078202b2062783b0a2020636972636c652e79203d2028636972636c652e6379203d2079202b20627929202b204d6174682e737172742878202a2078202b2079202a2079293b202f2f207920626f74746f6d0a0a20206172632e636972636c65203d20636972636c653b0a0a2020766172206265666f7265203d206e756c6c2c0a2020202020206e6f6465203d20636972636c65732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202069662028636972636c652e79203c206e6f64652e79207c7c2028636972636c652e79203d3d3d206e6f64652e7920262620636972636c652e78203c3d206e6f64652e782929207b0a202020202020696620286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202020202020656c7365207b206265666f7265203d206e6f64652e503b20627265616b3b207d0a202020207d20656c7365207b0a202020202020696620286e6f64652e5229206e6f6465203d206e6f64652e523b0a202020202020656c7365207b206265666f7265203d206e6f64653b20627265616b3b207d0a202020207d0a20207d0a0a2020636972636c65732e696e73657274286265666f72652c20636972636c65293b0a202069662028216265666f726529206669727374436972636c65203d20636972636c653b0a7d0a0a66756e6374696f6e20646574616368436972636c652861726329207b0a202076617220636972636c65203d206172632e636972636c653b0a202069662028636972636c6529207b0a202020206966202821636972636c652e5029206669727374436972636c65203d20636972636c652e4e3b0a20202020636972636c65732e72656d6f766528636972636c65293b0a20202020636972636c65506f6f6c2e7075736828636972636c65293b0a20202020526564426c61636b4e6f646528636972636c65293b0a202020206172632e636972636c65203d206e756c6c3b0a20207d0a7d0a0a766172206265616368506f6f6c203d205b5d3b0a0a66756e6374696f6e2042656163682829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e65646765203d0a2020746869732e73697465203d0a2020746869732e636972636c65203d206e756c6c3b0a7d0a0a66756e6374696f6e206372656174654265616368287369746529207b0a2020766172206265616368203d206265616368506f6f6c2e706f702829207c7c206e65772042656163683b0a202062656163682e73697465203d20736974653b0a202072657475726e2062656163683b0a7d0a0a66756e6374696f6e20646574616368426561636828626561636829207b0a2020646574616368436972636c65286265616368293b0a2020626561636865732e72656d6f7665286265616368293b0a20206265616368506f6f6c2e70757368286265616368293b0a2020526564426c61636b4e6f6465286265616368293b0a7d0a0a66756e6374696f6e2072656d6f7665426561636828626561636829207b0a202076617220636972636c65203d2062656163682e636972636c652c0a20202020202078203d20636972636c652e782c0a20202020202079203d20636972636c652e63792c0a202020202020766572746578203d205b782c20795d2c0a20202020202070726576696f7573203d2062656163682e502c0a2020202020206e657874203d2062656163682e4e2c0a202020202020646973617070656172696e67203d205b62656163685d3b0a0a20206465746163684265616368286265616368293b0a0a2020766172206c417263203d2070726576696f75733b0a20207768696c6520286c4172632e636972636c650a2020202020202626204d6174682e6162732878202d206c4172632e636972636c652e7829203c20657073696c6f6e0a2020202020202626204d6174682e6162732879202d206c4172632e636972636c652e637929203c20657073696c6f6e29207b0a2020202070726576696f7573203d206c4172632e503b0a20202020646973617070656172696e672e756e7368696674286c417263293b0a202020206465746163684265616368286c417263293b0a202020206c417263203d2070726576696f75733b0a20207d0a0a2020646973617070656172696e672e756e7368696674286c417263293b0a2020646574616368436972636c65286c417263293b0a0a20207661722072417263203d206e6578743b0a20207768696c652028724172632e636972636c650a2020202020202626204d6174682e6162732878202d20724172632e636972636c652e7829203c20657073696c6f6e0a2020202020202626204d6174682e6162732879202d20724172632e636972636c652e637929203c20657073696c6f6e29207b0a202020206e657874203d20724172632e4e3b0a20202020646973617070656172696e672e707573682872417263293b0a2020202064657461636842656163682872417263293b0a2020202072417263203d206e6578743b0a20207d0a0a2020646973617070656172696e672e707573682872417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206e41726373203d20646973617070656172696e672e6c656e6774682c0a202020202020694172633b0a2020666f72202869417263203d20313b2069417263203c206e417263733b202b2b6941726329207b0a2020202072417263203d20646973617070656172696e675b694172635d3b0a202020206c417263203d20646973617070656172696e675b69417263202d20315d3b0a2020202073657445646765456e6428724172632e656467652c206c4172632e736974652c20724172632e736974652c20766572746578293b0a20207d0a0a20206c417263203d20646973617070656172696e675b305d3b0a202072417263203d20646973617070656172696e675b6e41726373202d20315d3b0a2020724172632e65646765203d2063726561746545646765286c4172632e736974652c20724172632e736974652c206e756c6c2c20766572746578293b0a0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206164644265616368287369746529207b0a20207661722078203d20736974655b305d2c0a202020202020646972656374726978203d20736974655b315d2c0a2020202020206c4172632c0a202020202020724172632c0a20202020202064786c2c0a2020202020206478722c0a2020202020206e6f6465203d20626561636865732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202064786c203d206c656674427265616b506f696e74286e6f64652c2064697265637472697829202d20783b0a202020206966202864786c203e20657073696c6f6e29206e6f6465203d206e6f64652e4c3b20656c7365207b0a202020202020647872203d2078202d207269676874427265616b506f696e74286e6f64652c20646972656374726978293b0a20202020202069662028647872203e20657073696c6f6e29207b0a202020202020202069662028216e6f64652e5229207b0a202020202020202020206c417263203d206e6f64653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206e6f6465203d206e6f64652e523b0a2020202020207d20656c7365207b0a20202020202020206966202864786c203e202d657073696c6f6e29207b0a202020202020202020206c417263203d206e6f64652e503b0a2020202020202020202072417263203d206e6f64653b0a20202020202020207d20656c73652069662028647872203e202d657073696c6f6e29207b0a202020202020202020206c417263203d206e6f64653b0a2020202020202020202072417263203d206e6f64652e4e3b0a20202020202020207d20656c7365207b0a202020202020202020206c417263203d2072417263203d206e6f64653b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202063726561746543656c6c2873697465293b0a2020766172206e6577417263203d2063726561746542656163682873697465293b0a2020626561636865732e696e73657274286c4172632c206e6577417263293b0a0a202069662028216c417263202626202172417263292072657475726e3b0a0a2020696620286c417263203d3d3d207241726329207b0a20202020646574616368436972636c65286c417263293b0a2020202072417263203d206372656174654265616368286c4172632e73697465293b0a20202020626561636865732e696e73657274286e65774172632c2072417263293b0a202020206e65774172632e65646765203d20724172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a20202020617474616368436972636c65286c417263293b0a20202020617474616368436972636c652872417263293b0a2020202072657475726e3b0a20207d0a0a202069662028217241726329207b202f2f202626206c4172630a202020206e65774172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a2020202072657475726e3b0a20207d0a0a20202f2f20656c7365206c41726320213d3d20724172630a2020646574616368436972636c65286c417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206178203d206c536974655b305d2c0a2020202020206179203d206c536974655b315d2c0a2020202020206278203d20736974655b305d202d2061782c0a2020202020206279203d20736974655b315d202d2061792c0a2020202020207253697465203d20724172632e736974652c0a2020202020206378203d2072536974655b305d202d2061782c0a2020202020206379203d2072536974655b315d202d2061792c0a20202020202064203d2032202a20286278202a206379202d206279202a206378292c0a2020202020206862203d206278202a206278202b206279202a2062792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a202020202020766572746578203d205b286379202a206862202d206279202a20686329202f2064202b2061782c20286278202a206863202d206378202a20686229202f2064202b2061795d3b0a0a202073657445646765456e6428724172632e656467652c206c536974652c2072536974652c20766572746578293b0a20206e65774172632e65646765203d2063726561746545646765286c536974652c20736974652c206e756c6c2c20766572746578293b0a2020724172632e65646765203d206372656174654564676528736974652c2072536974652c206e756c6c2c20766572746578293b0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206c656674427265616b506f696e74286172632c2064697265637472697829207b0a20207661722073697465203d206172632e736974652c0a20202020202072666f6378203d20736974655b305d2c0a20202020202072666f6379203d20736974655b315d2c0a20202020202070627932203d2072666f6379202d206469726563747269783b0a0a2020696620282170627932292072657475726e2072666f63783b0a0a2020766172206c417263203d206172632e503b0a202069662028216c417263292072657475726e202d496e66696e6974793b0a0a202073697465203d206c4172632e736974653b0a2020766172206c666f6378203d20736974655b305d2c0a2020202020206c666f6379203d20736974655b315d2c0a202020202020706c627932203d206c666f6379202d206469726563747269783b0a0a20206966202821706c627932292072657475726e206c666f63783b0a0a202076617220686c203d206c666f6378202d2072666f63782c0a20202020202061627932203d2031202f2070627932202d2031202f20706c6279322c0a20202020202062203d20686c202f20706c6279323b0a0a20206966202861627932292072657475726e20282d62202b204d6174682e737172742862202a2062202d2032202a2061627932202a2028686c202a20686c202f20282d32202a20706c62793229202d206c666f6379202b20706c627932202f2032202b2072666f6379202d2070627932202f2032292929202f2061627932202b2072666f63783b0a0a202072657475726e202872666f6378202b206c666f637829202f20323b0a7d0a0a66756e6374696f6e207269676874427265616b506f696e74286172632c2064697265637472697829207b0a20207661722072417263203d206172632e4e3b0a20206966202872417263292072657475726e206c656674427265616b506f696e7428724172632c20646972656374726978293b0a20207661722073697465203d206172632e736974653b0a202072657475726e20736974655b315d203d3d3d20646972656374726978203f20736974655b305d203a20496e66696e6974793b0a7d0a0a76617220657073696c6f6e203d2031652d363b0a76617220657073696c6f6e32203d2031652d31323b0a76617220626561636865733b0a7661722063656c6c733b0a76617220636972636c65733b0a7661722065646765733b0a0a66756e6374696f6e20747269616e676c654172656128612c20622c206329207b0a202072657475726e2028615b305d202d20635b305d29202a2028625b315d202d20615b315d29202d2028615b305d202d20625b305d29202a2028635b315d202d20615b315d293b0a7d0a0a66756e6374696f6e206c657869636f6772617068696328612c206229207b0a202072657475726e20625b315d202d20615b315d0a2020202020207c7c20625b305d202d20615b305d3b0a7d0a0a66756e6374696f6e204469616772616d2873697465732c20657874656e7429207b0a20207661722073697465203d2073697465732e736f7274286c657869636f67726170686963292e706f7028292c0a202020202020782c0a202020202020792c0a202020202020636972636c653b0a0a20206564676573203d205b5d3b0a202063656c6c73203d206e65772041727261792873697465732e6c656e677468293b0a202062656163686573203d206e657720526564426c61636b547265653b0a2020636972636c6573203d206e657720526564426c61636b547265653b0a0a20207768696c6520287472756529207b0a20202020636972636c65203d206669727374436972636c653b0a202020206966202873697465202626202821636972636c65207c7c20736974655b315d203c20636972636c652e79207c7c2028736974655b315d203d3d3d20636972636c652e7920262620736974655b305d203c20636972636c652e78292929207b0a20202020202069662028736974655b305d20213d3d2078207c7c20736974655b315d20213d3d207929207b0a202020202020202061646442656163682873697465293b0a202020202020202078203d20736974655b305d2c2079203d20736974655b315d3b0a2020202020207d0a20202020202073697465203d2073697465732e706f7028293b0a202020207d20656c73652069662028636972636c6529207b0a20202020202072656d6f7665426561636828636972636c652e617263293b0a202020207d20656c7365207b0a202020202020627265616b3b0a202020207d0a20207d0a0a2020736f727443656c6c48616c66656467657328293b0a0a202069662028657874656e7429207b0a20202020766172207830203d202b657874656e745b305d5b305d2c0a20202020202020207930203d202b657874656e745b305d5b315d2c0a20202020202020207831203d202b657874656e745b315d5b305d2c0a20202020202020207931203d202b657874656e745b315d5b315d3b0a20202020636c697045646765732878302c2079302c2078312c207931293b0a20202020636c697043656c6c732878302c2079302c2078312c207931293b0a20207d0a0a2020746869732e6564676573203d2065646765733b0a2020746869732e63656c6c73203d2063656c6c733b0a0a202062656163686573203d0a2020636972636c6573203d0a20206564676573203d0a202063656c6c73203d206e756c6c3b0a7d0a0a4469616772616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204469616772616d2c0a0a2020706f6c79676f6e733a2066756e6374696f6e2829207b0a20202020766172206564676573203d20746869732e65646765733b0a0a2020202072657475726e20746869732e63656c6c732e6d61702866756e6374696f6e2863656c6c29207b0a20202020202076617220706f6c79676f6e203d2063656c6c2e68616c6665646765732e6d61702866756e6374696f6e286929207b2072657475726e2063656c6c48616c666564676553746172742863656c6c2c2065646765735b695d293b207d293b0a202020202020706f6c79676f6e2e64617461203d2063656c6c2e736974652e646174613b0a20202020202072657475726e20706f6c79676f6e3b0a202020207d293b0a20207d2c0a0a2020747269616e676c65733a2066756e6374696f6e2829207b0a2020202076617220747269616e676c6573203d205b5d2c0a20202020202020206564676573203d20746869732e65646765733b0a0a20202020746869732e63656c6c732e666f72456163682866756e6374696f6e2863656c6c2c206929207b0a2020202020206966202821286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e67746829292072657475726e3b0a2020202020207661722073697465203d2063656c6c2e736974652c0a2020202020202020202068616c6665646765732c0a202020202020202020206a203d202d312c0a202020202020202020206d2c0a2020202020202020202073302c0a202020202020202020206531203d2065646765735b68616c6665646765735b6d202d20315d5d2c0a202020202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a20202020202020207330203d2073313b0a20202020202020206531203d2065646765735b68616c6665646765735b6a5d5d3b0a20202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a20202020202020206966202873302026262073312026262069203c2073302e696e6465782026262069203c2073312e696e64657820262620747269616e676c654172656128736974652c2073302c20733129203c203029207b0a20202020202020202020747269616e676c65732e70757368285b736974652e646174612c2073302e646174612c2073312e646174615d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e20747269616e676c65733b0a20207d2c0a0a20206c696e6b733a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e65646765732e66696c7465722866756e6374696f6e286564676529207b0a20202020202072657475726e20656467652e72696768743b0a202020207d292e6d61702866756e6374696f6e286564676529207b0a20202020202072657475726e207b0a2020202020202020736f757263653a20656467652e6c6566742e646174612c0a20202020202020207461726765743a20656467652e72696768742e646174610a2020202020207d3b0a202020207d293b0a20207d2c0a0a202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a202020207661722074686174203d20746869732c2069302c206931203d20746861742e5f666f756e64207c7c20302c206e203d20746861742e63656c6c732e6c656e6774682c2063656c6c3b0a0a202020202f2f20557365207468652070726576696f75736c792d666f756e642063656c6c2c206f72207374617274207769746820616e20617262697472617279206f6e652e0a202020207768696c652028212863656c6c203d20746861742e63656c6c735b69315d292920696620282b2b6931203e3d206e292072657475726e206e756c6c3b0a20202020766172206478203d2078202d2063656c6c2e736974655b305d2c206479203d2079202d2063656c6c2e736974655b315d2c206432203d206478202a206478202b206479202a2064793b0a0a202020202f2f205472617665727365207468652068616c662d656467657320746f2066696e64206120636c6f7365722063656c6c2c20696620616e792e0a20202020646f207b0a20202020202063656c6c203d20746861742e63656c6c735b6930203d2069315d2c206931203d206e756c6c3b0a20202020202063656c6c2e68616c6665646765732e666f72456163682866756e6374696f6e286529207b0a20202020202020207661722065646765203d20746861742e65646765735b655d2c2076203d20656467652e6c6566743b0a2020202020202020696620282876203d3d3d2063656c6c2e73697465207c7c2021762920262620212876203d20656467652e726967687429292072657475726e3b0a2020202020202020766172207678203d2078202d20765b305d2c207679203d2079202d20765b315d2c207632203d207678202a207678202b207679202a2076793b0a2020202020202020696620287632203c20643229206432203d2076322c206931203d20762e696e6465783b0a2020202020207d293b0a202020207d207768696c652028693120213d3d206e756c6c293b0a0a20202020746861742e5f666f756e64203d2069303b0a0a2020202072657475726e20726164697573203d3d206e756c6c207c7c206432203c3d20726164697573202a20726164697573203f2063656c6c2e73697465203a206e756c6c3b0a20207d0a7d3b0a0a76617220766f726f6e6f69203d2066756e6374696f6e2829207b0a20207661722078242431203d20782c0a20202020202079242431203d20792c0a202020202020657874656e74203d206e756c6c3b0a0a202066756e6374696f6e20766f726f6e6f69286461746129207b0a2020202072657475726e206e6577204469616772616d28646174612e6d61702866756e6374696f6e28642c206929207b0a2020202020207661722073203d205b4d6174682e726f756e64287824243128642c20692c206461746129202f20657073696c6f6e29202a20657073696c6f6e2c204d6174682e726f756e64287924243128642c20692c206461746129202f20657073696c6f6e29202a20657073696c6f6e5d3b0a202020202020732e696e646578203d20693b0a202020202020732e64617461203d20643b0a20202020202072657475726e20733b0a202020207d292c20657874656e74293b0a20207d0a0a2020766f726f6e6f692e706f6c79676f6e73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e706f6c79676f6e7328293b0a20207d3b0a0a2020766f726f6e6f692e6c696e6b73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e6c696e6b7328293b0a20207d3b0a0a2020766f726f6e6f692e747269616e676c6573203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e747269616e676c657328293b0a20207d3b0a0a2020766f726f6e6f692e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20766f726f6e6f6929203a20782424313b0a20207d3b0a0a2020766f726f6e6f692e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20766f726f6e6f6929203a20792424313b0a20207d3b0a0a2020766f726f6e6f692e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b5b657874656e745b305d5b305d2c20657874656e745b305d5b315d5d2c205b657874656e745b315d5b305d2c20657874656e745b315d5b315d5d5d3b0a20207d3b0a0a2020766f726f6e6f692e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b302c20305d2c205b2b5f5b305d2c202b5f5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b657874656e745b315d5b305d202d20657874656e745b305d5b305d2c20657874656e745b315d5b315d202d20657874656e745b305d5b315d5d3b0a20207d3b0a0a202072657475726e20766f726f6e6f693b0a7d3b0a0a6578706f7274732e766f726f6e6f69203d20766f726f6e6f693b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7a6f6f6d2f2056657273696f6e20312e372e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d6472616727292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d7472616e736974696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d64726167272c202764332d696e746572706f6c617465272c202764332d73656c656374696f6e272c202764332d7472616e736974696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c6433447261672c6433496e746572706f6c6174652c643353656c656374696f6e2c64335472616e736974696f6e29207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e205a6f6f6d4576656e74287461726765742c20747970652c207472616e73666f726d29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7472616e73666f726d203d207472616e73666f726d3b0a7d0a0a66756e6374696f6e205472616e73666f726d286b2c20782c207929207b0a2020746869732e6b203d206b3b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a7d0a0a5472616e73666f726d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d2c0a20207363616c653a2066756e6374696f6e286b29207b0a2020202072657475726e206b203d3d3d2031203f2074686973203a206e6577205472616e73666f726d28746869732e6b202a206b2c20746869732e782c20746869732e79293b0a20207d2c0a20207472616e736c6174653a2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d3d3d203020262079203d3d3d2030203f2074686973203a206e6577205472616e73666f726d28746869732e6b2c20746869732e78202b20746869732e6b202a20782c20746869732e79202b20746869732e6b202a2079293b0a20207d2c0a20206170706c793a2066756e6374696f6e28706f696e7429207b0a2020202072657475726e205b706f696e745b305d202a20746869732e6b202b20746869732e782c20706f696e745b315d202a20746869732e6b202b20746869732e795d3b0a20207d2c0a20206170706c79583a2066756e6374696f6e287829207b0a2020202072657475726e2078202a20746869732e6b202b20746869732e783b0a20207d2c0a20206170706c79593a2066756e6374696f6e287929207b0a2020202072657475726e2079202a20746869732e6b202b20746869732e793b0a20207d2c0a2020696e766572743a2066756e6374696f6e286c6f636174696f6e29207b0a2020202072657475726e205b286c6f636174696f6e5b305d202d20746869732e7829202f20746869732e6b2c20286c6f636174696f6e5b315d202d20746869732e7929202f20746869732e6b5d3b0a20207d2c0a2020696e76657274583a2066756e6374696f6e287829207b0a2020202072657475726e202878202d20746869732e7829202f20746869732e6b3b0a20207d2c0a2020696e76657274593a2066756e6374696f6e287929207b0a2020202072657475726e202879202d20746869732e7929202f20746869732e6b3b0a20207d2c0a202072657363616c65583a2066756e6374696f6e287829207b0a2020202072657475726e20782e636f707928292e646f6d61696e28782e72616e676528292e6d617028746869732e696e76657274582c2074686973292e6d617028782e696e766572742c207829293b0a20207d2c0a202072657363616c65593a2066756e6374696f6e287929207b0a2020202072657475726e20792e636f707928292e646f6d61696e28792e72616e676528292e6d617028746869732e696e76657274592c2074686973292e6d617028792e696e766572742c207929293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20227472616e736c6174652822202b20746869732e78202b20222c22202b20746869732e79202b202229207363616c652822202b20746869732e6b202b202229223b0a20207d0a7d3b0a0a766172206964656e74697479203d206e6577205472616e73666f726d28312c20302c2030293b0a0a7472616e73666f726d2e70726f746f74797065203d205472616e73666f726d2e70726f746f747970653b0a0a66756e6374696f6e207472616e73666f726d286e6f646529207b0a202072657475726e206e6f64652e5f5f7a6f6f6d207c7c206964656e746974793b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a20207661722065203d20746869732c20772c20683b0a2020696620286520696e7374616e63656f6620535647456c656d656e7429207b0a2020202065203d20652e6f776e6572535647456c656d656e74207c7c20653b0a2020202077203d20652e77696474682e6261736556616c2e76616c75653b0a2020202068203d20652e6865696768742e6261736556616c2e76616c75653b0a20207d20656c7365207b0a2020202077203d20652e636c69656e7457696474683b0a2020202068203d20652e636c69656e744865696768743b0a20207d0a202072657475726e205b5b302c20305d2c205b772c20685d5d3b0a7d0a0a66756e6374696f6e2064656661756c745472616e73666f726d2829207b0a202072657475726e20746869732e5f5f7a6f6f6d207c7c206964656e746974793b0a7d0a0a66756e6374696f6e2064656661756c74576865656c44656c74612829207b0a202072657475726e202d643353656c656374696f6e2e6576656e742e64656c746159202a2028643353656c656374696f6e2e6576656e742e64656c74614d6f6465203f20313230203a203129202f203530303b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74436f6e73747261696e287472616e73666f726d2424312c20657874656e742c207472616e736c617465457874656e7429207b0a202076617220647830203d207472616e73666f726d2424312e696e766572745828657874656e745b305d5b305d29202d207472616e736c617465457874656e745b305d5b305d2c0a202020202020647831203d207472616e73666f726d2424312e696e766572745828657874656e745b315d5b305d29202d207472616e736c617465457874656e745b315d5b305d2c0a202020202020647930203d207472616e73666f726d2424312e696e766572745928657874656e745b305d5b315d29202d207472616e736c617465457874656e745b305d5b315d2c0a202020202020647931203d207472616e73666f726d2424312e696e766572745928657874656e745b315d5b315d29202d207472616e736c617465457874656e745b315d5b315d3b0a202072657475726e207472616e73666f726d2424312e7472616e736c617465280a20202020647831203e20647830203f2028647830202b2064783129202f2032203a204d6174682e6d696e28302c2064783029207c7c204d6174682e6d617828302c20647831292c0a20202020647931203e20647930203f2028647930202b2064793129202f2032203a204d6174682e6d696e28302c2064793029207c7c204d6174682e6d617828302c20647931290a2020293b0a7d0a0a766172207a6f6f6d203d2066756e6374696f6e2829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020657874656e74203d2064656661756c74457874656e742c0a202020202020636f6e73747261696e203d2064656661756c74436f6e73747261696e2c0a202020202020776865656c44656c7461203d2064656661756c74576865656c44656c74612c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020207363616c65457874656e74203d205b302c20496e66696e6974795d2c0a2020202020207472616e736c617465457874656e74203d205b5b2d496e66696e6974792c202d496e66696e6974795d2c205b496e66696e6974792c20496e66696e6974795d5d2c0a2020202020206475726174696f6e203d203235302c0a202020202020696e746572706f6c617465203d206433496e746572706f6c6174652e696e746572706f6c6174655a6f6f6d2c0a2020202020206765737475726573203d205b5d2c0a2020202020206c697374656e657273203d20643344697370617463682e646973706174636828227374617274222c20227a6f6f6d222c2022656e6422292c0a202020202020746f7563687374617274696e672c0a202020202020746f756368656e64696e672c0a202020202020746f75636844656c6179203d203530302c0a202020202020776865656c44656c6179203d203135302c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e207a6f6f6d2873656c656374696f6e29207b0a2020202073656c656374696f6e0a20202020202020202e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d290a20202020202020202e6f6e2822776865656c2e7a6f6f6d222c20776865656c6564290a20202020202020202e6f6e28226d6f757365646f776e2e7a6f6f6d222c206d6f757365646f776e6564290a20202020202020202e6f6e282264626c636c69636b2e7a6f6f6d222c2064626c636c69636b6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e7a6f6f6d222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e7a6f6f6d222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e7a6f6f6d20746f75636863616e63656c2e7a6f6f6d222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a20207a6f6f6d2e7472616e73666f726d203d2066756e6374696f6e28636f6c6c656374696f6e2c207472616e73666f726d24243129207b0a202020207661722073656c656374696f6e203d20636f6c6c656374696f6e2e73656c656374696f6e203f20636f6c6c656374696f6e2e73656c656374696f6e2829203a20636f6c6c656374696f6e3b0a2020202073656c656374696f6e2e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d293b0a2020202069662028636f6c6c656374696f6e20213d3d2073656c656374696f6e29207b0a2020202020207363686564756c6528636f6c6c656374696f6e2c207472616e73666f726d242431293b0a202020207d20656c7365207b0a20202020202073656c656374696f6e2e696e7465727275707428292e656163682866756e6374696f6e2829207b0a20202020202020206765737475726528746869732c20617267756d656e7473290a2020202020202020202020202e737461727428290a2020202020202020202020202e7a6f6f6d286e756c6c2c20747970656f66207472616e73666f726d242431203d3d3d202266756e6374696f6e22203f207472616e73666f726d2424312e6170706c7928746869732c20617267756d656e747329203a207472616e73666f726d242431290a2020202020202020202020202e656e6428293b0a2020202020207d293b0a202020207d0a20207d3b0a0a20207a6f6f6d2e7363616c654279203d2066756e6374696f6e2873656c656374696f6e2c206b29207b0a202020207a6f6f6d2e7363616c65546f2873656c656374696f6e2c2066756e6374696f6e2829207b0a202020202020766172206b30203d20746869732e5f5f7a6f6f6d2e6b2c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e206b30202a206b313b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7363616c65546f203d2066756e6374696f6e2873656c656374696f6e2c206b29207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a202020202020202020207430203d20746869732e5f5f7a6f6f6d2c0a202020202020202020207030203d2063656e74726f69642865292c0a202020202020202020207031203d2074302e696e76657274287030292c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c6174654279203d2066756e6374696f6e2873656c656374696f6e2c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a20202020202072657475726e20636f6e73747261696e28746869732e5f5f7a6f6f6d2e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f20782e6170706c7928746869732c20617267756d656e747329203a20782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f20792e6170706c7928746869732c20617267756d656e747329203a20790a202020202020292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465546f203d2066756e6374696f6e2873656c656374696f6e2c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020202074203d20746869732e5f5f7a6f6f6d2c0a2020202020202020202070203d2063656e74726f69642865293b0a20202020202072657475726e20636f6e73747261696e286964656e746974792e7472616e736c61746528705b305d2c20705b315d292e7363616c6528742e6b292e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f202d782e6170706c7928746869732c20617267756d656e747329203a202d782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f202d792e6170706c7928746869732c20617267756d656e747329203a202d790a202020202020292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a202066756e6374696f6e207363616c65287472616e73666f726d2424312c206b29207b0a202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c206b29293b0a2020202072657475726e206b203d3d3d207472616e73666f726d2424312e6b203f207472616e73666f726d242431203a206e6577205472616e73666f726d286b2c207472616e73666f726d2424312e782c207472616e73666f726d2424312e79293b0a20207d0a0a202066756e6374696f6e207472616e736c617465287472616e73666f726d2424312c2070302c20703129207b0a202020207661722078203d2070305b305d202d2070315b305d202a207472616e73666f726d2424312e6b2c2079203d2070305b315d202d2070315b315d202a207472616e73666f726d2424312e6b3b0a2020202072657475726e2078203d3d3d207472616e73666f726d2424312e782026262079203d3d3d207472616e73666f726d2424312e79203f207472616e73666f726d242431203a206e6577205472616e73666f726d287472616e73666f726d2424312e6b2c20782c2079293b0a20207d0a0a202066756e6374696f6e2063656e74726f696428657874656e7429207b0a2020202072657475726e205b282b657874656e745b305d5b305d202b202b657874656e745b315d5b305d29202f20322c20282b657874656e745b305d5b315d202b202b657874656e745b315d5b315d29202f20325d3b0a20207d0a0a202066756e6374696f6e207363686564756c65287472616e736974696f6e2c207472616e73666f726d2424312c2063656e74657229207b0a202020207472616e736974696f6e0a20202020202020202e6f6e282273746172742e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e737461727428293b207d290a20202020202020202e6f6e2822696e746572727570742e7a6f6f6d20656e642e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e656e6428293b207d290a20202020202020202e747765656e28227a6f6f6d222c2066756e6374696f6e2829207b0a202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202067203d206765737475726528746861742c2061726773292c0a202020202020202020202020202065203d20657874656e742e6170706c7928746861742c2061726773292c0a202020202020202020202020202070203d2063656e746572207c7c2063656e74726f69642865292c0a202020202020202020202020202077203d204d6174682e6d617828655b315d5b305d202d20655b305d5b305d2c20655b315d5b315d202d20655b305d5b315d292c0a202020202020202020202020202061203d20746861742e5f5f7a6f6f6d2c0a202020202020202020202020202062203d20747970656f66207472616e73666f726d242431203d3d3d202266756e6374696f6e22203f207472616e73666f726d2424312e6170706c7928746861742c206172677329203a207472616e73666f726d2424312c0a202020202020202020202020202069203d20696e746572706f6c61746528612e696e766572742870292e636f6e6361742877202f20612e6b292c20622e696e766572742870292e636f6e6361742877202f20622e6b29293b0a2020202020202020202072657475726e2066756e6374696f6e287429207b0a2020202020202020202020206966202874203d3d3d2031292074203d20623b202f2f2041766f696420726f756e64696e67206572726f72206f6e20656e642e0a202020202020202020202020656c7365207b20766172206c203d20692874292c206b203d2077202f206c5b325d3b2074203d206e6577205472616e73666f726d286b2c20705b305d202d206c5b305d202a206b2c20705b315d202d206c5b315d202a206b293b207d0a202020202020202020202020672e7a6f6f6d286e756c6c2c2074293b0a202020202020202020207d3b0a20202020202020207d293b0a20207d0a0a202066756e6374696f6e206765737475726528746861742c206172677329207b0a20202020666f7220287661722069203d20302c206e203d2067657374757265732e6c656e6774682c20673b2069203c206e3b202b2b6929207b0a202020202020696620282867203d2067657374757265735b695d292e74686174203d3d3d207468617429207b0a202020202020202072657475726e20673b0a2020202020207d0a202020207d0a2020202072657475726e206e6577204765737475726528746861742c2061726773293b0a20207d0a0a202066756e6374696f6e204765737475726528746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e696e646578203d202d313b0a20202020746869732e616374697665203d20303b0a20202020746869732e657874656e74203d20657874656e742e6170706c7928746861742c2061726773293b0a20207d0a0a2020476573747572652e70726f746f74797065203d207b0a2020202073746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d203129207b0a2020202020202020746869732e696e646578203d2067657374757265732e70757368287468697329202d20313b0a2020202020202020746869732e656d69742822737461727422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a202020207a6f6f6d3a2066756e6374696f6e286b65792c207472616e73666f726d24243129207b0a20202020202069662028746869732e6d6f757365202626206b657920213d3d20226d6f757365222920746869732e6d6f7573655b315d203d207472616e73666f726d2424312e696e7665727428746869732e6d6f7573655b305d293b0a20202020202069662028746869732e746f75636830202626206b657920213d3d2022746f756368222920746869732e746f756368305b315d203d207472616e73666f726d2424312e696e7665727428746869732e746f756368305b305d293b0a20202020202069662028746869732e746f75636831202626206b657920213d3d2022746f756368222920746869732e746f756368315b315d203d207472616e73666f726d2424312e696e7665727428746869732e746f756368315b305d293b0a202020202020746869732e746861742e5f5f7a6f6f6d203d207472616e73666f726d2424313b0a202020202020746869732e656d697428227a6f6f6d22293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d203029207b0a202020202020202067657374757265732e73706c69636528746869732e696e6465782c2031293b0a2020202020202020746869732e696e646578203d202d313b0a2020202020202020746869732e656d69742822656e6422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e6577205a6f6f6d4576656e74287a6f6f6d2c20747970652c20746869732e746861742e5f5f7a6f6f6d292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20776865656c65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202074203d20746869732e5f5f7a6f6f6d2c0a20202020202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c20742e6b202a204d6174682e706f7728322c20776865656c44656c74612e6170706c7928746869732c20617267756d656e7473292929292c0a202020202020202070203d20643353656c656374696f6e2e6d6f7573652874686973293b0a0a202020202f2f20496620746865206d6f75736520697320696e207468652073616d65206c6f636174696f6e206173206265666f72652c2072657573652069742e0a202020202f2f204966207468657265207765726520726563656e7420776865656c206576656e74732c2072657365742074686520776865656c2069646c652074696d656f75742e0a2020202069662028672e776865656c29207b0a20202020202069662028672e6d6f7573655b305d5b305d20213d3d20705b305d207c7c20672e6d6f7573655b305d5b315d20213d3d20705b315d29207b0a2020202020202020672e6d6f7573655b315d203d20742e696e7665727428672e6d6f7573655b305d203d2070293b0a2020202020207d0a202020202020636c65617254696d656f757428672e776865656c293b0a202020207d0a0a202020202f2f204966207468697320776865656c206576656e7420776f6ee280997420747269676765722061207472616e73666f726d206368616e67652c2069676e6f72652069742e0a20202020656c73652069662028742e6b203d3d3d206b292072657475726e3b0a0a202020202f2f204f74686572776973652c206361707475726520746865206d6f75736520706f696e7420616e64206c6f636174696f6e206174207468652073746172742e0a20202020656c7365207b0a202020202020672e6d6f757365203d205b702c20742e696e766572742870295d3b0a20202020202064335472616e736974696f6e2e696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a0a202020206e6f6576656e7428293b0a20202020672e776865656c203d2073657454696d656f757428776865656c69646c65642c20776865656c44656c6179293b0a20202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c617465287363616c6528742c206b292c20672e6d6f7573655b305d2c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a0a2020202066756e6374696f6e20776865656c69646c65642829207b0a202020202020672e776865656c203d206e756c6c3b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202076203d20643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e7a6f6f6d222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e7a6f6f6d222c206d6f75736575707065642c2074727565292c0a202020202020202070203d20643353656c656374696f6e2e6d6f7573652874686973292c0a20202020202020207830203d20643353656c656374696f6e2e6576656e742e636c69656e74582c0a20202020202020207930203d20643353656c656374696f6e2e6576656e742e636c69656e74593b0a0a202020206433447261672e6472616744697361626c6528643353656c656374696f6e2e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a20202020672e6d6f757365203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870295d3b0a2020202064335472616e736974696f6e2e696e746572727570742874686973293b0a20202020672e737461727428293b0a0a2020202066756e6374696f6e206d6f7573656d6f7665642829207b0a2020202020206e6f6576656e7428293b0a2020202020206966202821672e6d6f76656429207b0a2020202020202020766172206478203d20643353656c656374696f6e2e6576656e742e636c69656e7458202d2078302c206479203d20643353656c656374696f6e2e6576656e742e636c69656e7459202d2079303b0a2020202020202020672e6d6f766564203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a2020202020207d0a202020202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c61746528672e746861742e5f5f7a6f6f6d2c20672e6d6f7573655b305d203d20643353656c656374696f6e2e6d6f75736528672e74686174292c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a202020207d0a0a2020202066756e6374696f6e206d6f75736575707065642829207b0a202020202020762e6f6e28226d6f7573656d6f76652e7a6f6f6d206d6f75736575702e7a6f6f6d222c206e756c6c293b0a2020202020206433447261672e64726167456e61626c6528643353656c656374696f6e2e6576656e742e766965772c20672e6d6f766564293b0a2020202020206e6f6576656e7428293b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e2064626c636c69636b65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a20202020766172207430203d20746869732e5f5f7a6f6f6d2c0a20202020202020207030203d20643353656c656374696f6e2e6d6f7573652874686973292c0a20202020202020207031203d2074302e696e76657274287030292c0a20202020202020206b31203d2074302e6b202a2028643353656c656374696f6e2e6576656e742e73686966744b6579203f20302e35203a2032292c0a20202020202020207431203d20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a0a202020206e6f6576656e7428293b0a20202020696620286475726174696f6e203e20302920643353656c656374696f6e2e73656c6563742874686973292e7472616e736974696f6e28292e6475726174696f6e286475726174696f6e292e63616c6c287363686564756c652c2074312c207030293b0a20202020656c736520643353656c656374696f6e2e73656c6563742874686973292e63616c6c287a6f6f6d2e7472616e73666f726d2c207431293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a2020202020202020737461727465642c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20742c20703b0a0a202020206e6f70726f7061676174696f6e28293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d2c2070203d20643353656c656374696f6e2e746f75636828746869732c20746f75636865732c20742e6964656e746966696572293b0a20202020202070203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870292c20742e6964656e7469666965725d3b0a2020202020206966202821672e746f756368302920672e746f75636830203d20702c2073746172746564203d20747275653b0a202020202020656c7365206966202821672e746f756368312920672e746f75636831203d20703b0a202020207d0a0a202020202f2f204966207468697320697320612064626c7461702c207265726f75746520746f2074686520286f7074696f6e616c292064626c636c69636b2e7a6f6f6d2068616e646c65722e0a2020202069662028746f7563687374617274696e6729207b0a202020202020746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a2020202020206966202821672e746f7563683129207b0a2020202020202020672e656e6428293b0a202020202020202070203d20643353656c656374696f6e2e73656c6563742874686973292e6f6e282264626c636c69636b2e7a6f6f6d22293b0a202020202020202069662028702920702e6170706c7928746869732c20617267756d656e7473293b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a0a20202020696620287374617274656429207b0a202020202020746f7563687374617274696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f7563687374617274696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020202064335472616e736974696f6e2e696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20742c20702c206c3b0a0a202020206e6f6576656e7428293b0a2020202069662028746f7563687374617274696e672920746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d2c2070203d20643353656c656374696f6e2e746f75636828746869732c20746f75636865732c20742e6964656e746966696572293b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e7469666965722920672e746f756368305b305d203d20703b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e7469666965722920672e746f756368315b305d203d20703b0a202020207d0a2020202074203d20672e746861742e5f5f7a6f6f6d3b0a2020202069662028672e746f7563683129207b0a202020202020766172207030203d20672e746f756368305b305d2c206c30203d20672e746f756368305b315d2c0a202020202020202020207031203d20672e746f756368315b305d2c206c31203d20672e746f756368315b315d2c0a202020202020202020206470203d20286470203d2070315b305d202d2070305b305d29202a206470202b20286470203d2070315b315d202d2070305b315d29202a2064702c0a20202020202020202020646c203d2028646c203d206c315b305d202d206c305b305d29202a20646c202b2028646c203d206c315b315d202d206c305b315d29202a20646c3b0a20202020202074203d207363616c6528742c204d6174682e73717274286470202f20646c29293b0a20202020202070203d205b2870305b305d202b2070315b305d29202f20322c202870305b315d202b2070315b315d29202f20325d3b0a2020202020206c203d205b286c305b305d202b206c315b305d29202f20322c20286c305b315d202b206c315b315d29202f20325d3b0a202020207d0a20202020656c73652069662028672e746f75636830292070203d20672e746f756368305b305d2c206c203d20672e746f756368305b315d3b0a20202020656c73652072657475726e3b0a20202020672e7a6f6f6d2822746f756368222c20636f6e73747261696e287472616e736c61746528742c20702c206c292c20672e657874656e742c207472616e736c617465457874656e7429293b0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20743b0a0a202020206e6f70726f7061676174696f6e28293b0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d3b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368303b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368313b0a202020207d0a2020202069662028672e746f756368312026262021672e746f756368302920672e746f75636830203d20672e746f756368312c2064656c65746520672e746f756368313b0a2020202069662028672e746f756368302920672e746f756368305b315d203d20746869732e5f5f7a6f6f6d2e696e7665727428672e746f756368305b305d293b0a20202020656c736520672e656e6428293b0a20207d0a0a20207a6f6f6d2e776865656c44656c7461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028776865656c44656c7461203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207a6f6f6d29203a20776865656c44656c74613b0a20207d3b0a0a20207a6f6f6d2e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c207a6f6f6d29203a2066696c7465723b0a20207d3b0a0a20207a6f6f6d2e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c207a6f6f6d29203a20746f75636861626c653b0a20207d3b0a0a20207a6f6f6d2e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c207a6f6f6d29203a20657874656e743b0a20207d3b0a0a20207a6f6f6d2e7363616c65457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65457874656e745b305d203d202b5f5b305d2c207363616c65457874656e745b315d203d202b5f5b315d2c207a6f6f6d29203a205b7363616c65457874656e745b305d2c207363616c65457874656e745b315d5d3b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465457874656e745b305d5b305d203d202b5f5b305d5b305d2c207472616e736c617465457874656e745b315d5b305d203d202b5f5b315d5b305d2c207472616e736c617465457874656e745b305d5b315d203d202b5f5b305d5b315d2c207472616e736c617465457874656e745b315d5b315d203d202b5f5b315d5b315d2c207a6f6f6d29203a205b5b7472616e736c617465457874656e745b305d5b305d2c207472616e736c617465457874656e745b305d5b315d5d2c205b7472616e736c617465457874656e745b315d5b305d2c207472616e736c617465457874656e745b315d5b315d5d5d3b0a20207d3b0a0a20207a6f6f6d2e636f6e73747261696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e73747261696e203d205f2c207a6f6f6d29203a20636f6e73747261696e3b0a20207d3b0a0a20207a6f6f6d2e6475726174696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286475726174696f6e203d202b5f2c207a6f6f6d29203a206475726174696f6e3b0a20207d3b0a0a20207a6f6f6d2e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465203d205f2c207a6f6f6d29203a20696e746572706f6c6174653b0a20207d3b0a0a20207a6f6f6d2e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f207a6f6f6d203a2076616c75653b0a20207d3b0a0a20207a6f6f6d2e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c207a6f6f6d29203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e207a6f6f6d3b0a7d3b0a0a6578706f7274732e7a6f6f6d203d207a6f6f6d3b0a6578706f7274732e7a6f6f6d5472616e73666f726d203d207472616e73666f726d3b0a6578706f7274732e7a6f6f6d4964656e74697479203d206964656e746974793b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d7472616e736974696f6e223a36367d5d2c36393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7661722064334172726179203d2072657175697265282764332d617272617927293b0a76617220643341786973203d2072657175697265282764332d6178697327293b0a7661722064334272757368203d2072657175697265282764332d627275736827293b0a76617220643343686f7264203d2072657175697265282764332d63686f726427293b0a766172206433436f6c6c656374696f6e203d2072657175697265282764332d636f6c6c656374696f6e27293b0a766172206433436f6c6f72203d2072657175697265282764332d636f6c6f7227293b0a7661722064334469737061746368203d2072657175697265282764332d646973706174636827293b0a76617220643344726167203d2072657175697265282764332d6472616727293b0a766172206433447376203d2072657175697265282764332d64737627293b0a76617220643345617365203d2072657175697265282764332d6561736527293b0a766172206433466f726365203d2072657175697265282764332d666f72636527293b0a766172206433466f726d6174203d2072657175697265282764332d666f726d617427293b0a76617220643347656f203d2072657175697265282764332d67656f27293b0a766172206433486965726172636879203d2072657175697265282764332d68696572617263687927293b0a766172206433496e746572706f6c617465203d2072657175697265282764332d696e746572706f6c61746527293b0a76617220643350617468203d2072657175697265282764332d7061746827293b0a766172206433506f6c79676f6e203d2072657175697265282764332d706f6c79676f6e27293b0a7661722064335175616474726565203d2072657175697265282764332d717561647472656527293b0a7661722064335175657565203d2072657175697265282764332d717565756527293b0a76617220643352616e646f6d203d2072657175697265282764332d72616e646f6d27293b0a76617220643352657175657374203d2072657175697265282764332d7265717565737427293b0a7661722064335363616c65203d2072657175697265282764332d7363616c6527293b0a76617220643353656c656374696f6e203d2072657175697265282764332d73656c656374696f6e27293b0a7661722064335368617065203d2072657175697265282764332d736861706527293b0a76617220643354696d65203d2072657175697265282764332d74696d6527293b0a76617220643354696d65466f726d6174203d2072657175697265282764332d74696d652d666f726d617427293b0a76617220643354696d6572203d2072657175697265282764332d74696d657227293b0a7661722064335472616e736974696f6e203d2072657175697265282764332d7472616e736974696f6e27293b0a766172206433566f726f6e6f69203d2072657175697265282764332d766f726f6e6f6927293b0a7661722064335a6f6f6d203d2072657175697265282764332d7a6f6f6d27293b0a0a7661722076657273696f6e203d2022342e31322e32223b0a0a6578706f7274732e76657273696f6e203d2076657273696f6e3b0a4f626a6563742e6b6579732864334172726179292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643341727261795b6b65795d3b207d293b0a4f626a6563742e6b65797328643341786973292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433417869735b6b65795d3b207d293b0a4f626a6563742e6b6579732864334272757368292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643342727573685b6b65795d3b207d293b0a4f626a6563742e6b65797328643343686f7264292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643343686f72645b6b65795d3b207d293b0a4f626a6563742e6b657973286433436f6c6c656374696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433436f6c6c656374696f6e5b6b65795d3b207d293b0a4f626a6563742e6b657973286433436f6c6f72292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433436f6c6f725b6b65795d3b207d293b0a4f626a6563742e6b6579732864334469737061746368292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643344697370617463685b6b65795d3b207d293b0a4f626a6563742e6b65797328643344726167292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433447261675b6b65795d3b207d293b0a4f626a6563742e6b657973286433447376292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064334473765b6b65795d3b207d293b0a4f626a6563742e6b65797328643345617365292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433456173655b6b65795d3b207d293b0a4f626a6563742e6b657973286433466f726365292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433466f7263655b6b65795d3b207d293b0a4f626a6563742e6b657973286433466f726d6174292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433466f726d61745b6b65795d3b207d293b0a4f626a6563742e6b65797328643347656f292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643347656f5b6b65795d3b207d293b0a4f626a6563742e6b657973286433486965726172636879292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064334869657261726368795b6b65795d3b207d293b0a4f626a6563742e6b657973286433496e746572706f6c617465292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433496e746572706f6c6174655b6b65795d3b207d293b0a4f626a6563742e6b65797328643350617468292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433506174685b6b65795d3b207d293b0a4f626a6563742e6b657973286433506f6c79676f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433506f6c79676f6e5b6b65795d3b207d293b0a4f626a6563742e6b6579732864335175616474726565292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643351756164747265655b6b65795d3b207d293b0a4f626a6563742e6b6579732864335175657565292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643351756575655b6b65795d3b207d293b0a4f626a6563742e6b65797328643352616e646f6d292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643352616e646f6d5b6b65795d3b207d293b0a4f626a6563742e6b65797328643352657175657374292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433526571756573745b6b65795d3b207d293b0a4f626a6563742e6b6579732864335363616c65292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335363616c655b6b65795d3b207d293b0a4f626a6563742e6b65797328643353656c656374696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643353656c656374696f6e5b6b65795d3b207d293b0a4f626a6563742e6b6579732864335368617065292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643353686170655b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d65292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d655b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d65466f726d6174292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d65466f726d61745b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d6572292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d65725b6b65795d3b207d293b0a4f626a6563742e6b6579732864335472616e736974696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335472616e736974696f6e5b6b65795d3b207d293b0a4f626a6563742e6b657973286433566f726f6e6f69292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433566f726f6e6f695b6b65795d3b207d293b0a4f626a6563742e6b6579732864335a6f6f6d292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335a6f6f6d5b6b65795d3b207d293b0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20226576656e74222c207b6765743a2066756e6374696f6e2829207b2072657475726e20643353656c656374696f6e2e6576656e743b207d7d293b0a0a7d2c7b2264332d6172726179223a33392c2264332d61786973223a34302c2264332d6272757368223a34312c2264332d63686f7264223a34322c2264332d636f6c6c656374696f6e223a34332c2264332d636f6c6f72223a34342c2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d647376223a34372c2264332d65617365223a34382c2264332d666f726365223a34392c2264332d666f726d6174223a35302c2264332d67656f223a35312c2264332d686965726172636879223a35322c2264332d696e746572706f6c617465223a35332c2264332d70617468223a35342c2264332d706f6c79676f6e223a35352c2264332d7175616474726565223a35362c2264332d7175657565223a35372c2264332d72616e646f6d223a35382c2264332d72657175657374223a35392c2264332d7363616c65223a36302c2264332d73656c656374696f6e223a36312c2264332d7368617065223a36322c2264332d74696d65223a36342c2264332d74696d652d666f726d6174223a36332c2264332d74696d6572223a36352c2264332d7472616e736974696f6e223a36362c2264332d766f726f6e6f69223a36372c2264332d7a6f6f6d223a36387d5d2c37303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a0a436f707972696768742028632920323031322d3230313420436872697320506574746974740a0a5065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e67206120636f70790a6f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468652022536f66747761726522292c20746f206465616c0a696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e6720776974686f7574206c696d69746174696f6e20746865207269676874730a746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c0a636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d697420706572736f6e7320746f2077686f6d2074686520536f6674776172652069730a6675726e697368656420746f20646f20736f2c207375626a65637420746f2074686520666f6c6c6f77696e6720636f6e646974696f6e733a0a0a5468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c7564656420696e0a616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a0a54484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c2045585052455353204f520a494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f46204d45524348414e544142494c4954592c0a4649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e204e4f204556454e54205348414c4c205448450a415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c2044414d41474553204f52204f544845520a4c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f52204f54484552574953452c2041524953494e472046524f4d2c0a4f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f522054484520555345204f52204f54484552204445414c494e475320494e0a54484520534f4654574152452e0a2a2f0a0a6d6f64756c652e6578706f727473203d207b0a202067726170686c69623a207265717569726528222e2f6c69622f67726170686c696222292c0a0a20206c61796f75743a207265717569726528222e2f6c69622f6c61796f757422292c0a202064656275673a207265717569726528222e2f6c69622f646562756722292c0a20207574696c3a207b0a2020202074696d653a207265717569726528222e2f6c69622f7574696c22292e74696d652c0a202020206e6f74696d653a207265717569726528222e2f6c69622f7574696c22292e6e6f74696d650a20207d2c0a202076657273696f6e3a207265717569726528222e2f6c69622f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6c69622f6465627567223a37352c222e2f6c69622f67726170686c6962223a37362c222e2f6c69622f6c61796f7574223a37382c222e2f6c69622f7574696c223a39382c222e2f6c69622f76657273696f6e223a39397d5d2c37313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020677265656479464153203d207265717569726528222e2f6772656564792d66617322293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020756e646f3a20756e646f0a7d3b0a0a66756e6374696f6e2072756e286729207b0a202076617220666173203d2028672e677261706828292e616379636c69636572203d3d3d2022677265656479220a202020202020202020202020202020203f2067726565647946415328672c20776569676874466e286729290a202020202020202020202020202020203a20646673464153286729293b0a20205f2e666f7245616368286661732c2066756e6374696f6e286529207b0a20202020766172206c6162656c203d20672e656467652865293b0a20202020672e72656d6f7665456467652865293b0a202020206c6162656c2e666f72776172644e616d65203d20652e6e616d653b0a202020206c6162656c2e7265766572736564203d20747275653b0a20202020672e7365744564676528652e772c20652e762c206c6162656c2c205f2e756e69717565496428227265762229293b0a20207d293b0a0a202066756e6374696f6e20776569676874466e286729207b0a2020202072657475726e2066756e6374696f6e286529207b0a20202020202072657475726e20672e656467652865292e7765696768743b0a202020207d3b0a20207d0a7d0a0a66756e6374696f6e20646673464153286729207b0a202076617220666173203d205b5d2c0a202020202020737461636b203d207b7d2c0a20202020202076697369746564203d207b7d3b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c20762929207b0a20202020202072657475726e3b0a202020207d0a20202020766973697465645b765d203d20747275653b0a20202020737461636b5b765d203d20747275653b0a202020205f2e666f724561636828672e6f757445646765732876292c2066756e6374696f6e286529207b0a202020202020696620285f2e68617328737461636b2c20652e772929207b0a20202020202020206661732e707573682865293b0a2020202020207d20656c7365207b0a202020202020202064667328652e77293b0a2020202020207d0a202020207d293b0a2020202064656c65746520737461636b5b765d3b0a20207d0a0a20205f2e666f724561636828672e6e6f64657328292c20646673293b0a202072657475726e206661733b0a7d0a0a66756e6374696f6e20756e646f286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a20202020766172206c6162656c203d20672e656467652865293b0a20202020696620286c6162656c2e726576657273656429207b0a202020202020672e72656d6f7665456467652865293b0a0a20202020202076617220666f72776172644e616d65203d206c6162656c2e666f72776172644e616d653b0a20202020202064656c657465206c6162656c2e72657665727365643b0a20202020202064656c657465206c6162656c2e666f72776172644e616d653b0a202020202020672e7365744564676528652e772c20652e762c206c6162656c2c20666f72776172644e616d65293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6772656564792d666173223a37372c222e2f6c6f64617368223a37397d5d2c37323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20616464426f726465725365676d656e74733b0a0a66756e6374696f6e20616464426f726465725365676d656e7473286729207b0a202066756e6374696f6e20646673287629207b0a20202020766172206368696c6472656e203d20672e6368696c6472656e2876292c0a20202020202020206e6f6465203d20672e6e6f64652876293b0a20202020696620286368696c6472656e2e6c656e67746829207b0a2020202020205f2e666f7245616368286368696c6472656e2c20646673293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c20226d696e52616e6b222929207b0a2020202020206e6f64652e626f726465724c656674203d205b5d3b0a2020202020206e6f64652e626f726465725269676874203d205b5d3b0a202020202020666f7220287661722072616e6b203d206e6f64652e6d696e52616e6b2c206d617852616e6b203d206e6f64652e6d617852616e6b202b20313b0a202020202020202020202072616e6b203c206d617852616e6b3b0a20202020202020202020202b2b72616e6b29207b0a2020202020202020616464426f726465724e6f646528672c2022626f726465724c656674222c20225f626c222c20762c206e6f64652c2072616e6b293b0a2020202020202020616464426f726465724e6f646528672c2022626f726465725269676874222c20225f6272222c20762c206e6f64652c2072616e6b293b0a2020202020207d0a202020207d0a20207d0a0a20205f2e666f724561636828672e6368696c6472656e28292c20646673293b0a7d0a0a66756e6374696f6e20616464426f726465724e6f646528672c2070726f702c207072656669782c2073672c2073674e6f64652c2072616e6b29207b0a2020766172206c6162656c203d207b2077696474683a20302c206865696768743a20302c2072616e6b3a2072616e6b2c20626f72646572547970653a2070726f70207d2c0a20202020202070726576203d2073674e6f64655b70726f705d5b72616e6b202d20315d2c0a20202020202063757272203d207574696c2e61646444756d6d794e6f646528672c2022626f72646572222c206c6162656c2c20707265666978293b0a202073674e6f64655b70726f705d5b72616e6b5d203d20637572723b0a2020672e736574506172656e7428637572722c207367293b0a2020696620287072657629207b0a20202020672e7365744564676528707265762c20637572722c207b207765696768743a2031207d293b0a20207d0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c37333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207b0a202061646a7573743a2061646a7573742c0a2020756e646f3a20756e646f0a7d3b0a0a66756e6374696f6e2061646a757374286729207b0a20207661722072616e6b446972203d20672e677261706828292e72616e6b6469722e746f4c6f7765724361736528293b0a20206966202872616e6b446972203d3d3d20226c7222207c7c2072616e6b446972203d3d3d2022726c2229207b0a202020207377617057696474684865696768742867293b0a20207d0a7d0a0a66756e6374696f6e20756e646f286729207b0a20207661722072616e6b446972203d20672e677261706828292e72616e6b6469722e746f4c6f7765724361736528293b0a20206966202872616e6b446972203d3d3d2022627422207c7c2072616e6b446972203d3d3d2022726c2229207b0a2020202072657665727365592867293b0a20207d0a0a20206966202872616e6b446972203d3d3d20226c7222207c7c2072616e6b446972203d3d3d2022726c2229207b0a202020207377617058592867293b0a202020207377617057696474684865696768742867293b0a20207d0a7d0a0a66756e6374696f6e20737761705769647468486569676874286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b207377617057696474684865696768744f6e6528672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b207377617057696474684865696768744f6e6528672e65646765286529293b207d293b0a7d0a0a66756e6374696f6e207377617057696474684865696768744f6e6528617474727329207b0a20207661722077203d2061747472732e77696474683b0a202061747472732e7769647468203d2061747472732e6865696768743b0a202061747472732e686569676874203d20773b0a7d0a0a66756e6374696f6e207265766572736559286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2072657665727365594f6e6528672e6e6f6465287629293b207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c2072657665727365594f6e65293b0a20202020696620285f2e68617328656467652c202279222929207b0a20202020202072657665727365594f6e652865646765293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072657665727365594f6e6528617474727329207b0a202061747472732e79203d202d61747472732e793b0a7d0a0a66756e6374696f6e20737761705859286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b207377617058594f6e6528672e6e6f6465287629293b207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c207377617058594f6e65293b0a20202020696620285f2e68617328656467652c202278222929207b0a2020202020207377617058594f6e652865646765293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207377617058594f6e6528617474727329207b0a20207661722078203d2061747472732e783b0a202061747472732e78203d2061747472732e793b0a202061747472732e79203d20783b0a7d0a0a7d2c7b222e2f6c6f64617368223a37397d5d2c37343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a0a202a2053696d706c6520646f75626c79206c696e6b6564206c69737420696d706c656d656e746174696f6e20646572697665642066726f6d20436f726d656e2c20657420616c2e2c0a202a2022496e74726f64756374696f6e20746f20416c676f726974686d73222e0a202a2f0a0a6d6f64756c652e6578706f727473203d204c6973743b0a0a66756e6374696f6e204c6973742829207b0a20207661722073656e74696e656c203d207b7d3b0a202073656e74696e656c2e5f6e657874203d2073656e74696e656c2e5f70726576203d2073656e74696e656c3b0a2020746869732e5f73656e74696e656c203d2073656e74696e656c3b0a7d0a0a4c6973742e70726f746f747970652e64657175657565203d2066756e6374696f6e2829207b0a20207661722073656e74696e656c203d20746869732e5f73656e74696e656c2c0a202020202020656e747279203d2073656e74696e656c2e5f707265763b0a202069662028656e74727920213d3d2073656e74696e656c29207b0a20202020756e6c696e6b28656e747279293b0a2020202072657475726e20656e7472793b0a20207d0a7d3b0a0a4c6973742e70726f746f747970652e656e7175657565203d2066756e6374696f6e28656e74727929207b0a20207661722073656e74696e656c203d20746869732e5f73656e74696e656c3b0a202069662028656e7472792e5f7072657620262620656e7472792e5f6e65787429207b0a20202020756e6c696e6b28656e747279293b0a20207d0a2020656e7472792e5f6e657874203d2073656e74696e656c2e5f6e6578743b0a202073656e74696e656c2e5f6e6578742e5f70726576203d20656e7472793b0a202073656e74696e656c2e5f6e657874203d20656e7472793b0a2020656e7472792e5f70726576203d2073656e74696e656c3b0a7d3b0a0a4c6973742e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a20207661722073747273203d205b5d2c0a20202020202073656e74696e656c203d20746869732e5f73656e74696e656c2c0a20202020202063757272203d2073656e74696e656c2e5f707265763b0a20207768696c6520286375727220213d3d2073656e74696e656c29207b0a20202020737472732e70757368284a534f4e2e737472696e6769667928637572722c2066696c7465724f75744c696e6b7329293b0a2020202063757272203d20637572722e5f707265763b0a20207d0a202072657475726e20225b22202b20737472732e6a6f696e28222c202229202b20225d223b0a7d3b0a0a66756e6374696f6e20756e6c696e6b28656e74727929207b0a2020656e7472792e5f707265762e5f6e657874203d20656e7472792e5f6e6578743b0a2020656e7472792e5f6e6578742e5f70726576203d20656e7472792e5f707265763b0a202064656c65746520656e7472792e5f6e6578743b0a202064656c65746520656e7472792e5f707265763b0a7d0a0a66756e6374696f6e2066696c7465724f75744c696e6b73286b2c207629207b0a2020696620286b20213d3d20225f6e65787422202626206b20213d3d20225f707265762229207b0a2020202072657475726e20763b0a20207d0a7d0a0a7d2c7b7d5d2c37353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d207b0a202064656275674f72646572696e673a2064656275674f72646572696e670a7d3b0a0a2f2a20697374616e62756c2069676e6f7265206e657874202a2f0a66756e6374696f6e2064656275674f72646572696e67286729207b0a2020766172206c617965724d6174726978203d207574696c2e6275696c644c617965724d61747269782867293b0a0a20207661722068203d206e6577204772617068287b20636f6d706f756e643a20747275652c206d756c746967726170683a2074727565207d292e7365744772617068287b7d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020682e7365744e6f646528762c207b206c6162656c3a2076207d293b0a20202020682e736574506172656e7428762c20226c6179657222202b20672e6e6f64652876292e72616e6b293b0a20207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a20202020682e7365744564676528652e762c20652e772c207b7d2c20652e6e616d65293b0a20207d293b0a0a20205f2e666f7245616368286c617965724d61747269782c2066756e6374696f6e286c617965722c206929207b0a20202020766172206c6179657256203d20226c6179657222202b20693b0a20202020682e7365744e6f6465286c61796572562c207b2072616e6b3a202273616d6522207d293b0a202020205f2e726564756365286c617965722c2066756e6374696f6e28752c207629207b0a202020202020682e7365744564676528752c20762c207b207374796c653a2022696e76697322207d293b0a20202020202072657475726e20763b0a202020207d293b0a20207d293b0a0a202072657475726e20683b0a7d0a0a7d2c7b222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c37363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722067726170686c69623b0a0a69662028747970656f662072657175697265203d3d3d202266756e6374696f6e2229207b0a2020747279207b0a2020202067726170686c6962203d2072657175697265282267726170686c696222293b0a20207d20636174636820286529207b7d0a7d0a0a696620282167726170686c696229207b0a202067726170686c6962203d2077696e646f772e67726170686c69623b0a7d0a0a6d6f64756c652e6578706f727473203d2067726170686c69623b0a0a7d2c7b2267726170686c6962223a3130307d5d2c37373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170682c0a202020204c697374203d207265717569726528222e2f646174612f6c69737422293b0a0a2f2a0a202a2041206772656564792068657572697374696320666f722066696e64696e67206120666565646261636b206172632073657420666f7220612067726170682e204120666565646261636b0a202a2061726320736574206973206120736574206f6620656467657320746861742063616e2062652072656d6f76656420746f206d616b65206120677261706820616379636c69632e0a202a2054686520616c676f726974686d20636f6d65732066726f6d3a20502e2045616465732c20582e204c696e2c20616e6420572e20462e20536d7974682c202241206661737420616e640a202a206566666563746976652068657572697374696320666f722074686520666565646261636b20617263207365742070726f626c656d2e22205468697320696d706c656d656e746174696f6e0a202a2061646a7573747320746861742066726f6d2074686520706170657220746f20616c6c6f7720666f722077656967687465642065646765732e0a202a2f0a6d6f64756c652e6578706f727473203d206772656564794641533b0a0a7661722044454641554c545f5745494748545f464e203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e2067726565647946415328672c20776569676874466e29207b0a202069662028672e6e6f6465436f756e742829203c3d203129207b0a2020202072657475726e205b5d3b0a20207d0a2020766172207374617465203d206275696c64537461746528672c20776569676874466e207c7c2044454641554c545f5745494748545f464e293b0a202076617220726573756c7473203d20646f4772656564794641532873746174652e67726170682c2073746174652e6275636b6574732c2073746174652e7a65726f496478293b0a0a20202f2f20457870616e64206d756c74692d65646765730a202072657475726e205f2e666c617474656e285f2e6d617028726573756c74732c2066756e6374696f6e286529207b0a2020202072657475726e20672e6f7574456467657328652e762c20652e77293b0a20207d292c2074727565293b0a7d0a0a66756e6374696f6e20646f47726565647946415328672c206275636b6574732c207a65726f49647829207b0a202076617220726573756c7473203d205b5d2c0a202020202020736f7572636573203d206275636b6574735b6275636b6574732e6c656e677468202d20315d2c0a20202020202073696e6b73203d206275636b6574735b305d3b0a0a202076617220656e7472793b0a20207768696c652028672e6e6f6465436f756e74282929207b0a202020207768696c65202828656e747279203d2073696e6b732e64657175657565282929292020207b2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e747279293b207d0a202020207768696c65202828656e747279203d20736f75726365732e6465717565756528292929207b2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e747279293b207d0a2020202069662028672e6e6f6465436f756e74282929207b0a202020202020666f7220287661722069203d206275636b6574732e6c656e677468202d20323b2069203e20303b202d2d6929207b0a2020202020202020656e747279203d206275636b6574735b695d2e6465717565756528293b0a202020202020202069662028656e74727929207b0a20202020202020202020726573756c7473203d20726573756c74732e636f6e6361742872656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e7472792c207472756529293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e7472792c20636f6c6c6563745072656465636573736f727329207b0a202076617220726573756c7473203d20636f6c6c6563745072656465636573736f7273203f205b5d203a20756e646566696e65643b0a0a20205f2e666f724561636828672e696e456467657328656e7472792e76292c2066756e6374696f6e286564676529207b0a2020202076617220776569676874203d20672e656467652865646765292c0a202020202020202075456e747279203d20672e6e6f646528656467652e76293b0a0a2020202069662028636f6c6c6563745072656465636573736f727329207b0a202020202020726573756c74732e70757368287b20763a20656467652e762c20773a20656467652e77207d293b0a202020207d0a0a2020202075456e7472792e6f7574202d3d207765696768743b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2075456e747279293b0a20207d293b0a0a20205f2e666f724561636828672e6f7574456467657328656e7472792e76292c2066756e6374696f6e286564676529207b0a2020202076617220776569676874203d20672e656467652865646765292c0a202020202020202077203d20656467652e772c0a202020202020202077456e747279203d20672e6e6f64652877293b0a2020202077456e7472795b22696e225d202d3d207765696768743b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2077456e747279293b0a20207d293b0a0a2020672e72656d6f76654e6f646528656e7472792e76293b0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e206275696c64537461746528672c20776569676874466e29207b0a2020766172206661734772617068203d206e657720477261706828292c0a2020202020206d6178496e203d20302c0a2020202020206d61784f7574203d20303b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202066617347726170682e7365744e6f646528762c207b20763a20762c2022696e223a20302c206f75743a2030207d293b0a20207d293b0a0a20202f2f204167677265676174652077656967687473206f6e206e6f6465732c2062757420616c736f2073756d207468652077656967687473206163726f7373206d756c74692d65646765730a20202f2f20696e746f20612073696e676c65206564676520666f72207468652066617347726170682e0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722070726576576569676874203d2066617347726170682e6564676528652e762c20652e7729207c7c20302c0a2020202020202020776569676874203d20776569676874466e2865292c0a202020202020202065646765576569676874203d2070726576576569676874202b207765696768743b0a2020202066617347726170682e7365744564676528652e762c20652e772c2065646765576569676874293b0a202020206d61784f7574203d204d6174682e6d6178286d61784f75742c2066617347726170682e6e6f646528652e76292e6f7574202b3d20776569676874293b0a202020206d6178496e20203d204d6174682e6d6178286d6178496e2c202066617347726170682e6e6f646528652e77295b22696e225d20202b3d20776569676874293b0a20207d293b0a0a2020766172206275636b657473203d205f2e72616e6765286d61784f7574202b206d6178496e202b2033292e6d61702866756e6374696f6e2829207b2072657475726e206e6577204c69737428293b207d293b0a2020766172207a65726f496478203d206d6178496e202b20313b0a0a20205f2e666f72456163682866617347726170682e6e6f64657328292c2066756e6374696f6e287629207b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2066617347726170682e6e6f6465287629293b0a20207d293b0a0a202072657475726e207b2067726170683a2066617347726170682c206275636b6574733a206275636b6574732c207a65726f4964783a207a65726f496478207d3b0a7d0a0a66756e6374696f6e2061737369676e4275636b6574286275636b6574732c207a65726f4964782c20656e74727929207b0a20206966202821656e7472792e6f757429207b0a202020206275636b6574735b305d2e656e717565756528656e747279293b0a20207d20656c7365206966202821656e7472795b22696e225d29207b0a202020206275636b6574735b6275636b6574732e6c656e677468202d20315d2e656e717565756528656e747279293b0a20207d20656c7365207b0a202020206275636b6574735b656e7472792e6f7574202d20656e7472795b22696e225d202b207a65726f4964785d2e656e717565756528656e747279293b0a20207d0a7d0a0a7d2c7b222e2f646174612f6c697374223a37342c222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37397d5d2c37383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020616379636c6963203d207265717569726528222e2f616379636c696322292c0a202020206e6f726d616c697a65203d207265717569726528222e2f6e6f726d616c697a6522292c0a2020202072616e6b203d207265717569726528222e2f72616e6b22292c0a202020206e6f726d616c697a6552616e6b73203d207265717569726528222e2f7574696c22292e6e6f726d616c697a6552616e6b732c0a20202020706172656e7444756d6d79436861696e73203d207265717569726528222e2f706172656e742d64756d6d792d636861696e7322292c0a2020202072656d6f7665456d70747952616e6b73203d207265717569726528222e2f7574696c22292e72656d6f7665456d70747952616e6b732c0a202020206e657374696e674772617068203d207265717569726528222e2f6e657374696e672d677261706822292c0a20202020616464426f726465725365676d656e7473203d207265717569726528222e2f6164642d626f726465722d7365676d656e747322292c0a20202020636f6f7264696e61746553797374656d203d207265717569726528222e2f636f6f7264696e6174652d73797374656d22292c0a202020206f72646572203d207265717569726528222e2f6f7264657222292c0a20202020706f736974696f6e203d207265717569726528222e2f706f736974696f6e22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d206c61796f75743b0a0a66756e6374696f6e206c61796f757428672c206f70747329207b0a20207661722074696d65203d206f707473202626206f7074732e646562756754696d696e67203f207574696c2e74696d65203a207574696c2e6e6f74696d653b0a202074696d6528226c61796f7574222c2066756e6374696f6e2829207b0a20202020766172206c61796f75744772617068203d2074696d65282220206275696c644c61796f75744772617068222c0a2020202020202020202020202020202020202020202020202020202020202066756e6374696f6e2829207b2072657475726e206275696c644c61796f757447726170682867293b207d293b0a2020202074696d652822202072756e4c61796f7574222c202020202020202066756e6374696f6e2829207b2072756e4c61796f7574286c61796f757447726170682c2074696d65293b207d293b0a2020202074696d6528222020757064617465496e7075744772617068222c2066756e6374696f6e2829207b20757064617465496e707574477261706828672c206c61796f75744772617068293b207d293b0a20207d293b0a7d0a0a66756e6374696f6e2072756e4c61796f757428672c2074696d6529207b0a202074696d652822202020206d616b655370616365466f72456467654c6162656c73222c2066756e6374696f6e2829207b206d616b655370616365466f72456467654c6162656c732867293b207d293b0a202074696d6528222020202072656d6f766553656c664564676573222c202020202020202066756e6374696f6e2829207b2072656d6f766553656c6645646765732867293b207d293b0a202074696d65282220202020616379636c6963222c2020202020202020202020202020202066756e6374696f6e2829207b20616379636c69632e72756e2867293b207d293b0a202074696d652822202020206e657374696e6747726170682e72756e222c2020202020202066756e6374696f6e2829207b206e657374696e6747726170682e72756e2867293b207d293b0a202074696d6528222020202072616e6b222c2020202020202020202020202020202020202066756e6374696f6e2829207b2072616e6b287574696c2e61734e6f6e436f6d706f756e644772617068286729293b207d293b0a202074696d65282220202020696e6a656374456467654c6162656c50726f78696573222c2066756e6374696f6e2829207b20696e6a656374456467654c6162656c50726f786965732867293b207d293b0a202074696d6528222020202072656d6f7665456d70747952616e6b73222c2020202020202066756e6374696f6e2829207b2072656d6f7665456d70747952616e6b732867293b207d293b0a202074696d652822202020206e657374696e6747726170682e636c65616e7570222c20202066756e6374696f6e2829207b206e657374696e6747726170682e636c65616e75702867293b207d293b0a202074696d652822202020206e6f726d616c697a6552616e6b73222c20202020202020202066756e6374696f6e2829207b206e6f726d616c697a6552616e6b732867293b207d293b0a202074696d6528222020202061737369676e52616e6b4d696e4d6178222c2020202020202066756e6374696f6e2829207b2061737369676e52616e6b4d696e4d61782867293b207d293b0a202074696d6528222020202072656d6f7665456467654c6162656c50726f78696573222c2066756e6374696f6e2829207b2072656d6f7665456467654c6162656c50726f786965732867293b207d293b0a202074696d652822202020206e6f726d616c697a652e72756e222c2020202020202020202066756e6374696f6e2829207b206e6f726d616c697a652e72756e2867293b207d293b0a202074696d65282220202020706172656e7444756d6d79436861696e73222c20202020202066756e6374696f6e2829207b20706172656e7444756d6d79436861696e732867293b207d293b0a202074696d65282220202020616464426f726465725365676d656e7473222c20202020202066756e6374696f6e2829207b20616464426f726465725365676d656e74732867293b207d293b0a202074696d652822202020206f72646572222c20202020202020202020202020202020202066756e6374696f6e2829207b206f726465722867293b207d293b0a202074696d65282220202020696e7365727453656c664564676573222c202020202020202066756e6374696f6e2829207b20696e7365727453656c6645646765732867293b207d293b0a202074696d6528222020202061646a757374436f6f7264696e61746553797374656d222c2066756e6374696f6e2829207b20636f6f7264696e61746553797374656d2e61646a7573742867293b207d293b0a202074696d65282220202020706f736974696f6e222c20202020202020202020202020202066756e6374696f6e2829207b20706f736974696f6e2867293b207d293b0a202074696d65282220202020706f736974696f6e53656c664564676573222c20202020202066756e6374696f6e2829207b20706f736974696f6e53656c6645646765732867293b207d293b0a202074696d6528222020202072656d6f7665426f726465724e6f646573222c20202020202066756e6374696f6e2829207b2072656d6f7665426f726465724e6f6465732867293b207d293b0a202074696d652822202020206e6f726d616c697a652e756e646f222c20202020202020202066756e6374696f6e2829207b206e6f726d616c697a652e756e646f2867293b207d293b0a202074696d652822202020206669787570456467654c6162656c436f6f726473222c20202066756e6374696f6e2829207b206669787570456467654c6162656c436f6f7264732867293b207d293b0a202074696d65282220202020756e646f436f6f7264696e61746553797374656d222c20202066756e6374696f6e2829207b20636f6f7264696e61746553797374656d2e756e646f2867293b207d293b0a202074696d652822202020207472616e736c6174654772617068222c20202020202020202066756e6374696f6e2829207b207472616e736c61746547726170682867293b207d293b0a202074696d6528222020202061737369676e4e6f6465496e7465727365637473222c20202066756e6374696f6e2829207b2061737369676e4e6f6465496e74657273656374732867293b207d293b0a202074696d6528222020202072657665727365506f696e7473222c2020202020202020202066756e6374696f6e2829207b2072657665727365506f696e7473466f72526576657273656445646765732867293b207d293b0a202074696d65282220202020616379636c69632e756e646f222c202020202020202020202066756e6374696f6e2829207b20616379636c69632e756e646f2867293b207d293b0a7d0a0a2f2a0a202a20436f706965732066696e616c206c61796f757420696e666f726d6174696f6e2066726f6d20746865206c61796f7574206772617068206261636b20746f2074686520696e7075740a202a2067726170682e20546869732070726f63657373206f6e6c7920636f706965732077686974656c697374656420617474726962757465732066726f6d20746865206c61796f75742067726170680a202a20746f2074686520696e7075742067726170682c20736f20697420736572766573206173206120676f6f6420706c61636520746f2064657465726d696e6520776861740a202a20617474726962757465732063616e20696e666c75656e6365206c61796f75742e0a202a2f0a66756e6374696f6e20757064617465496e707574477261706828696e70757447726170682c206c61796f7574477261706829207b0a20205f2e666f724561636828696e70757447726170682e6e6f64657328292c2066756e6374696f6e287629207b0a2020202076617220696e7075744c6162656c203d20696e70757447726170682e6e6f64652876292c0a20202020202020206c61796f75744c6162656c203d206c61796f757447726170682e6e6f64652876293b0a0a2020202069662028696e7075744c6162656c29207b0a202020202020696e7075744c6162656c2e78203d206c61796f75744c6162656c2e783b0a202020202020696e7075744c6162656c2e79203d206c61796f75744c6162656c2e793b0a0a202020202020696620286c61796f757447726170682e6368696c6472656e2876292e6c656e67746829207b0a2020202020202020696e7075744c6162656c2e7769647468203d206c61796f75744c6162656c2e77696474683b0a2020202020202020696e7075744c6162656c2e686569676874203d206c61796f75744c6162656c2e6865696768743b0a2020202020207d0a202020207d0a20207d293b0a0a20205f2e666f724561636828696e70757447726170682e656467657328292c2066756e6374696f6e286529207b0a2020202076617220696e7075744c6162656c203d20696e70757447726170682e656467652865292c0a20202020202020206c61796f75744c6162656c203d206c61796f757447726170682e656467652865293b0a0a20202020696e7075744c6162656c2e706f696e7473203d206c61796f75744c6162656c2e706f696e74733b0a20202020696620285f2e686173286c61796f75744c6162656c2c202278222929207b0a202020202020696e7075744c6162656c2e78203d206c61796f75744c6162656c2e783b0a202020202020696e7075744c6162656c2e79203d206c61796f75744c6162656c2e793b0a202020207d0a20207d293b0a0a2020696e70757447726170682e677261706828292e7769647468203d206c61796f757447726170682e677261706828292e77696474683b0a2020696e70757447726170682e677261706828292e686569676874203d206c61796f757447726170682e677261706828292e6865696768743b0a7d0a0a7661722067726170684e756d4174747273203d205b226e6f6465736570222c202265646765736570222c202272616e6b736570222c20226d617267696e78222c20226d617267696e79225d2c0a20202020677261706844656661756c7473203d207b2072616e6b7365703a2035302c20656467657365703a2032302c206e6f64657365703a2035302c2072616e6b6469723a2022746222207d2c0a2020202067726170684174747273203d205b22616379636c69636572222c202272616e6b6572222c202272616e6b646972222c2022616c69676e225d2c0a202020206e6f64654e756d4174747273203d205b227769647468222c2022686569676874225d2c0a202020206e6f646544656661756c7473203d207b2077696474683a20302c206865696768743a2030207d2c0a20202020656467654e756d4174747273203d205b226d696e6c656e222c2022776569676874222c20227769647468222c2022686569676874222c20226c6162656c6f6666736574225d2c0a202020206564676544656661756c7473203d207b0a2020202020206d696e6c656e3a20312c207765696768743a20312c2077696474683a20302c206865696768743a20302c0a2020202020206c6162656c6f66667365743a2031302c206c6162656c706f733a202272220a202020207d2c0a20202020656467654174747273203d205b226c6162656c706f73225d3b0a0a2f2a0a202a20436f6e737472756374732061206e65772067726170682066726f6d2074686520696e7075742067726170682c2077686963682063616e206265207573656420666f72206c61796f75742e0a202a20546869732070726f6365737320636f70696573206f6e6c792077686974656c697374656420617474726962757465732066726f6d2074686520696e70757420677261706820746f207468650a202a206c61796f75742067726170682e205468757320746869732066756e6374696f6e20736572766573206173206120676f6f6420706c61636520746f2064657465726d696e6520776861740a202a20617474726962757465732063616e20696e666c75656e6365206c61796f75742e0a202a2f0a66756e6374696f6e206275696c644c61796f7574477261706828696e707574477261706829207b0a20207661722067203d206e6577204772617068287b206d756c746967726170683a20747275652c20636f6d706f756e643a2074727565207d292c0a2020202020206772617068203d2063616e6f6e6963616c697a6528696e70757447726170682e67726170682829293b0a0a2020672e7365744772617068285f2e6d65726765287b7d2c0a20202020677261706844656661756c74732c0a2020202073656c6563744e756d62657241747472732867726170682c2067726170684e756d4174747273292c0a202020205f2e7069636b2867726170682c20677261706841747472732929293b0a0a20205f2e666f724561636828696e70757447726170682e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d2063616e6f6e6963616c697a6528696e70757447726170682e6e6f6465287629293b0a20202020672e7365744e6f646528762c205f2e64656661756c74732873656c6563744e756d6265724174747273286e6f64652c206e6f64654e756d4174747273292c206e6f646544656661756c747329293b0a20202020672e736574506172656e7428762c20696e70757447726170682e706172656e74287629293b0a20207d293b0a0a20205f2e666f724561636828696e70757447726170682e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d2063616e6f6e6963616c697a6528696e70757447726170682e65646765286529293b0a20202020672e7365744564676528652c205f2e6d65726765287b7d2c0a2020202020206564676544656661756c74732c0a20202020202073656c6563744e756d626572417474727328656467652c20656467654e756d4174747273292c0a2020202020205f2e7069636b28656467652c206564676541747472732929293b0a20207d293b0a0a202072657475726e20673b0a7d0a0a2f2a0a202a2054686973206964656120636f6d65732066726f6d207468652047616e736e65722070617065723a20746f206163636f756e7420666f722065646765206c6162656c7320696e206f75720a202a206c61796f75742077652073706c697420656163682072616e6b20696e2068616c6620627920646f75626c696e67206d696e6c656e20616e642068616c76696e672072616e6b7365702e0a202a205468656e2077652063616e20706c616365206c6162656c73206174207468657365206d69642d706f696e7473206265747765656e206e6f6465732e0a202a0a202a20576520616c736f2061646420736f6d65206d696e696d616c2070616464696e6720746f2074686520776964746820746f207075736820746865206c6162656c20666f722074686520656467650a202a20617761792066726f6d20746865206564676520697473656c662061206269742e0a202a2f0a66756e6374696f6e206d616b655370616365466f72456467654c6162656c73286729207b0a2020766172206772617068203d20672e677261706828293b0a202067726170682e72616e6b736570202f3d20323b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020656467652e6d696e6c656e202a3d20323b0a2020202069662028656467652e6c6162656c706f732e746f4c6f77657243617365282920213d3d2022632229207b0a2020202020206966202867726170682e72616e6b646972203d3d3d2022544222207c7c2067726170682e72616e6b646972203d3d3d202242542229207b0a2020202020202020656467652e7769647468202b3d20656467652e6c6162656c6f66667365743b0a2020202020207d20656c7365207b0a2020202020202020656467652e686569676874202b3d20656467652e6c6162656c6f66667365743b0a2020202020207d0a202020207d0a20207d293b0a7d0a0a2f2a0a202a20437265617465732074656d706f726172792064756d6d79206e6f64657320746861742063617074757265207468652072616e6b20696e2077686963682065616368206564676527730a202a206c6162656c20697320676f696e6720746f2c20696620697420686173206f6e65206f66206e6f6e2d7a65726f20776964746820616e64206865696768742e20576520646f20746869730a202a20736f20746861742077652063616e20736166656c792072656d6f766520656d7074792072616e6b73207768696c652070726573657276696e672062616c616e636520666f72207468650a202a206c6162656c277320706f736974696f6e2e0a202a2f0a66756e6374696f6e20696e6a656374456467654c6162656c50726f78696573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e776964746820262620656467652e68656967687429207b0a2020202020207661722076203d20672e6e6f646528652e76292c0a2020202020202020202077203d20672e6e6f646528652e77292c0a202020202020202020206c6162656c203d207b2072616e6b3a2028772e72616e6b202d20762e72616e6b29202f2032202b20762e72616e6b2c20653a2065207d3b0a2020202020207574696c2e61646444756d6d794e6f646528672c2022656467652d70726f7879222c206c6162656c2c20225f657022293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e52616e6b4d696e4d6178286729207b0a2020766172206d617852616e6b203d20303b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e626f72646572546f7029207b0a2020202020206e6f64652e6d696e52616e6b203d20672e6e6f6465286e6f64652e626f72646572546f70292e72616e6b3b0a2020202020206e6f64652e6d617852616e6b203d20672e6e6f6465286e6f64652e626f72646572426f74746f6d292e72616e6b3b0a2020202020206d617852616e6b203d205f2e6d6178286d617852616e6b2c206e6f64652e6d617852616e6b293b0a202020207d0a20207d293b0a2020672e677261706828292e6d617852616e6b203d206d617852616e6b3b0a7d0a0a66756e6374696f6e2072656d6f7665456467654c6162656c50726f78696573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e64756d6d79203d3d3d2022656467652d70726f78792229207b0a202020202020672e65646765286e6f64652e65292e6c6162656c52616e6b203d206e6f64652e72616e6b3b0a202020202020672e72656d6f76654e6f64652876293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207472616e736c6174654772617068286729207b0a2020766172206d696e58203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d617858203d20302c0a2020202020206d696e59203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d617859203d20302c0a20202020202067726170684c6162656c203d20672e677261706828292c0a2020202020206d617267696e58203d2067726170684c6162656c2e6d617267696e78207c7c20302c0a2020202020206d617267696e59203d2067726170684c6162656c2e6d617267696e79207c7c20303b0a0a202066756e6374696f6e2067657445787472656d657328617474727329207b0a202020207661722078203d2061747472732e782c0a202020202020202079203d2061747472732e792c0a202020202020202077203d2061747472732e77696474682c0a202020202020202068203d2061747472732e6865696768743b0a202020206d696e58203d204d6174682e6d696e286d696e582c2078202d2077202f2032293b0a202020206d617858203d204d6174682e6d6178286d6178582c2078202b2077202f2032293b0a202020206d696e59203d204d6174682e6d696e286d696e592c2079202d2068202f2032293b0a202020206d617859203d204d6174682e6d6178286d6178592c2079202b2068202f2032293b0a20207d0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2067657445787472656d657328672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020696620285f2e68617328656467652c202278222929207b0a20202020202067657445787472656d65732865646765293b0a202020207d0a20207d293b0a0a20206d696e58202d3d206d617267696e583b0a20206d696e59202d3d206d617267696e593b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a202020206e6f64652e78202d3d206d696e583b0a202020206e6f64652e79202d3d206d696e593b0a20207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c2066756e6374696f6e287029207b0a202020202020702e78202d3d206d696e583b0a202020202020702e79202d3d206d696e593b0a202020207d293b0a20202020696620285f2e68617328656467652c202278222929207b20656467652e78202d3d206d696e583b207d0a20202020696620285f2e68617328656467652c202279222929207b20656467652e79202d3d206d696e593b207d0a20207d293b0a0a202067726170684c6162656c2e7769647468203d206d617858202d206d696e58202b206d617267696e583b0a202067726170684c6162656c2e686569676874203d206d617859202d206d696e59202b206d617267696e593b0a7d0a0a66756e6374696f6e2061737369676e4e6f6465496e7465727365637473286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865292c0a20202020202020206e6f646556203d20672e6e6f646528652e76292c0a20202020202020206e6f646557203d20672e6e6f646528652e77292c0a202020202020202070312c2070323b0a202020206966202821656467652e706f696e747329207b0a202020202020656467652e706f696e7473203d205b5d3b0a2020202020207031203d206e6f6465573b0a2020202020207032203d206e6f6465563b0a202020207d20656c7365207b0a2020202020207031203d20656467652e706f696e74735b305d3b0a2020202020207032203d20656467652e706f696e74735b656467652e706f696e74732e6c656e677468202d20315d3b0a202020207d0a20202020656467652e706f696e74732e756e7368696674287574696c2e696e7465727365637452656374286e6f6465562c20703129293b0a20202020656467652e706f696e74732e70757368287574696c2e696e7465727365637452656374286e6f6465572c20703229293b0a20207d293b0a7d0a0a66756e6374696f6e206669787570456467654c6162656c436f6f726473286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020696620285f2e68617328656467652c202278222929207b0a20202020202069662028656467652e6c6162656c706f73203d3d3d20226c22207c7c20656467652e6c6162656c706f73203d3d3d2022722229207b0a2020202020202020656467652e7769647468202d3d20656467652e6c6162656c6f66667365743b0a2020202020207d0a2020202020207377697463682028656467652e6c6162656c706f7329207b0a20202020202020206361736520226c223a20656467652e78202d3d20656467652e7769647468202f2032202b20656467652e6c6162656c6f66667365743b20627265616b3b0a202020202020202063617365202272223a20656467652e78202b3d20656467652e7769647468202f2032202b20656467652e6c6162656c6f66667365743b20627265616b3b0a2020202020207d0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072657665727365506f696e7473466f7252657665727365644564676573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e726576657273656429207b0a202020202020656467652e706f696e74732e7265766572736528293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f7665426f726465724e6f646573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202069662028672e6368696c6472656e2876292e6c656e67746829207b0a202020202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020202074203d20672e6e6f6465286e6f64652e626f72646572546f70292c0a2020202020202020202062203d20672e6e6f6465286e6f64652e626f72646572426f74746f6d292c0a202020202020202020206c203d20672e6e6f6465285f2e6c617374286e6f64652e626f726465724c65667429292c0a2020202020202020202072203d20672e6e6f6465285f2e6c617374286e6f64652e626f72646572526967687429293b0a0a2020202020206e6f64652e7769647468203d204d6174682e61627328722e78202d206c2e78293b0a2020202020206e6f64652e686569676874203d204d6174682e61627328622e79202d20742e79293b0a2020202020206e6f64652e78203d206c2e78202b206e6f64652e7769647468202f20323b0a2020202020206e6f64652e79203d20742e79202b206e6f64652e686569676874202f20323b0a202020207d0a20207d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202069662028672e6e6f64652876292e64756d6d79203d3d3d2022626f726465722229207b0a202020202020672e72656d6f76654e6f64652876293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f766553656c664564676573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a2020202069662028652e76203d3d3d20652e7729207b0a202020202020766172206e6f6465203d20672e6e6f646528652e76293b0a20202020202069662028216e6f64652e73656c66456467657329207b0a20202020202020206e6f64652e73656c664564676573203d205b5d3b0a2020202020207d0a2020202020206e6f64652e73656c6645646765732e70757368287b20653a20652c206c6162656c3a20672e65646765286529207d293b0a202020202020672e72656d6f7665456467652865293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20696e7365727453656c664564676573286729207b0a2020766172206c6179657273203d207574696c2e6275696c644c617965724d61747269782867293b0a20205f2e666f7245616368286c61796572732c2066756e6374696f6e286c6179657229207b0a20202020766172206f726465725368696674203d20303b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a202020202020766172206e6f6465203d20672e6e6f64652876293b0a2020202020206e6f64652e6f72646572203d2069202b206f7264657253686966743b0a2020202020205f2e666f7245616368286e6f64652e73656c6645646765732c2066756e6374696f6e2873656c664564676529207b0a20202020202020207574696c2e61646444756d6d794e6f646528672c202273656c6665646765222c207b0a2020202020202020202077696474683a2073656c66456467652e6c6162656c2e77696474682c0a202020202020202020206865696768743a2073656c66456467652e6c6162656c2e6865696768742c0a2020202020202020202072616e6b3a206e6f64652e72616e6b2c0a202020202020202020206f726465723a2069202b20282b2b6f726465725368696674292c0a20202020202020202020653a2073656c66456467652e652c0a202020202020202020206c6162656c3a2073656c66456467652e6c6162656c0a20202020202020207d2c20225f736522293b0a2020202020207d293b0a20202020202064656c657465206e6f64652e73656c6645646765733b0a202020207d293b0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e53656c664564676573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e64756d6d79203d3d3d202273656c66656467652229207b0a2020202020207661722073656c664e6f6465203d20672e6e6f6465286e6f64652e652e76292c0a2020202020202020202078203d2073656c664e6f64652e78202b2073656c664e6f64652e7769647468202f20322c0a2020202020202020202079203d2073656c664e6f64652e792c0a202020202020202020206478203d206e6f64652e78202d20782c0a202020202020202020206479203d2073656c664e6f64652e686569676874202f20323b0a202020202020672e73657445646765286e6f64652e652c206e6f64652e6c6162656c293b0a202020202020672e72656d6f76654e6f64652876293b0a2020202020206e6f64652e6c6162656c2e706f696e7473203d205b0a20202020202020207b20783a2078202b2032202a206478202f20332c20793a2079202d206479207d2c0a20202020202020207b20783a2078202b2035202a206478202f20362c20793a2079202d206479207d2c0a20202020202020207b20783a2078202b20202020206478202020202c20793a2079207d2c0a20202020202020207b20783a2078202b2035202a206478202f20362c20793a2079202b206479207d2c0a20202020202020207b20783a2078202b2032202a206478202f20332c20793a2079202b206479207d0a2020202020205d3b0a2020202020206e6f64652e6c6162656c2e78203d206e6f64652e783b0a2020202020206e6f64652e6c6162656c2e79203d206e6f64652e793b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2073656c6563744e756d6265724174747273286f626a2c20617474727329207b0a202072657475726e205f2e6d617056616c756573285f2e7069636b286f626a2c206174747273292c204e756d626572293b0a7d0a0a66756e6374696f6e2063616e6f6e6963616c697a6528617474727329207b0a2020766172206e65774174747273203d207b7d3b0a20205f2e666f72456163682861747472732c2066756e6374696f6e28762c206b29207b0a202020206e657741747472735b6b2e746f4c6f7765724361736528295d203d20763b0a20207d293b0a202072657475726e206e657741747472733b0a7d0a0a7d2c7b222e2f616379636c6963223a37312c222e2f6164642d626f726465722d7365676d656e7473223a37322c222e2f636f6f7264696e6174652d73797374656d223a37332c222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37392c222e2f6e657374696e672d6772617068223a38302c222e2f6e6f726d616c697a65223a38312c222e2f6f72646572223a38362c222e2f706172656e742d64756d6d792d636861696e73223a39312c222e2f706f736974696f6e223a39332c222e2f72616e6b223a39352c222e2f7574696c223a39387d5d2c37393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a766172206c6f646173683b0a0a69662028747970656f662072657175697265203d3d3d202266756e6374696f6e2229207b0a2020747279207b0a202020206c6f64617368203d207265717569726528226c6f6461736822293b0a20207d20636174636820286529207b7d0a7d0a0a69662028216c6f6461736829207b0a20206c6f64617368203d2077696e646f772e5f3b0a7d0a0a6d6f64756c652e6578706f727473203d206c6f646173683b0a0a7d2c7b226c6f64617368223a3132337d5d2c38303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020636c65616e75703a20636c65616e75700a7d3b0a0a2f2a0a202a2041206e657374696e6720677261706820637265617465732064756d6d79206e6f64657320666f722074686520746f707320616e6420626f74746f6d73206f66207375626772617068732c0a202a206164647320617070726f70726961746520656467657320746f20656e73757265207468617420616c6c20636c7573746572206e6f6465732061726520706c61636564206265747765656e0a202a20746865736520626f756e64726965732c20616e6420656e737572657320746861742074686520677261706820697320636f6e6e65637465642e0a202a0a202a20496e206164646974696f6e20776520656e737572652c207468726f7567682074686520757365206f6620746865206d696e6c656e2070726f70657274792c2074686174206e6f6465730a202a20616e6420737562677261706820626f72646572206e6f64657320746f206e6f7420656e64207570206f6e207468652073616d652072616e6b2e0a202a0a202a20507265636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441470a202a20202020322e204e6f64657320696e2074686520696e707574206772617068206861732061206d696e6c656e206174747269627574650a202a0a202a20506f7374636f6e646974696f6e733a0a202a0a202a20202020312e20496e70757420677261706820697320636f6e6e65637465642e0a202a20202020322e2044756d6d79206e6f6465732061726520616464656420666f722074686520746f707320616e6420626f74746f6d73206f66207375626772617068732e0a202a20202020332e20546865206d696e6c656e2061747472696275746520666f72206e6f6465732069732061646a757374656420746f20656e73757265206e6f64657320646f206e6f740a202a2020202020202067657420706c61636564206f6e207468652073616d652072616e6b20617320737562677261706820626f72646572206e6f6465732e0a202a0a202a20546865206e657374696e67206772617068206964656120636f6d65732066726f6d2053616e6465722c20224c61796f7574206f6620436f6d706f756e642044697265637465640a202a204772617068732e220a202a2f0a66756e6374696f6e2072756e286729207b0a202076617220726f6f74203d207574696c2e61646444756d6d794e6f646528672c2022726f6f74222c207b7d2c20225f726f6f7422293b0a202076617220646570746873203d20747265654465707468732867293b0a202076617220686569676874203d205f2e6d6178285f2e76616c756573286465707468732929202d20313b202f2f204e6f74653a2064657074687320697320616e204f626a656374206e6f7420616e2061727261790a2020766172206e6f6465536570203d2032202a20686569676874202b20313b0a0a2020672e677261706828292e6e657374696e67526f6f74203d20726f6f743b0a0a20202f2f204d756c7469706c79206d696e6c656e206279206e6f646553657020746f20616c69676e206e6f646573206f6e206e6f6e2d626f726465722072616e6b732e0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b20672e656467652865292e6d696e6c656e202a3d206e6f64655365703b207d293b0a0a20202f2f2043616c63756c61746520612077656967687420746861742069732073756666696369656e7420746f206b6565702073756267726170687320766572746963616c6c7920636f6d706163740a202076617220776569676874203d2073756d57656967687473286729202b20313b0a0a20202f2f2043726561746520626f72646572206e6f64657320616e64206c696e6b207468656d2075700a20205f2e666f724561636828672e6368696c6472656e28292c2066756e6374696f6e286368696c6429207b0a2020202064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c206368696c64293b0a20207d293b0a0a20202f2f205361766520746865206d756c7469706c69657220666f72206e6f6465206c617965727320666f72206c617465722072656d6f76616c206f6620656d70747920626f726465720a20202f2f206c61796572732e0a2020672e677261706828292e6e6f646552616e6b466163746f72203d206e6f64655365703b0a7d0a0a66756e6374696f6e2064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c207629207b0a2020766172206368696c6472656e203d20672e6368696c6472656e2876293b0a202069662028216368696c6472656e2e6c656e67746829207b0a20202020696620287620213d3d20726f6f7429207b0a202020202020672e7365744564676528726f6f742c20762c207b207765696768743a20302c206d696e6c656e3a206e6f6465536570207d293b0a202020207d0a2020202072657475726e3b0a20207d0a0a202076617220746f70203d207574696c2e616464426f726465724e6f646528672c20225f627422292c0a202020202020626f74746f6d203d207574696c2e616464426f726465724e6f646528672c20225f626222292c0a2020202020206c6162656c203d20672e6e6f64652876293b0a0a2020672e736574506172656e7428746f702c2076293b0a20206c6162656c2e626f72646572546f70203d20746f703b0a2020672e736574506172656e7428626f74746f6d2c2076293b0a20206c6162656c2e626f72646572426f74746f6d203d20626f74746f6d3b0a0a20205f2e666f7245616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c206368696c64293b0a0a20202020766172206368696c644e6f6465203d20672e6e6f6465286368696c64292c0a20202020202020206368696c64546f70203d206368696c644e6f64652e626f72646572546f70203f206368696c644e6f64652e626f72646572546f70203a206368696c642c0a20202020202020206368696c64426f74746f6d203d206368696c644e6f64652e626f72646572426f74746f6d203f206368696c644e6f64652e626f72646572426f74746f6d203a206368696c642c0a202020202020202074686973576569676874203d206368696c644e6f64652e626f72646572546f70203f20776569676874203a2032202a207765696768742c0a20202020202020206d696e6c656e203d206368696c64546f7020213d3d206368696c64426f74746f6d203f2031203a20686569676874202d206465707468735b765d202b20313b0a0a20202020672e7365744564676528746f702c206368696c64546f702c207b0a2020202020207765696768743a20746869735765696768742c0a2020202020206d696e6c656e3a206d696e6c656e2c0a2020202020206e657374696e67456467653a20747275650a202020207d293b0a0a20202020672e73657445646765286368696c64426f74746f6d2c20626f74746f6d2c207b0a2020202020207765696768743a20746869735765696768742c0a2020202020206d696e6c656e3a206d696e6c656e2c0a2020202020206e657374696e67456467653a20747275650a202020207d293b0a20207d293b0a0a20206966202821672e706172656e7428762929207b0a20202020672e7365744564676528726f6f742c20746f702c207b207765696768743a20302c206d696e6c656e3a20686569676874202b206465707468735b765d207d293b0a20207d0a7d0a0a66756e6374696f6e2074726565446570746873286729207b0a202076617220646570746873203d207b7d3b0a202066756e6374696f6e2064667328762c20646570746829207b0a20202020766172206368696c6472656e203d20672e6368696c6472656e2876293b0a20202020696620286368696c6472656e202626206368696c6472656e2e6c656e67746829207b0a2020202020205f2e666f7245616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202020202020646673286368696c642c206465707468202b2031293b0a2020202020207d293b0a202020207d0a202020206465707468735b765d203d2064657074683b0a20207d0a20205f2e666f724561636828672e6368696c6472656e28292c2066756e6374696f6e287629207b2064667328762c2031293b207d293b0a202072657475726e206465707468733b0a7d0a0a66756e6374696f6e2073756d57656967687473286729207b0a202072657475726e205f2e72656475636528672e656467657328292c2066756e6374696f6e286163632c206529207b0a2020202072657475726e20616363202b20672e656467652865292e7765696768743b0a20207d2c2030293b0a7d0a0a66756e6374696f6e20636c65616e7570286729207b0a20207661722067726170684c6162656c203d20672e677261706828293b0a2020672e72656d6f76654e6f64652867726170684c6162656c2e6e657374696e67526f6f74293b0a202064656c6574652067726170684c6162656c2e6e657374696e67526f6f743b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e6e657374696e674564676529207b0a202020202020672e72656d6f7665456467652865293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c38313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020756e646f3a20756e646f0a7d3b0a0a2f2a0a202a20427265616b7320616e79206c6f6e6720656467657320696e2074686520677261706820696e746f2073686f7274207365676d656e74732074686174207370616e2031206c617965720a202a20656163682e2054686973206f7065726174696f6e20697320756e646f61626c652077697468207468652064656e6f726d616c697a652066756e6374696f6e2e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e2054686520696e7075742067726170682069732061204441472e0a202a20202020322e2045616368206e6f646520696e20746865206772617068206861732061202272616e6b222070726f70657274792e0a202a0a202a20506f73742d636f6e646974696f6e3a0a202a0a202a20202020312e20416c6c20656467657320696e2074686520677261706820686176652061206c656e677468206f6620312e0a202a20202020322e2044756d6d79206e6f646573206172652061646465642077686572652065646765732068617665206265656e2073706c697420696e746f207365676d656e74732e0a202a20202020332e20546865206772617068206973206175676d656e74656420776974682061202264756d6d79436861696e73222061747472696275746520776869636820636f6e7461696e730a202a202020202020207468652066697273742064756d6d7920696e206561636820636861696e206f662064756d6d79206e6f6465732070726f64756365642e0a202a2f0a66756e6374696f6e2072756e286729207b0a2020672e677261706828292e64756d6d79436861696e73203d205b5d3b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286564676529207b206e6f726d616c697a654564676528672c2065646765293b207d293b0a7d0a0a66756e6374696f6e206e6f726d616c697a654564676528672c206529207b0a20207661722076203d20652e762c0a2020202020207652616e6b203d20672e6e6f64652876292e72616e6b2c0a20202020202077203d20652e772c0a2020202020207752616e6b203d20672e6e6f64652877292e72616e6b2c0a2020202020206e616d65203d20652e6e616d652c0a202020202020656467654c6162656c203d20672e656467652865292c0a2020202020206c6162656c52616e6b203d20656467654c6162656c2e6c6162656c52616e6b3b0a0a2020696620287752616e6b203d3d3d207652616e6b202b2031292072657475726e3b0a0a2020672e72656d6f7665456467652865293b0a0a20207661722064756d6d792c2061747472732c20693b0a2020666f72202869203d20302c202b2b7652616e6b3b207652616e6b203c207752616e6b3b202b2b692c202b2b7652616e6b29207b0a20202020656467654c6162656c2e706f696e7473203d205b5d3b0a202020206174747273203d207b0a20202020202077696474683a20302c206865696768743a20302c0a202020202020656467654c6162656c3a20656467654c6162656c2c20656467654f626a3a20652c0a20202020202072616e6b3a207652616e6b0a202020207d3b0a2020202064756d6d79203d207574696c2e61646444756d6d794e6f646528672c202265646765222c2061747472732c20225f6422293b0a20202020696620287652616e6b203d3d3d206c6162656c52616e6b29207b0a20202020202061747472732e7769647468203d20656467654c6162656c2e77696474683b0a20202020202061747472732e686569676874203d20656467654c6162656c2e6865696768743b0a20202020202061747472732e64756d6d79203d2022656467652d6c6162656c223b0a20202020202061747472732e6c6162656c706f73203d20656467654c6162656c2e6c6162656c706f733b0a202020207d0a20202020672e7365744564676528762c2064756d6d792c207b207765696768743a20656467654c6162656c2e776569676874207d2c206e616d65293b0a202020206966202869203d3d3d203029207b0a202020202020672e677261706828292e64756d6d79436861696e732e707573682864756d6d79293b0a202020207d0a2020202076203d2064756d6d793b0a20207d0a0a2020672e7365744564676528762c20772c207b207765696768743a20656467654c6162656c2e776569676874207d2c206e616d65293b0a7d0a0a66756e6374696f6e20756e646f286729207b0a20205f2e666f724561636828672e677261706828292e64756d6d79436861696e732c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020206f7269674c6162656c203d206e6f64652e656467654c6162656c2c0a2020202020202020773b0a20202020672e73657445646765286e6f64652e656467654f626a2c206f7269674c6162656c293b0a202020207768696c6520286e6f64652e64756d6d7929207b0a20202020202077203d20672e737563636573736f72732876295b305d3b0a202020202020672e72656d6f76654e6f64652876293b0a2020202020206f7269674c6162656c2e706f696e74732e70757368287b20783a206e6f64652e782c20793a206e6f64652e79207d293b0a202020202020696620286e6f64652e64756d6d79203d3d3d2022656467652d6c6162656c2229207b0a20202020202020206f7269674c6162656c2e78203d206e6f64652e783b0a20202020202020206f7269674c6162656c2e79203d206e6f64652e793b0a20202020202020206f7269674c6162656c2e7769647468203d206e6f64652e77696474683b0a20202020202020206f7269674c6162656c2e686569676874203d206e6f64652e6865696768743b0a2020202020207d0a20202020202076203d20773b0a2020202020206e6f6465203d20672e6e6f64652876293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c38323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206164645375626772617068436f6e73747261696e74733b0a0a66756e6374696f6e206164645375626772617068436f6e73747261696e747328672c2063672c20767329207b0a20207661722070726576203d207b7d2c0a202020202020726f6f74507265763b0a0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a20202020766172206368696c64203d20672e706172656e742876292c0a2020202020202020706172656e742c0a2020202020202020707265764368696c643b0a202020207768696c6520286368696c6429207b0a202020202020706172656e74203d20672e706172656e74286368696c64293b0a20202020202069662028706172656e7429207b0a2020202020202020707265764368696c64203d20707265765b706172656e745d3b0a2020202020202020707265765b706172656e745d203d206368696c643b0a2020202020207d20656c7365207b0a2020202020202020707265764368696c64203d20726f6f74507265763b0a2020202020202020726f6f7450726576203d206368696c643b0a2020202020207d0a20202020202069662028707265764368696c6420262620707265764368696c6420213d3d206368696c6429207b0a202020202020202063672e7365744564676528707265764368696c642c206368696c64293b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206368696c64203d20706172656e743b0a202020207d0a20207d293b0a0a20202f2a0a202066756e6374696f6e20646673287629207b0a20202020766172206368696c6472656e203d2076203f20672e6368696c6472656e287629203a20672e6368696c6472656e28293b0a20202020696620286368696c6472656e2e6c656e67746829207b0a202020202020766172206d696e203d204e756d6265722e504f5349544956455f494e46494e4954592c0a20202020202020202020737562677261706873203d205b5d3b0a2020202020205f2e65616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202020202020766172206368696c644d696e203d20646673286368696c64293b0a202020202020202069662028672e6368696c6472656e286368696c64292e6c656e67746829207b0a202020202020202020207375626772617068732e70757368287b20763a206368696c642c206f726465723a206368696c644d696e207d293b0a20202020202020207d0a20202020202020206d696e203d204d6174682e6d696e286d696e2c206368696c644d696e293b0a2020202020207d293b0a2020202020205f2e726564756365285f2e736f72744279287375626772617068732c20226f7264657222292c2066756e6374696f6e28707265762c206375727229207b0a202020202020202063672e7365744564676528707265762e762c20637572722e76293b0a202020202020202072657475726e20637572723b0a2020202020207d293b0a20202020202072657475726e206d696e3b0a202020207d0a2020202072657475726e20672e6e6f64652876292e6f726465723b0a20207d0a202064667328756e646566696e6564293b0a20202a2f0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206261727963656e7465723b0a0a66756e6374696f6e206261727963656e74657228672c206d6f7661626c6529207b0a202072657475726e205f2e6d6170286d6f7661626c652c2066756e6374696f6e287629207b0a2020202076617220696e56203d20672e696e45646765732876293b0a202020206966202821696e562e6c656e67746829207b0a20202020202072657475726e207b20763a2076207d3b0a202020207d20656c7365207b0a20202020202076617220726573756c74203d205f2e72656475636528696e562c2066756e6374696f6e286163632c206529207b0a20202020202020207661722065646765203d20672e656467652865292c0a2020202020202020202020206e6f646555203d20672e6e6f646528652e76293b0a202020202020202072657475726e207b0a2020202020202020202073756d3a206163632e73756d202b2028656467652e776569676874202a206e6f6465552e6f72646572292c0a202020202020202020207765696768743a206163632e776569676874202b20656467652e7765696768740a20202020202020207d3b0a2020202020207d2c207b2073756d3a20302c207765696768743a2030207d293b0a0a20202020202072657475726e207b0a2020202020202020763a20762c0a20202020202020206261727963656e7465723a20726573756c742e73756d202f20726573756c742e7765696768742c0a20202020202020207765696768743a20726573756c742e7765696768740a2020202020207d3b0a202020207d0a20207d293b0a7d0a0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d206275696c644c6179657247726170683b0a0a2f2a0a202a20436f6e73747275637473206120677261706820746861742063616e206265207573656420746f20736f72742061206c61796572206f66206e6f6465732e205468652067726170682077696c6c0a202a20636f6e7461696e20616c6c206261736520616e64207375626772617068206e6f6465732066726f6d207468652072657175657374206c6179657220696e207468656972206f726967696e616c0a202a2068696572617263687920616e6420616e7920656467657320746861742061726520696e636964656e74206f6e207468657365206e6f64657320616e6420617265206f662074686520747970650a202a2072657175657374656420627920746865202272656c6174696f6e736869702220706172616d657465722e0a202a0a202a204e6f6465732066726f6d20746865207265717565737465642072616e6b207468617420646f206e6f74206861766520706172656e7473206172652061737369676e6564206120726f6f740a202a206e6f646520696e20746865206f75747075742067726170682c2077686963682069732073657420696e2074686520726f6f74206772617068206174747269627574652e20546869730a202a206d616b6573206974206561737920746f2077616c6b2074686520686965726172636879206f66206d6f7661626c65206e6f64657320647572696e67206f72646572696e672e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441470a202a20202020322e2042617365206e6f64657320696e2074686520696e707574206772617068206861766520612072616e6b206174747269627574650a202a20202020332e205375626772617068206e6f64657320696e2074686520696e70757420677261706820686173206d696e52616e6b20616e64206d617852616e6b20617474726962757465730a202a20202020342e204564676573206861766520616e2061737369676e6564207765696768740a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204f75747075742067726170682068617320616c6c206e6f64657320696e20746865206d6f7661626c652072616e6b2077697468207072657365727665640a202a202020202020206869657261726368792e0a202a20202020322e20526f6f74206e6f64657320696e20746865206d6f7661626c65206c6179657220617265206d616465206368696c6472656e206f6620746865206e6f64650a202a20202020202020696e646963617465642062792074686520726f6f7420617474726962757465206f66207468652067726170682e0a202a20202020332e204e6f6e2d6d6f7661626c65206e6f64657320696e636964656e74206f6e206d6f7661626c65206e6f6465732c2073656c6563746564206279207468650a202a2020202020202072656c6174696f6e7368697020706172616d657465722c2061726520696e636c7564656420696e207468652067726170682028776974686f757420686965726172636879292e0a202a20202020342e20456467657320696e636964656e74206f6e206d6f7661626c65206e6f6465732c2073656c6563746564206279207468652072656c6174696f6e736869700a202a20202020202020706172616d657465722c2061726520616464656420746f20746865206f75747075742067726170682e0a202a20202020352e20546865207765696768747320666f7220636f70696564206564676573206172652061676772656761746564206173206e6565642c2073696e636520746865206f75747075740a202a202020202020206772617068206973206e6f742061206d756c74692d67726170682e0a202a2f0a66756e6374696f6e206275696c644c61796572477261706828672c2072616e6b2c2072656c6174696f6e7368697029207b0a202076617220726f6f74203d20637265617465526f6f744e6f64652867292c0a202020202020726573756c74203d206e6577204772617068287b20636f6d706f756e643a2074727565207d292e7365744772617068287b20726f6f743a20726f6f74207d290a2020202020202020202020202020202020202e73657444656661756c744e6f64654c6162656c2866756e6374696f6e287629207b2072657475726e20672e6e6f64652876293b207d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020706172656e74203d20672e706172656e742876293b0a0a20202020696620286e6f64652e72616e6b203d3d3d2072616e6b207c7c206e6f64652e6d696e52616e6b203c3d2072616e6b2026262072616e6b203c3d206e6f64652e6d617852616e6b29207b0a202020202020726573756c742e7365744e6f64652876293b0a202020202020726573756c742e736574506172656e7428762c20706172656e74207c7c20726f6f74293b0a0a2020202020202f2f205468697320617373756d65732077652068617665206f6e6c792073686f7274206564676573210a2020202020205f2e666f724561636828675b72656c6174696f6e736869705d2876292c2066756e6374696f6e286529207b0a20202020202020207661722075203d20652e76203d3d3d2076203f20652e77203a20652e762c0a20202020202020202020202065646765203d20726573756c742e6564676528752c2076292c0a202020202020202020202020776569676874203d20215f2e6973556e646566696e6564286564676529203f20656467652e776569676874203a20303b0a2020202020202020726573756c742e7365744564676528752c20762c207b207765696768743a20672e656467652865292e776569676874202b20776569676874207d293b0a2020202020207d293b0a0a202020202020696620285f2e686173286e6f64652c20226d696e52616e6b222929207b0a2020202020202020726573756c742e7365744e6f646528762c207b0a20202020202020202020626f726465724c6566743a206e6f64652e626f726465724c6566745b72616e6b5d2c0a20202020202020202020626f7264657252696768743a206e6f64652e626f7264657252696768745b72616e6b5d0a20202020202020207d293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20637265617465526f6f744e6f6465286729207b0a202076617220763b0a20207768696c652028672e6861734e6f6465282876203d205f2e756e69717565496428225f726f6f7422292929293b0a202072657475726e20763b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37397d5d2c38353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2063726f7373436f756e743b0a0a2f2a0a202a20412066756e6374696f6e20746861742074616b65732061206c61796572696e672028616e206172726179206f66206c61796572732c2065616368207769746820616e206172726179206f660a202a206f72646572657264206e6f6465732920616e64206120677261706820616e642072657475726e7320612077656967687465642063726f7373696e6720636f756e742e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e707574206772617068206d7573742062652073696d706c6520286e6f742061206d756c74696772617068292c2064697265637465642c20616e6420696e636c7564650a202a202020202020206f6e6c792073696d706c652065646765732e0a202a20202020322e20456467657320696e2074686520696e707574206772617068206d75737420686176652061737369676e656420776569676874732e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e2054686520677261706820616e64206c61796572696e67206d617472697820617265206c65667420756e6368616e6765642e0a202a0a202a205468697320616c676f726974686d20697320646572697665642066726f6d2042617274682c20657420616c2e2c202242696c617965722043726f737320436f756e74696e672e220a202a2f0a66756e6374696f6e2063726f7373436f756e7428672c206c61796572696e6729207b0a2020766172206363203d20303b0a2020666f7220287661722069203d20313b2069203c206c61796572696e672e6c656e6774683b202b2b6929207b0a202020206363202b3d2074776f4c6179657243726f7373436f756e7428672c206c61796572696e675b692d315d2c206c61796572696e675b695d293b0a20207d0a202072657475726e2063633b0a7d0a0a66756e6374696f6e2074776f4c6179657243726f7373436f756e7428672c206e6f7274684c617965722c20736f7574684c6179657229207b0a20202f2f20536f727420616c6c206f6620746865206564676573206265747765656e20746865206e6f72746820616e6420736f757468206c617965727320627920746865697220706f736974696f6e0a20202f2f20696e20746865206e6f727468206c6179657220616e64207468656e2074686520736f7574682e204d617020746865736520656467657320746f2074686520706f736974696f6e206f660a20202f2f207468656972206865616420696e2074686520736f757468206c617965722e0a202076617220736f757468506f73203d205f2e7a69704f626a65637428736f7574684c617965722c0a20202020202020202020202020202020202020202020202020202020205f2e6d617028736f7574684c617965722c2066756e6374696f6e2028762c206929207b2072657475726e20693b207d29293b0a202076617220736f757468456e7472696573203d205f2e666c617474656e285f2e6d6170286e6f7274684c617965722c2066756e6374696f6e287629207b0a2020202072657475726e205f2e636861696e28672e6f75744564676573287629290a2020202020202020202020202e6d61702866756e6374696f6e286529207b0a202020202020202020202020202072657475726e207b20706f733a20736f757468506f735b652e775d2c207765696768743a20672e656467652865292e776569676874207d3b0a2020202020202020202020207d290a2020202020202020202020202e736f727442792822706f7322290a2020202020202020202020202e76616c756528293b0a20207d292c2074727565293b0a0a20202f2f204275696c642074686520616363756d756c61746f7220747265650a2020766172206669727374496e646578203d20313b0a20207768696c6520286669727374496e646578203c20736f7574684c617965722e6c656e67746829206669727374496e646578203c3c3d20313b0a2020766172207472656553697a65203d2032202a206669727374496e646578202d20313b0a20206669727374496e646578202d3d20313b0a20207661722074726565203d205f2e6d6170286e6577204172726179287472656553697a65292c2066756e6374696f6e2829207b2072657475726e20303b207d293b0a0a20202f2f2043616c63756c617465207468652077656967687465642063726f7373696e67730a2020766172206363203d20303b0a20205f2e666f724561636828736f757468456e74726965732e666f72456163682866756e6374696f6e28656e74727929207b0a2020202076617220696e646578203d20656e7472792e706f73202b206669727374496e6465783b0a20202020747265655b696e6465785d202b3d20656e7472792e7765696768743b0a202020207661722077656967687453756d203d20303b0a202020207768696c652028696e646578203e203029207b0a20202020202069662028696e6465782025203229207b0a202020202020202077656967687453756d202b3d20747265655b696e646578202b20315d3b0a2020202020207d0a202020202020696e646578203d2028696e646578202d203129203e3e20313b0a202020202020747265655b696e6465785d202b3d20656e7472792e7765696768743b0a202020207d0a202020206363202b3d20656e7472792e776569676874202a2077656967687453756d3b0a20207d29293b0a0a202072657475726e2063633b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a20202020696e69744f72646572203d207265717569726528222e2f696e69742d6f7264657222292c0a2020202063726f7373436f756e74203d207265717569726528222e2f63726f73732d636f756e7422292c0a20202020736f72745375626772617068203d207265717569726528222e2f736f72742d737562677261706822292c0a202020206275696c644c617965724772617068203d207265717569726528222e2f6275696c642d6c617965722d677261706822292c0a202020206164645375626772617068436f6e73747261696e7473203d207265717569726528222e2f6164642d73756267726170682d636f6e73747261696e747322292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d206f726465723b0a0a2f2a0a202a204170706c696573206865757269737469637320746f206d696e696d697a6520656467652063726f7373696e677320696e2074686520677261706820616e6420736574732074686520626573740a202a206f7264657220736f6c7574696f6e20617320616e206f7264657220617474726962757465206f6e2065616368206e6f64652e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d757374206265204441470a202a20202020322e204772617068206e6f646573206d757374206265206f626a6563747320776974682061202272616e6b22206174747269627574650a202a20202020332e204772617068206564676573206d757374206861766520746865202277656967687422206174747269627574650a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206e6f6465732077696c6c206861766520616e20226f726465722220617474726962757465206261736564206f6e2074686520726573756c7473206f66207468650a202a20202020202020616c676f726974686d2e0a202a2f0a66756e6374696f6e206f72646572286729207b0a2020766172206d617852616e6b203d207574696c2e6d617852616e6b2867292c0a202020202020646f776e4c61796572477261706873203d206275696c644c6179657247726170687328672c205f2e72616e676528312c206d617852616e6b202b2031292c2022696e456467657322292c0a20202020202075704c61796572477261706873203d206275696c644c6179657247726170687328672c205f2e72616e6765286d617852616e6b202d20312c202d312c202d31292c20226f7574456467657322293b0a0a2020766172206c61796572696e67203d20696e69744f726465722867293b0a202061737369676e4f7264657228672c206c61796572696e67293b0a0a202076617220626573744343203d204e756d6265722e504f5349544956455f494e46494e4954592c0a202020202020626573743b0a0a2020666f7220287661722069203d20302c206c61737442657374203d20303b206c61737442657374203c20343b202b2b692c202b2b6c6173744265737429207b0a2020202073776565704c61796572477261706873286920252032203f20646f776e4c61796572477261706873203a2075704c617965724772617068732c206920252034203e3d2032293b0a0a202020206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867293b0a20202020766172206363203d2063726f7373436f756e7428672c206c61796572696e67293b0a20202020696620286363203c2062657374434329207b0a2020202020206c61737442657374203d20303b0a20202020202062657374203d205f2e636c6f6e6544656570286c61796572696e67293b0a202020202020626573744343203d2063633b0a202020207d0a20207d0a0a202061737369676e4f7264657228672c2062657374293b0a7d0a0a66756e6374696f6e206275696c644c6179657247726170687328672c2072616e6b732c2072656c6174696f6e7368697029207b0a202072657475726e205f2e6d61702872616e6b732c2066756e6374696f6e2872616e6b29207b0a2020202072657475726e206275696c644c61796572477261706828672c2072616e6b2c2072656c6174696f6e73686970293b0a20207d293b0a7d0a0a66756e6374696f6e2073776565704c61796572477261706873286c617965724772617068732c2062696173526967687429207b0a2020766172206367203d206e657720477261706828293b0a20205f2e666f7245616368286c617965724772617068732c2066756e6374696f6e286c6729207b0a2020202076617220726f6f74203d206c672e677261706828292e726f6f743b0a2020202076617220736f72746564203d20736f72745375626772617068286c672c20726f6f742c2063672c20626961735269676874293b0a202020205f2e666f724561636828736f727465642e76732c2066756e6374696f6e28762c206929207b0a2020202020206c672e6e6f64652876292e6f72646572203d20693b0a202020207d293b0a202020206164645375626772617068436f6e73747261696e7473286c672c2063672c20736f727465642e7673293b0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e4f7264657228672c206c61796572696e6729207b0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a202020202020672e6e6f64652876292e6f72646572203d20693b0a202020207d293b0a20207d293b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f6164642d73756267726170682d636f6e73747261696e7473223a38322c222e2f6275696c642d6c617965722d6772617068223a38342c222e2f63726f73732d636f756e74223a38352c222e2f696e69742d6f72646572223a38372c222e2f736f72742d7375626772617068223a38397d5d2c38373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20696e69744f726465723b0a0a2f2a0a202a2041737369676e7320616e20696e697469616c206f726465722076616c756520666f722065616368206e6f646520627920706572666f726d696e67206120444653207365617263680a202a207374617274696e672066726f6d206e6f64657320696e207468652066697273742072616e6b2e204e6f646573206172652061737369676e656420616e206f7264657220696e2074686569720a202a2072616e6b20617320746865792061726520666972737420766973697465642e0a202a0a202a205468697320617070726f61636820636f6d65732066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e6971756520666f722044726177696e672044697265637465640a202a204772617068732e220a202a0a202a2052657475726e732061206c61796572696e67206d6174726978207769746820616e20617272617920706572206c6179657220616e642065616368206c6179657220736f727465642062790a202a20746865206f72646572206f6620697473206e6f6465732e0a202a2f0a66756e6374696f6e20696e69744f72646572286729207b0a20207661722076697369746564203d207b7d2c0a20202020202073696d706c654e6f646573203d205f2e66696c74657228672e6e6f64657328292c2066756e6374696f6e287629207b0a202020202020202072657475726e2021672e6368696c6472656e2876292e6c656e6774683b0a2020202020207d292c0a2020202020206d617852616e6b203d205f2e6d6178285f2e6d61702873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29292c0a2020202020206c6179657273203d205f2e6d6170285f2e72616e6765286d617852616e6b202b2031292c2066756e6374696f6e2829207b2072657475726e205b5d3b207d293b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c207629292072657475726e3b0a20202020766973697465645b765d203d20747275653b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a202020206c61796572735b6e6f64652e72616e6b5d2e707573682876293b0a202020205f2e666f724561636828672e737563636573736f72732876292c20646673293b0a20207d0a0a2020766172206f7264657265645673203d205f2e736f727442792873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d293b0a20205f2e666f7245616368286f72646572656456732c20646673293b0a0a202072657475726e206c61796572733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207265736f6c7665436f6e666c696374733b0a0a2f2a0a202a20476976656e2061206c697374206f6620656e7472696573206f662074686520666f726d207b762c206261727963656e7465722c207765696768747d20616e6420610a202a20636f6e73747261696e7420677261706820746869732066756e6374696f6e2077696c6c207265736f6c766520616e7920636f6e666c69637473206265747765656e207468650a202a20636f6e73747261696e7420677261706820616e6420746865206261727963656e7465727320666f722074686520656e74726965732e20496620746865206261727963656e7465727320666f720a202a20616e20656e74727920776f756c642076696f6c617465206120636f6e73747261696e7420696e2074686520636f6e73747261696e74206772617068207468656e20776520636f616c657363650a202a20746865206e6f64657320696e2074686520636f6e666c69637420696e746f2061206e6577206e6f646520746861742072657370656374732074686520636f6e747261696e7420616e640a202a2061676772656761746573206261727963656e74657220616e642077656967687420696e666f726d6174696f6e2e0a202a0a202a205468697320696d706c656d656e746174696f6e206973206261736564206f6e20746865206465736372697074696f6e20696e20466f72737465722c202241204661737420616e640a202a2053696d706c652048756572697374696320666f7220436f6e73747261696e65642054776f2d4c6576656c2043726f7373696e6720526564756374696f6e2c222074686f756768742069740a202a206469666665727320696e20736f6d652073706563696669632064657461696c732e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204561636820656e747279206861732074686520666f726d207b762c206261727963656e7465722c207765696768747d2c206f7220696620746865206e6f6465206861730a202a202020202020206e6f206261727963656e7465722c207468656e207b767d2e0a202a0a202a2052657475726e733a0a202a0a202a2020202041206e6577206c697374206f6620656e7472696573206f662074686520666f726d207b76732c20692c206261727963656e7465722c207765696768747d2e20546865206c6973740a202a2020202060767360206d61792065697468657220626520612073696e676c65746f6e206f72206974206d617920626520616e206167677265676174696f6e206f66206e6f6465730a202a202020206f72646572656420737563682074686174207468657920646f206e6f742076696f6c61746520636f6e73747261696e74732066726f6d2074686520636f6e73747261696e740a202a2020202067726170682e205468652070726f70657274792060696020697320746865206c6f77657374206f726967696e616c20696e646578206f6620616e79206f66207468650a202a20202020656c656d656e747320696e20607673602e0a202a2f0a66756e6374696f6e207265736f6c7665436f6e666c6963747328656e74726965732c20636729207b0a2020766172206d6170706564456e7472696573203d207b7d3b0a20205f2e666f724561636828656e74726965732c2066756e6374696f6e28656e7472792c206929207b0a2020202076617220746d70203d206d6170706564456e74726965735b656e7472792e765d203d207b0a202020202020696e6465677265653a20302c0a20202020202022696e223a205b5d2c0a2020202020206f75743a205b5d2c0a20202020202076733a205b656e7472792e765d2c0a202020202020693a20690a202020207d3b0a2020202069662028215f2e6973556e646566696e656428656e7472792e6261727963656e7465722929207b0a202020202020746d702e6261727963656e746572203d20656e7472792e6261727963656e7465723b0a202020202020746d702e776569676874203d20656e7472792e7765696768743b0a202020207d0a20207d293b0a0a20205f2e666f72456163682863672e656467657328292c2066756e6374696f6e286529207b0a2020202076617220656e74727956203d206d6170706564456e74726965735b652e765d2c0a2020202020202020656e74727957203d206d6170706564456e74726965735b652e775d3b0a2020202069662028215f2e6973556e646566696e656428656e747279562920262620215f2e6973556e646566696e656428656e747279572929207b0a202020202020656e747279572e696e6465677265652b2b3b0a202020202020656e747279562e6f75742e70757368286d6170706564456e74726965735b652e775d293b0a202020207d0a20207d293b0a0a202076617220736f75726365536574203d205f2e66696c746572286d6170706564456e74726965732c2066756e6374696f6e28656e74727929207b0a2020202072657475726e2021656e7472792e696e6465677265653b0a20207d293b0a0a202072657475726e20646f5265736f6c7665436f6e666c6963747328736f75726365536574293b0a7d0a0a66756e6374696f6e20646f5265736f6c7665436f6e666c6963747328736f7572636553657429207b0a202076617220656e7472696573203d205b5d3b0a0a202066756e6374696f6e2068616e646c65496e2876456e74727929207b0a2020202072657475726e2066756e6374696f6e2875456e74727929207b0a2020202020206966202875456e7472792e6d657267656429207b0a202020202020202072657475726e3b0a2020202020207d0a202020202020696620285f2e6973556e646566696e65642875456e7472792e6261727963656e74657229207c7c0a202020202020202020205f2e6973556e646566696e65642876456e7472792e6261727963656e74657229207c7c0a2020202020202020202075456e7472792e6261727963656e746572203e3d2076456e7472792e6261727963656e74657229207b0a20202020202020206d65726765456e74726965732876456e7472792c2075456e747279293b0a2020202020207d0a202020207d3b0a20207d0a0a202066756e6374696f6e2068616e646c654f75742876456e74727929207b0a2020202072657475726e2066756e6374696f6e2877456e74727929207b0a20202020202077456e7472795b22696e225d2e707573682876456e747279293b0a202020202020696620282d2d77456e7472792e696e646567726565203d3d3d203029207b0a2020202020202020736f757263655365742e707573682877456e747279293b0a2020202020207d0a202020207d3b0a20207d0a0a20207768696c652028736f757263655365742e6c656e67746829207b0a2020202076617220656e747279203d20736f757263655365742e706f7028293b0a20202020656e74726965732e7075736828656e747279293b0a202020205f2e666f724561636828656e7472795b22696e225d2e7265766572736528292c2068616e646c65496e28656e74727929293b0a202020205f2e666f724561636828656e7472792e6f75742c2068616e646c654f757428656e74727929293b0a20207d0a0a202072657475726e205f2e636861696e28656e7472696573290a202020202020202020202e66696c7465722866756e6374696f6e28656e74727929207b2072657475726e2021656e7472792e6d65726765643b207d290a202020202020202020202e6d61702866756e6374696f6e28656e74727929207b0a20202020202020202020202072657475726e205f2e7069636b28656e7472792c205b227673222c202269222c20226261727963656e746572222c2022776569676874225d293b0a202020202020202020207d290a202020202020202020202e76616c756528293b0a7d0a0a66756e6374696f6e206d65726765456e7472696573287461726765742c20736f7572636529207b0a20207661722073756d203d20302c0a202020202020776569676874203d20303b0a0a2020696620287461726765742e77656967687429207b0a2020202073756d202b3d207461726765742e6261727963656e746572202a207461726765742e7765696768743b0a20202020776569676874202b3d207461726765742e7765696768743b0a20207d0a0a202069662028736f757263652e77656967687429207b0a2020202073756d202b3d20736f757263652e6261727963656e746572202a20736f757263652e7765696768743b0a20202020776569676874202b3d20736f757263652e7765696768743b0a20207d0a0a20207461726765742e7673203d20736f757263652e76732e636f6e636174287461726765742e7673293b0a20207461726765742e6261727963656e746572203d2073756d202f207765696768743b0a20207461726765742e776569676874203d207765696768743b0a20207461726765742e69203d204d6174682e6d696e28736f757263652e692c207461726765742e69293b0a2020736f757263652e6d6572676564203d20747275653b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020206261727963656e746572203d207265717569726528222e2f6261727963656e74657222292c0a202020207265736f6c7665436f6e666c69637473203d207265717569726528222e2f7265736f6c76652d636f6e666c6963747322292c0a20202020736f7274203d207265717569726528222e2f736f727422293b0a0a6d6f64756c652e6578706f727473203d20736f727453756267726170683b0a0a66756e6374696f6e20736f7274537562677261706828672c20762c2063672c2062696173526967687429207b0a2020766172206d6f7661626c65203d20672e6368696c6472656e2876292c0a2020202020206e6f6465203d20672e6e6f64652876292c0a202020202020626c203d206e6f6465203f206e6f64652e626f726465724c656674203a20756e646566696e65642c0a2020202020206272203d206e6f6465203f206e6f64652e626f7264657252696768743a20756e646566696e65642c0a202020202020737562677261706873203d207b7d3b0a0a202069662028626c29207b0a202020206d6f7661626c65203d205f2e66696c746572286d6f7661626c652c2066756e6374696f6e287729207b0a20202020202072657475726e207720213d3d20626c202626207720213d3d2062723b0a202020207d293b0a20207d0a0a2020766172206261727963656e74657273203d206261727963656e74657228672c206d6f7661626c65293b0a20205f2e666f7245616368286261727963656e746572732c2066756e6374696f6e28656e74727929207b0a2020202069662028672e6368696c6472656e28656e7472792e76292e6c656e67746829207b0a202020202020766172207375626772617068526573756c74203d20736f7274537562677261706828672c20656e7472792e762c2063672c20626961735269676874293b0a2020202020207375626772617068735b656e7472792e765d203d207375626772617068526573756c743b0a202020202020696620285f2e686173287375626772617068526573756c742c20226261727963656e746572222929207b0a20202020202020206d657267654261727963656e7465727328656e7472792c207375626772617068526573756c74293b0a2020202020207d0a202020207d0a20207d293b0a0a202076617220656e7472696573203d207265736f6c7665436f6e666c69637473286261727963656e746572732c206367293b0a2020657870616e6453756267726170687328656e74726965732c20737562677261706873293b0a0a202076617220726573756c74203d20736f727428656e74726965732c20626961735269676874293b0a0a202069662028626c29207b0a20202020726573756c742e7673203d205f2e666c617474656e285b626c2c20726573756c742e76732c2062725d2c2074727565293b0a2020202069662028672e7072656465636573736f727328626c292e6c656e67746829207b0a20202020202076617220626c50726564203d20672e6e6f646528672e7072656465636573736f727328626c295b305d292c0a20202020202020202020627250726564203d20672e6e6f646528672e7072656465636573736f7273286272295b305d293b0a20202020202069662028215f2e68617328726573756c742c20226261727963656e746572222929207b0a2020202020202020726573756c742e6261727963656e746572203d20303b0a2020202020202020726573756c742e776569676874203d20303b0a2020202020207d0a202020202020726573756c742e6261727963656e746572203d2028726573756c742e6261727963656e746572202a20726573756c742e776569676874202b0a202020202020202020202020202020202020202020202020202020626c507265642e6f72646572202b206272507265642e6f7264657229202f2028726573756c742e776569676874202b2032293b0a202020202020726573756c742e776569676874202b3d20323b0a202020207d0a20207d0a0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20657870616e6453756267726170687328656e74726965732c2073756267726170687329207b0a20205f2e666f724561636828656e74726965732c2066756e6374696f6e28656e74727929207b0a20202020656e7472792e7673203d205f2e666c617474656e28656e7472792e76732e6d61702866756e6374696f6e287629207b0a202020202020696620287375626772617068735b765d29207b0a202020202020202072657475726e207375626772617068735b765d2e76733b0a2020202020207d0a20202020202072657475726e20763b0a202020207d292c2074727565293b0a20207d293b0a7d0a0a66756e6374696f6e206d657267654261727963656e74657273287461726765742c206f7468657229207b0a202069662028215f2e6973556e646566696e6564287461726765742e6261727963656e7465722929207b0a202020207461726765742e6261727963656e746572203d20287461726765742e6261727963656e746572202a207461726765742e776569676874202b0a202020202020202020202020202020202020202020202020206f746865722e6261727963656e746572202a206f746865722e77656967687429202f0a202020202020202020202020202020202020202020202020287461726765742e776569676874202b206f746865722e776569676874293b0a202020207461726765742e776569676874202b3d206f746865722e7765696768743b0a20207d20656c7365207b0a202020207461726765742e6261727963656e746572203d206f746865722e6261727963656e7465723b0a202020207461726765742e776569676874203d206f746865722e7765696768743b0a20207d0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2f6261727963656e746572223a38332c222e2f7265736f6c76652d636f6e666c69637473223a38382c222e2f736f7274223a39307d5d2c39303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20736f72743b0a0a66756e6374696f6e20736f727428656e74726965732c2062696173526967687429207b0a2020766172207061727473203d207574696c2e706172746974696f6e28656e74726965732c2066756e6374696f6e28656e74727929207b0a2020202072657475726e205f2e68617328656e7472792c20226261727963656e74657222293b0a20207d293b0a202076617220736f727461626c65203d2070617274732e6c68732c0a202020202020756e736f727461626c65203d205f2e736f727442792870617274732e7268732c2066756e6374696f6e28656e74727929207b2072657475726e202d656e7472792e693b207d292c0a2020202020207673203d205b5d2c0a20202020202073756d203d20302c0a202020202020776569676874203d20302c0a2020202020207673496e646578203d20303b0a0a2020736f727461626c652e736f727428636f6d70617265576974684269617328212162696173526967687429293b0a0a20207673496e646578203d20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c207673496e646578293b0a0a20205f2e666f724561636828736f727461626c652c2066756e6374696f6e2028656e74727929207b0a202020207673496e646578202b3d20656e7472792e76732e6c656e6774683b0a2020202076732e7075736828656e7472792e7673293b0a2020202073756d202b3d20656e7472792e6261727963656e746572202a20656e7472792e7765696768743b0a20202020776569676874202b3d20656e7472792e7765696768743b0a202020207673496e646578203d20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c207673496e646578293b0a20207d293b0a0a202076617220726573756c74203d207b2076733a205f2e666c617474656e2876732c207472756529207d3b0a20206966202877656967687429207b0a20202020726573756c742e6261727963656e746572203d2073756d202f207765696768743b0a20202020726573756c742e776569676874203d207765696768743b0a20207d0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c20696e64657829207b0a2020766172206c6173743b0a20207768696c652028756e736f727461626c652e6c656e67746820262620286c617374203d205f2e6c61737428756e736f727461626c6529292e69203c3d20696e64657829207b0a20202020756e736f727461626c652e706f7028293b0a2020202076732e70757368286c6173742e7673293b0a20202020696e6465782b2b3b0a20207d0a202072657475726e20696e6465783b0a7d0a0a66756e6374696f6e20636f6d706172655769746842696173286269617329207b0a202072657475726e2066756e6374696f6e28656e747279562c20656e7472795729207b0a2020202069662028656e747279562e6261727963656e746572203c20656e747279572e6261727963656e74657229207b0a20202020202072657475726e202d313b0a202020207d20656c73652069662028656e747279562e6261727963656e746572203e20656e747279572e6261727963656e74657229207b0a20202020202072657475726e20313b0a202020207d0a0a2020202072657475726e202162696173203f20656e747279562e69202d20656e747279572e69203a20656e747279572e69202d20656e747279562e693b0a20207d3b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39387d5d2c39313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20706172656e7444756d6d79436861696e733b0a0a66756e6374696f6e20706172656e7444756d6d79436861696e73286729207b0a202076617220706f73746f726465724e756d73203d20706f73746f726465722867293b0a0a20205f2e666f724561636828672e677261706828292e64756d6d79436861696e732c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020656467654f626a203d206e6f64652e656467654f626a2c0a20202020202020207061746844617461203d2066696e645061746828672c20706f73746f726465724e756d732c20656467654f626a2e762c20656467654f626a2e77292c0a202020202020202070617468203d2070617468446174612e706174682c0a20202020202020206c6361203d2070617468446174612e6c63612c0a202020202020202070617468496478203d20302c0a20202020202020207061746856203d20706174685b706174684964785d2c0a2020202020202020617363656e64696e67203d20747275653b0a0a202020207768696c6520287620213d3d20656467654f626a2e7729207b0a2020202020206e6f6465203d20672e6e6f64652876293b0a0a20202020202069662028617363656e64696e6729207b0a20202020202020207768696c652028287061746856203d20706174685b706174684964785d2920213d3d206c63612026260a202020202020202020202020202020672e6e6f6465287061746856292e6d617852616e6b203c206e6f64652e72616e6b29207b0a20202020202020202020706174684964782b2b3b0a20202020202020207d0a0a2020202020202020696620287061746856203d3d3d206c636129207b0a20202020202020202020617363656e64696e67203d2066616c73653b0a20202020202020207d0a2020202020207d0a0a2020202020206966202821617363656e64696e6729207b0a20202020202020207768696c65202870617468496478203c20706174682e6c656e677468202d20312026260a202020202020202020202020202020672e6e6f6465287061746856203d20706174685b70617468496478202b20315d292e6d696e52616e6b203c3d206e6f64652e72616e6b29207b0a20202020202020202020706174684964782b2b3b0a20202020202020207d0a20202020202020207061746856203d20706174685b706174684964785d3b0a2020202020207d0a0a202020202020672e736574506172656e7428762c207061746856293b0a20202020202076203d20672e737563636573736f72732876295b305d3b0a202020207d0a20207d293b0a7d0a0a2f2f2046696e64206120706174682066726f6d207620746f2077207468726f75676820746865206c6f7765737420636f6d6d6f6e20616e636573746f7220284c4341292e2052657475726e207468650a2f2f2066756c6c207061746820616e6420746865204c43412e0a66756e6374696f6e2066696e645061746828672c20706f73746f726465724e756d732c20762c207729207b0a2020766172207650617468203d205b5d2c0a2020202020207750617468203d205b5d2c0a2020202020206c6f77203d204d6174682e6d696e28706f73746f726465724e756d735b765d2e6c6f772c20706f73746f726465724e756d735b775d2e6c6f77292c0a2020202020206c696d203d204d6174682e6d617828706f73746f726465724e756d735b765d2e6c696d2c20706f73746f726465724e756d735b775d2e6c696d292c0a202020202020706172656e742c0a2020202020206c63613b0a0a20202f2f2054726176657273652075702066726f6d207620746f2066696e6420746865204c43410a2020706172656e74203d20763b0a2020646f207b0a20202020706172656e74203d20672e706172656e7428706172656e74293b0a2020202076506174682e7075736828706172656e74293b0a20207d207768696c652028706172656e742026260a202020202020202020202028706f73746f726465724e756d735b706172656e745d2e6c6f77203e206c6f77207c7c206c696d203e20706f73746f726465724e756d735b706172656e745d2e6c696d29293b0a20206c6361203d20706172656e743b0a0a20202f2f2054726176657273652066726f6d207720746f204c43410a2020706172656e74203d20773b0a20207768696c65202828706172656e74203d20672e706172656e7428706172656e74292920213d3d206c636129207b0a2020202077506174682e7075736828706172656e74293b0a20207d0a0a202072657475726e207b20706174683a2076506174682e636f6e6361742877506174682e726576657273652829292c206c63613a206c6361207d3b0a7d0a0a66756e6374696f6e20706f73746f72646572286729207b0a202076617220726573756c74203d207b7d2c0a2020202020206c696d203d20303b0a0a202066756e6374696f6e20646673287629207b0a20202020766172206c6f77203d206c696d3b0a202020205f2e666f724561636828672e6368696c6472656e2876292c20646673293b0a20202020726573756c745b765d203d207b206c6f773a206c6f772c206c696d3a206c696d2b2b207d3b0a20207d0a20205f2e666f724561636828672e6368696c6472656e28292c20646673293b0a0a202072657475726e20726573756c743b0a7d0a0a7d2c7b222e2f6c6f64617368223a37397d5d2c39323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a2f2a0a202a2054686973206d6f64756c652070726f766964657320636f6f7264696e6174652061737369676e6d656e74206261736564206f6e204272616e64657320616e64204bc3b670662c2022466173740a202a20616e642053696d706c6520486f72697a6f6e74616c20436f6f7264696e6174652041737369676e6d656e742e220a202a2f0a0a6d6f64756c652e6578706f727473203d207b0a2020706f736974696f6e583a20706f736974696f6e582c0a202066696e645479706531436f6e666c696374733a2066696e645479706531436f6e666c696374732c0a202066696e645479706532436f6e666c696374733a2066696e645479706532436f6e666c696374732c0a2020616464436f6e666c6963743a20616464436f6e666c6963742c0a2020686173436f6e666c6963743a20686173436f6e666c6963742c0a2020766572746963616c416c69676e6d656e743a20766572746963616c416c69676e6d656e742c0a2020686f72697a6f6e74616c436f6d70616374696f6e3a20686f72697a6f6e74616c436f6d70616374696f6e2c0a2020616c69676e436f6f7264696e617465733a20616c69676e436f6f7264696e617465732c0a202066696e64536d616c6c6573745769647468416c69676e6d656e743a2066696e64536d616c6c6573745769647468416c69676e6d656e742c0a202062616c616e63653a2062616c616e63650a7d3b0a0a2f2a0a202a204d61726b7320616c6c20656467657320696e207468652067726170682077697468206120747970652d3120636f6e666c69637420776974682074686520227479706531436f6e666c696374220a202a2070726f70657274792e204120747970652d3120636f6e666c696374206973206f6e652077686572652061206e6f6e2d696e6e6572207365676d656e742063726f7373657320616e0a202a20696e6e6572207365676d656e742e20416e20696e6e6572207365676d656e7420697320616e2065646765207769746820626f746820696e636964656e74206e6f646573206d61726b65640a202a207769746820746865202264756d6d79222070726f70657274792e0a202a0a202a205468697320616c676f726974686d207363616e73206c61796572206279206c617965722c207374617274696e67207769746820746865207365636f6e642c20666f7220747970652d310a202a20636f6e666c69637473206265747765656e207468652063757272656e74206c6179657220616e64207468652070726576696f7573206c617965722e20466f722065616368206c617965720a202a206974207363616e7320746865206e6f6465732066726f6d206c65667420746f20726967687420756e74696c2069742072656163686573206f6e65207468617420697320696e636964656e740a202a206f6e20616e20696e6e6572207365676d656e742e204974207468656e207363616e73207072656465636573736f727320746f2064657465726d696e65206966207468657920686176650a202a20656467657320746861742063726f7373207468617420696e6e6572207365676d656e742e2041742074686520656e6420612066696e616c207363616e20697320646f6e6520666f7220616c6c0a202a206e6f646573206f6e207468652063757272656e742072616e6b20746f2073656520696620746865792063726f737320746865206c617374207669736974656420696e6e65720a202a207365676d656e742e0a202a0a202a205468697320616c676f726974686d2028736166656c792920617373756d6573207468617420612064756d6d79206e6f64652077696c6c206f6e6c7920626520696e636964656e74206f6e20610a202a2073696e676c65206e6f646520696e20746865206c6179657273206265696e67207363616e6e65642e0a202a2f0a66756e6374696f6e2066696e645479706531436f6e666c6963747328672c206c61796572696e6729207b0a202076617220636f6e666c69637473203d207b7d3b0a0a202066756e6374696f6e2076697369744c6179657228707265764c617965722c206c6179657229207b0a202020207661720a2020202020202f2f206c6173742076697369746564206e6f646520696e207468652070726576696f7573206c61796572207468617420697320696e636964656e74206f6e20616e20696e6e65720a2020202020202f2f207365676d656e742e0a2020202020206b30203d20302c0a2020202020202f2f20547261636b7320746865206c617374206e6f646520696e2074686973206c61796572207363616e6e656420666f722063726f7373696e67732077697468206120747970652d310a2020202020202f2f207365676d656e742e0a2020202020207363616e506f73203d20302c0a202020202020707265764c617965724c656e677468203d20707265764c617965722e6c656e6774682c0a2020202020206c6173744e6f6465203d205f2e6c617374286c61796572293b0a0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a2020202020207661722077203d2066696e644f74686572496e6e65725365676d656e744e6f646528672c2076292c0a202020202020202020206b31203d2077203f20672e6e6f64652877292e6f72646572203a20707265764c617965724c656e6774683b0a0a2020202020206966202877207c7c2076203d3d3d206c6173744e6f646529207b0a20202020202020205f2e666f7245616368286c617965722e736c696365287363616e506f732c2069202b31292c2066756e6374696f6e287363616e4e6f646529207b0a202020202020202020205f2e666f724561636828672e7072656465636573736f7273287363616e4e6f6465292c2066756e6374696f6e287529207b0a20202020202020202020202076617220754c6162656c203d20672e6e6f64652875292c0a2020202020202020202020202020202075506f73203d20754c6162656c2e6f726465723b0a202020202020202020202020696620282875506f73203c206b30207c7c206b31203c2075506f73292026260a202020202020202020202020202020202128754c6162656c2e64756d6d7920262620672e6e6f6465287363616e4e6f6465292e64756d6d792929207b0a2020202020202020202020202020616464436f6e666c69637428636f6e666c696374732c20752c207363616e4e6f6465293b0a2020202020202020202020207d0a202020202020202020207d293b0a20202020202020207d293b0a20202020202020207363616e506f73203d2069202b20313b0a20202020202020206b30203d206b313b0a2020202020207d0a202020207d293b0a0a2020202072657475726e206c617965723b0a20207d0a0a20205f2e726564756365286c61796572696e672c2076697369744c61796572293b0a202072657475726e20636f6e666c696374733b0a7d0a0a66756e6374696f6e2066696e645479706532436f6e666c6963747328672c206c61796572696e6729207b0a202076617220636f6e666c69637473203d207b7d3b0a0a202066756e6374696f6e207363616e28736f7574682c20736f757468506f732c20736f757468456e642c20707265764e6f727468426f726465722c206e6578744e6f727468426f7264657229207b0a2020202076617220763b0a202020205f2e666f7245616368285f2e72616e676528736f757468506f732c20736f757468456e64292c2066756e6374696f6e286929207b0a20202020202076203d20736f7574685b695d3b0a20202020202069662028672e6e6f64652876292e64756d6d7929207b0a20202020202020205f2e666f724561636828672e7072656465636573736f72732876292c2066756e6374696f6e287529207b0a2020202020202020202076617220754e6f6465203d20672e6e6f64652875293b0a2020202020202020202069662028754e6f64652e64756d6d792026260a202020202020202020202020202028754e6f64652e6f72646572203c20707265764e6f727468426f72646572207c7c20754e6f64652e6f72646572203e206e6578744e6f727468426f726465722929207b0a202020202020202020202020616464436f6e666c69637428636f6e666c696374732c20752c2076293b0a202020202020202020207d0a20202020202020207d293b0a2020202020207d0a202020207d293b0a20207d0a0a0a202066756e6374696f6e2076697369744c61796572286e6f7274682c20736f75746829207b0a2020202076617220707265764e6f727468506f73203d202d312c0a20202020202020206e6578744e6f727468506f732c0a2020202020202020736f757468506f73203d20303b0a0a202020205f2e666f724561636828736f7574682c2066756e6374696f6e28762c20736f7574684c6f6f6b616865616429207b0a20202020202069662028672e6e6f64652876292e64756d6d79203d3d3d2022626f726465722229207b0a2020202020202020766172207072656465636573736f7273203d20672e7072656465636573736f72732876293b0a2020202020202020696620287072656465636573736f72732e6c656e67746829207b0a202020202020202020206e6578744e6f727468506f73203d20672e6e6f6465287072656465636573736f72735b305d292e6f726465723b0a202020202020202020207363616e28736f7574682c20736f757468506f732c20736f7574684c6f6f6b61686561642c20707265764e6f727468506f732c206e6578744e6f727468506f73293b0a20202020202020202020736f757468506f73203d20736f7574684c6f6f6b61686561643b0a20202020202020202020707265764e6f727468506f73203d206e6578744e6f727468506f733b0a20202020202020207d0a2020202020207d0a2020202020207363616e28736f7574682c20736f757468506f732c20736f7574682e6c656e6774682c206e6578744e6f727468506f732c206e6f7274682e6c656e677468293b0a202020207d293b0a0a2020202072657475726e20736f7574683b0a20207d0a0a20205f2e726564756365286c61796572696e672c2076697369744c61796572293b0a202072657475726e20636f6e666c696374733b0a7d0a0a66756e6374696f6e2066696e644f74686572496e6e65725365676d656e744e6f646528672c207629207b0a202069662028672e6e6f64652876292e64756d6d7929207b0a2020202072657475726e205f2e66696e6428672e7072656465636573736f72732876292c2066756e6374696f6e287529207b0a20202020202072657475726e20672e6e6f64652875292e64756d6d793b0a202020207d293b0a20207d0a7d0a0a66756e6374696f6e20616464436f6e666c69637428636f6e666c696374732c20762c207729207b0a20206966202876203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a0a202076617220636f6e666c6963747356203d20636f6e666c696374735b765d3b0a20206966202821636f6e666c696374735629207b0a20202020636f6e666c696374735b765d203d20636f6e666c6963747356203d207b7d3b0a20207d0a2020636f6e666c69637473565b775d203d20747275653b0a7d0a0a66756e6374696f6e20686173436f6e666c69637428636f6e666c696374732c20762c207729207b0a20206966202876203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202072657475726e205f2e68617328636f6e666c696374735b765d2c2077293b0a7d0a0a2f2a0a202a2054727920746f20616c69676e206e6f64657320696e746f20766572746963616c2022626c6f636b732220776865726520706f737369626c652e205468697320616c676f726974686d0a202a20617474656d70747320746f20616c69676e2061206e6f64652077697468206f6e65206f6620697473206d656469616e206e65696768626f72732e2049662074686520656467650a202a20636f6e6e656374696e672061206e65696768626f72206973206120747970652d3120636f6e666c696374207468656e2077652069676e6f7265207468617420706f73736962696c6974792e0a202a20496620612070726576696f7573206e6f64652068617320616c726561647920666f726d6564206120626c6f636b20776974682061206e6f646520616674657220746865206e6f64650a202a20776527726520747279696e6720746f20666f726d206120626c6f636b20776974682c20776520616c736f2069676e6f7265207468617420706f73736962696c697479202d206f75720a202a20626c6f636b7320776f756c642062652073706c697420696e2074686174207363656e6172696f2e0a202a2f0a66756e6374696f6e20766572746963616c416c69676e6d656e7428672c206c61796572696e672c20636f6e666c696374732c206e65696768626f72466e29207b0a202076617220726f6f74203d207b7d2c0a202020202020616c69676e203d207b7d2c0a202020202020706f73203d207b7d3b0a0a20202f2f2057652063616368652074686520706f736974696f6e2068657265206261736564206f6e20746865206c61796572696e6720626563617573652074686520677261706820616e640a20202f2f206c61796572696e67206d6179206265206f7574206f662073796e632e20546865206c61796572696e67206d6174726978206973206d616e6970756c6174656420746f0a20202f2f2067656e657261746520646966666572656e742065787472656d6520616c69676e6d656e74732e0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206f7264657229207b0a202020202020726f6f745b765d203d20763b0a202020202020616c69676e5b765d203d20763b0a202020202020706f735b765d203d206f726465723b0a202020207d293b0a20207d293b0a0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020207661722070726576496478203d202d313b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a202020202020766172207773203d206e65696768626f72466e2876293b0a2020202020206966202877732e6c656e67746829207b0a20202020202020207773203d205f2e736f727442792877732c2066756e6374696f6e287729207b2072657475726e20706f735b775d3b207d293b0a2020202020202020766172206d70203d202877732e6c656e677468202d203129202f20323b0a2020202020202020666f7220287661722069203d204d6174682e666c6f6f72286d70292c20696c203d204d6174682e6365696c286d70293b2069203c3d20696c3b202b2b6929207b0a202020202020202020207661722077203d2077735b695d3b0a2020202020202020202069662028616c69676e5b765d203d3d3d20762026260a202020202020202020202020202070726576496478203c20706f735b775d2026260a202020202020202020202020202021686173436f6e666c69637428636f6e666c696374732c20762c20772929207b0a202020202020202020202020616c69676e5b775d203d20763b0a202020202020202020202020616c69676e5b765d203d20726f6f745b765d203d20726f6f745b775d3b0a20202020202020202020202070726576496478203d20706f735b775d3b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d293b0a20207d293b0a0a202072657475726e207b20726f6f743a20726f6f742c20616c69676e3a20616c69676e207d3b0a7d0a0a66756e6374696f6e20686f72697a6f6e74616c436f6d70616374696f6e28672c206c61796572696e672c20726f6f742c20616c69676e2c207265766572736553657029207b0a20202f2f205468697320706f7274696f6e206f662074686520616c676f726974686d20646966666572732066726f6d20424b2064756520746f2061206e756d626572206f662070726f626c656d732e0a20202f2f20496e7374656164206f6620746865697220616c676f726974686d20776520636f6e7374727563742061206e657720626c6f636b20677261706820616e6420646f2074776f0a20202f2f207377656570732e2054686520666972737420737765657020706c6163657320626c6f636b7320776974682074686520736d616c6c65737420706f737369626c650a20202f2f20636f6f7264696e617465732e20546865207365636f6e642073776565702072656d6f76657320756e75736564207370616365206279206d6f76696e6720626c6f636b7320746f207468650a20202f2f20677265617465737420636f6f7264696e6174657320776974686f75742076696f6c6174696e672073657061726174696f6e2e0a2020766172207873203d207b7d2c0a202020202020626c6f636b47203d206275696c64426c6f636b477261706828672c206c61796572696e672c20726f6f742c2072657665727365536570293b0a0a20202f2f20466972737420706173732c2061737369676e20736d616c6c65737420636f6f7264696e6174657320766961204446530a20207661722076697369746564203d207b7d3b0a202066756e6374696f6e207061737331287629207b0a2020202069662028215f2e68617328766973697465642c20762929207b0a202020202020766973697465645b765d203d20747275653b0a20202020202078735b765d203d205f2e72656475636528626c6f636b472e696e45646765732876292c2066756e6374696f6e286d61782c206529207b0a2020202020202020706173733128652e76293b0a202020202020202072657475726e204d6174682e6d6178286d61782c2078735b652e765d202b20626c6f636b472e65646765286529293b0a2020202020207d2c2030293b0a202020207d0a20207d0a20205f2e666f724561636828626c6f636b472e6e6f64657328292c207061737331293b0a0a202076617220626f7264657254797065203d2072657665727365536570203f2022626f726465724c65667422203a2022626f726465725269676874223b0a202066756e6374696f6e207061737332287629207b0a2020202069662028766973697465645b765d20213d3d203229207b0a202020202020766973697465645b765d2b2b3b0a202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020766172206d696e203d205f2e72656475636528626c6f636b472e6f757445646765732876292c2066756e6374696f6e286d696e2c206529207b0a2020202020202020706173733228652e77293b0a202020202020202072657475726e204d6174682e6d696e286d696e2c2078735b652e775d202d20626c6f636b472e65646765286529293b0a2020202020207d2c204e756d6265722e504f5349544956455f494e46494e495459293b0a202020202020696620286d696e20213d3d204e756d6265722e504f5349544956455f494e46494e495459202626206e6f64652e626f726465725479706520213d3d20626f726465725479706529207b0a202020202020202078735b765d203d204d6174682e6d61782878735b765d2c206d696e293b0a2020202020207d0a202020207d0a20207d0a20205f2e666f724561636828626c6f636b472e6e6f64657328292c207061737332293b0a0a20202f2f2041737369676e207820636f6f7264696e6174657320746f20616c6c206e6f6465730a20205f2e666f724561636828616c69676e2c2066756e6374696f6e287629207b0a2020202078735b765d203d2078735b726f6f745b765d5d3b0a20207d293b0a0a202072657475726e2078733b0a7d0a0a0a66756e6374696f6e206275696c64426c6f636b477261706828672c206c61796572696e672c20726f6f742c207265766572736553657029207b0a202076617220626c6f636b4772617068203d206e657720477261706828292c0a20202020202067726170684c6162656c203d20672e677261706828292c0a202020202020736570466e203d207365702867726170684c6162656c2e6e6f64657365702c2067726170684c6162656c2e656467657365702c2072657665727365536570293b0a0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a2020202076617220753b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a2020202020207661722076526f6f74203d20726f6f745b765d3b0a202020202020626c6f636b47726170682e7365744e6f64652876526f6f74293b0a202020202020696620287529207b0a20202020202020207661722075526f6f74203d20726f6f745b755d2c0a202020202020202020202020707265764d6178203d20626c6f636b47726170682e656467652875526f6f742c2076526f6f74293b0a2020202020202020626c6f636b47726170682e736574456467652875526f6f742c2076526f6f742c204d6174682e6d617828736570466e28672c20762c2075292c20707265764d6178207c7c203029293b0a2020202020207d0a20202020202075203d20763b0a202020207d293b0a20207d293b0a0a202072657475726e20626c6f636b47726170683b0a7d0a0a2f2a0a202a2052657475726e732074686520616c69676e6d656e742074686174206861732074686520736d616c6c657374207769647468206f662074686520676976656e20616c69676e6d656e74732e0a202a2f0a66756e6374696f6e2066696e64536d616c6c6573745769647468416c69676e6d656e7428672c2078737329207b0a202072657475726e205f2e6d696e4279285f2e76616c75657328787373292c2066756e6374696f6e2028787329207b0a20202020766172206d6178203d204e756d6265722e4e454741544956455f494e46494e4954593b0a20202020766172206d696e203d204e756d6265722e504f5349544956455f494e46494e4954593b0a0a202020205f2e666f72496e2878732c2066756e6374696f6e2028782c207629207b0a2020202020207661722068616c665769647468203d20776964746828672c207629202f20323b0a0a2020202020206d6178203d204d6174682e6d61782878202b2068616c6657696474682c206d6178293b0a2020202020206d696e203d204d6174682e6d696e2878202d2068616c6657696474682c206d696e293b0a202020207d293b0a0a2020202072657475726e206d6178202d206d696e3b0a20207d293b0a7d0a0a2f2a0a202a20416c69676e2074686520636f6f7264696e61746573206f662065616368206f6620746865206c61796f757420616c69676e6d656e7473207375636820746861740a202a206c6566742d62696173656420616c69676e6d656e74732068617665207468656972206d696e696d756d20636f6f7264696e617465206174207468652073616d6520706f696e742061730a202a20746865206d696e696d756d20636f6f7264696e617465206f662074686520736d616c6c65737420776964746820616c69676e6d656e7420616e642072696768742d6269617365640a202a20616c69676e6d656e74732068617665207468656972206d6178696d756d20636f6f7264696e617465206174207468652073616d6520706f696e7420617320746865206d6178696d756d0a202a20636f6f7264696e617465206f662074686520736d616c6c65737420776964746820616c69676e6d656e742e0a202a2f0a66756e6374696f6e20616c69676e436f6f7264696e61746573287873732c20616c69676e546f29207b0a202076617220616c69676e546f56616c73203d205f2e76616c75657328616c69676e546f292c0a202020202020616c69676e546f4d696e203d205f2e6d696e28616c69676e546f56616c73292c0a202020202020616c69676e546f4d6178203d205f2e6d617828616c69676e546f56616c73293b0a0a20205f2e666f7245616368285b2275222c202264225d2c2066756e6374696f6e287665727429207b0a202020205f2e666f7245616368285b226c222c202272225d2c2066756e6374696f6e28686f72697a29207b0a20202020202076617220616c69676e6d656e74203d2076657274202b20686f72697a2c0a202020202020202020207873203d207873735b616c69676e6d656e745d2c0a2020202020202020202064656c74613b0a202020202020696620287873203d3d3d20616c69676e546f292072657475726e3b0a0a20202020202076617220787356616c73203d205f2e76616c756573287873293b0a20202020202064656c7461203d20686f72697a203d3d3d20226c22203f20616c69676e546f4d696e202d205f2e6d696e28787356616c7329203a20616c69676e546f4d6178202d205f2e6d617828787356616c73293b0a0a2020202020206966202864656c746129207b0a20202020202020207873735b616c69676e6d656e745d203d205f2e6d617056616c7565732878732c2066756e6374696f6e287829207b2072657475726e2078202b2064656c74613b207d293b0a2020202020207d0a202020207d293b0a20207d293b0a7d0a0a66756e6374696f6e2062616c616e6365287873732c20616c69676e29207b0a202072657475726e205f2e6d617056616c756573287873732e756c2c2066756e6374696f6e2869676e6f72652c207629207b0a2020202069662028616c69676e29207b0a20202020202072657475726e207873735b616c69676e2e746f4c6f7765724361736528295d5b765d3b0a202020207d20656c7365207b0a202020202020766172207873203d205f2e736f72744279285f2e6d6170287873732c207629293b0a20202020202072657475726e202878735b315d202b2078735b325d29202f20323b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e58286729207b0a2020766172206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867292c0a202020202020636f6e666c69637473203d205f2e6d657267652866696e645479706531436f6e666c6963747328672c206c61796572696e67292c0a202020202020202020202020202020202020202020202020202066696e645479706532436f6e666c6963747328672c206c61796572696e6729293b0a0a202076617220787373203d207b7d2c0a20202020202061646a75737465644c61796572696e673b0a20205f2e666f7245616368285b2275222c202264225d2c2066756e6374696f6e287665727429207b0a2020202061646a75737465644c61796572696e67203d2076657274203d3d3d20227522203f206c61796572696e67203a205f2e76616c756573286c61796572696e67292e7265766572736528293b0a202020205f2e666f7245616368285b226c222c202272225d2c2066756e6374696f6e28686f72697a29207b0a20202020202069662028686f72697a203d3d3d2022722229207b0a202020202020202061646a75737465644c61796572696e67203d205f2e6d61702861646a75737465644c61796572696e672c2066756e6374696f6e28696e6e657229207b0a2020202020202020202072657475726e205f2e76616c75657328696e6e6572292e7265766572736528293b0a20202020202020207d293b0a2020202020207d0a0a202020202020766172206e65696768626f72466e203d205f2e62696e642876657274203d3d3d20227522203f20672e7072656465636573736f7273203a20672e737563636573736f72732c2067293b0a20202020202076617220616c69676e203d20766572746963616c416c69676e6d656e7428672c2061646a75737465644c61796572696e672c20636f6e666c696374732c206e65696768626f72466e293b0a202020202020766172207873203d20686f72697a6f6e74616c436f6d70616374696f6e28672c2061646a75737465644c61796572696e672c0a202020202020202020202020202020202020202020202020202020202020202020202020616c69676e2e726f6f742c20616c69676e2e616c69676e2c0a202020202020202020202020202020202020202020202020202020202020202020202020686f72697a203d3d3d20227222293b0a20202020202069662028686f72697a203d3d3d2022722229207b0a20202020202020207873203d205f2e6d617056616c7565732878732c2066756e6374696f6e287829207b2072657475726e202d783b207d293b0a2020202020207d0a2020202020207873735b76657274202b20686f72697a5d203d2078733b0a202020207d293b0a20207d293b0a0a202076617220736d616c6c6573745769647468203d2066696e64536d616c6c6573745769647468416c69676e6d656e7428672c20787373293b0a2020616c69676e436f6f7264696e61746573287873732c20736d616c6c6573745769647468293b0a202072657475726e2062616c616e6365287873732c20672e677261706828292e616c69676e293b0a7d0a0a66756e6374696f6e20736570286e6f64655365702c20656467655365702c207265766572736553657029207b0a202072657475726e2066756e6374696f6e28672c20762c207729207b0a2020202076617220764c6162656c203d20672e6e6f64652876292c0a2020202020202020774c6162656c203d20672e6e6f64652877292c0a202020202020202073756d203d20302c0a202020202020202064656c74613b0a0a2020202073756d202b3d20764c6162656c2e7769647468202f20323b0a20202020696620285f2e68617328764c6162656c2c20226c6162656c706f73222929207b0a2020202020207377697463682028764c6162656c2e6c6162656c706f732e746f4c6f77657243617365282929207b0a20202020202020206361736520226c223a2064656c7461203d202d764c6162656c2e7769647468202f20323b20627265616b3b0a202020202020202063617365202272223a2064656c7461203d20764c6162656c2e7769647468202f20323b20627265616b3b0a2020202020207d0a202020207d0a202020206966202864656c746129207b0a20202020202073756d202b3d2072657665727365536570203f2064656c7461203a202d64656c74613b0a202020207d0a2020202064656c7461203d20303b0a0a2020202073756d202b3d2028764c6162656c2e64756d6d79203f2065646765536570203a206e6f646553657029202f20323b0a2020202073756d202b3d2028774c6162656c2e64756d6d79203f2065646765536570203a206e6f646553657029202f20323b0a0a2020202073756d202b3d20774c6162656c2e7769647468202f20323b0a20202020696620285f2e68617328774c6162656c2c20226c6162656c706f73222929207b0a2020202020207377697463682028774c6162656c2e6c6162656c706f732e746f4c6f77657243617365282929207b0a20202020202020206361736520226c223a2064656c7461203d20774c6162656c2e7769647468202f20323b20627265616b3b0a202020202020202063617365202272223a2064656c7461203d202d774c6162656c2e7769647468202f20323b20627265616b3b0a2020202020207d0a202020207d0a202020206966202864656c746129207b0a20202020202073756d202b3d2072657665727365536570203f2064656c7461203a202d64656c74613b0a202020207d0a2020202064656c7461203d20303b0a0a2020202072657475726e2073756d3b0a20207d3b0a7d0a0a66756e6374696f6e20776964746828672c207629207b0a202072657475726e20672e6e6f64652876292e77696474683b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39387d5d2c39333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2e2f7574696c22292c0a20202020706f736974696f6e58203d207265717569726528222e2f626b22292e706f736974696f6e583b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e3b0a0a66756e6374696f6e20706f736974696f6e286729207b0a202067203d207574696c2e61734e6f6e436f6d706f756e6447726170682867293b0a0a2020706f736974696f6e592867293b0a20205f2e666f724561636828706f736974696f6e582867292c2066756e6374696f6e28782c207629207b0a20202020672e6e6f64652876292e78203d20783b0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e59286729207b0a2020766172206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867292c0a20202020202072616e6b536570203d20672e677261706828292e72616e6b7365702c0a2020202020207072657659203d20303b0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a20202020766172206d6178486569676874203d205f2e6d6178285f2e6d6170286c617965722c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e6865696768743b207d29293b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a202020202020672e6e6f64652876292e79203d207072657659202b206d6178486569676874202f20323b0a202020207d293b0a202020207072657659202b3d206d6178486569676874202b2072616e6b5365703b0a20207d293b0a7d0a0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f626b223a39327d5d2c39343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a20202020736c61636b203d207265717569726528222e2f7574696c22292e736c61636b3b0a0a6d6f64756c652e6578706f727473203d206665617369626c65547265653b0a0a2f2a0a202a20436f6e737472756374732061207370616e6e696e672074726565207769746820746967687420656467657320616e642061646a75737465642074686520696e707574206e6f646527730a202a2072616e6b7320746f206163686965766520746869732e20412074696768742065646765206973206f6e652074686174206973206861732061206c656e6774682074686174206d6174636865730a202a2069747320226d696e6c656e22206174747269627574652e0a202a0a202a205468652062617369632073747275637475726520666f7220746869732066756e6374696f6e20697320646572697665642066726f6d2047616e736e65722c20657420616c2e2c2022410a202a20546563686e6971756520666f722044726177696e67204469726563746564204772617068732e220a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d7573742062652061204441472e0a202a20202020322e204772617068206d75737420626520636f6e6e65637465642e0a202a20202020332e204772617068206d7573742068617665206174206c65617374206f6e65206e6f64652e0a202a20202020352e204772617068206e6f646573206d7573742068617665206265656e2070726576696f75736c792061737369676e65642061202272616e6b222070726f706572747920746861740a202a2020202020202072657370656374732074686520226d696e6c656e222070726f7065727479206f6620696e636964656e742065646765732e0a202a20202020362e204772617068206564676573206d7573742068617665206120226d696e6c656e222070726f70657274792e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a202020202d204772617068206e6f6465732077696c6c20686176652074686569722072616e6b2061646a757374656420746f20656e73757265207468617420616c6c206564676573206172650a202a20202020202074696768742e0a202a0a202a2052657475726e73206120747265652028756e646972656374656420677261706829207468617420697320636f6e7374727563746564207573696e67206f6e6c7920227469676874220a202a2065646765732e0a202a2f0a66756e6374696f6e206665617369626c6554726565286729207b0a20207661722074203d206e6577204772617068287b2064697265637465643a2066616c7365207d293b0a0a20202f2f2043686f6f736520617262697472617279206e6f64652066726f6d20776869636820746f207374617274206f757220747265650a2020766172207374617274203d20672e6e6f64657328295b305d2c0a20202020202073697a65203d20672e6e6f6465436f756e7428293b0a2020742e7365744e6f64652873746172742c207b7d293b0a0a202076617220656467652c2064656c74613b0a20207768696c65202874696768745472656528742c206729203c2073697a6529207b0a2020202065646765203d2066696e644d696e536c61636b4564676528742c2067293b0a2020202064656c7461203d20742e6861734e6f646528656467652e7629203f20736c61636b28672c206564676529203a202d736c61636b28672c2065646765293b0a20202020736869667452616e6b7328742c20672c2064656c7461293b0a20207d0a0a202072657475726e20743b0a7d0a0a2f2a0a202a2046696e64732061206d6178696d616c2074726565206f6620746967687420656467657320616e642072657475726e7320746865206e756d626572206f66206e6f64657320696e207468650a202a20747265652e0a202a2f0a66756e6374696f6e2074696768745472656528742c206729207b0a202066756e6374696f6e20646673287629207b0a202020205f2e666f724561636828672e6e6f646545646765732876292c2066756e6374696f6e286529207b0a202020202020766172206564676556203d20652e762c0a2020202020202020202077203d202876203d3d3d20656467655629203f20652e77203a2065646765563b0a2020202020206966202821742e6861734e6f64652877292026262021736c61636b28672c20652929207b0a2020202020202020742e7365744e6f646528772c207b7d293b0a2020202020202020742e7365744564676528762c20772c207b7d293b0a20202020202020206466732877293b0a2020202020207d0a202020207d293b0a20207d0a0a20205f2e666f724561636828742e6e6f64657328292c20646673293b0a202072657475726e20742e6e6f6465436f756e7428293b0a7d0a0a2f2a0a202a2046696e647320746865206564676520776974682074686520736d616c6c65737420736c61636b207468617420697320696e636964656e74206f6e207472656520616e642072657475726e730a202a2069742e0a202a2f0a66756e6374696f6e2066696e644d696e536c61636b4564676528742c206729207b0a202072657475726e205f2e6d696e427928672e656467657328292c2066756e6374696f6e286529207b0a2020202069662028742e6861734e6f646528652e762920213d3d20742e6861734e6f646528652e772929207b0a20202020202072657475726e20736c61636b28672c2065293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20736869667452616e6b7328742c20672c2064656c746129207b0a20205f2e666f724561636828742e6e6f64657328292c2066756e6374696f6e287629207b0a20202020672e6e6f64652876292e72616e6b202b3d2064656c74613b0a20207d293b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2f7574696c223a39377d5d2c39353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a7661722072616e6b5574696c203d207265717569726528222e2f7574696c22292c0a202020206c6f6e6765737450617468203d2072616e6b5574696c2e6c6f6e67657374506174682c0a202020206665617369626c6554726565203d207265717569726528222e2f6665617369626c652d7472656522292c0a202020206e6574776f726b53696d706c6578203d207265717569726528222e2f6e6574776f726b2d73696d706c657822293b0a0a6d6f64756c652e6578706f727473203d2072616e6b3b0a0a2f2a0a202a2041737369676e7320612072616e6b20746f2065616368206e6f646520696e2074686520696e70757420677261706820746861742072657370656374732074686520226d696e6c656e220a202a20636f6e73747261696e7420737065636966696564206f6e206564676573206265747765656e206e6f6465732e0a202a0a202a20546869732062617369632073747275637475726520697320646572697665642066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e6971756520666f720a202a2044726177696e67204469726563746564204772617068732e220a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d757374206265206120636f6e6e6563746564204441470a202a20202020322e204772617068206e6f646573206d757374206265206f626a656374730a202a20202020332e204772617068206564676573206d757374206861766520227765696768742220616e6420226d696e6c656e2220617474726962757465730a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206e6f6465732077696c6c20686176652061202272616e6b2220617474726962757465206261736564206f6e2074686520726573756c7473206f66207468650a202a20202020202020616c676f726974686d2e2052616e6b732063616e20737461727420617420616e7920696e6465782028696e636c7564696e67206e65676174697665292c207765276c6c0a202a20202020202020666978207468656d207570206c617465722e0a202a2f0a66756e6374696f6e2072616e6b286729207b0a202073776974636828672e677261706828292e72616e6b657229207b0a202020206361736520226e6574776f726b2d73696d706c6578223a206e6574776f726b53696d706c657852616e6b65722867293b20627265616b3b0a2020202063617365202274696768742d74726565223a2074696768745472656552616e6b65722867293b20627265616b3b0a202020206361736520226c6f6e676573742d70617468223a206c6f6e676573745061746852616e6b65722867293b20627265616b3b0a2020202064656661756c743a206e6574776f726b53696d706c657852616e6b65722867293b0a20207d0a7d0a0a2f2f2041206661737420616e642073696d706c652072616e6b65722c2062757420726573756c747320617265206661722066726f6d206f7074696d616c2e0a766172206c6f6e676573745061746852616e6b6572203d206c6f6e67657374506174683b0a0a66756e6374696f6e2074696768745472656552616e6b6572286729207b0a20206c6f6e67657374506174682867293b0a20206665617369626c65547265652867293b0a7d0a0a66756e6374696f6e206e6574776f726b53696d706c657852616e6b6572286729207b0a20206e6574776f726b53696d706c65782867293b0a7d0a0a7d2c7b222e2f6665617369626c652d74726565223a39342c222e2f6e6574776f726b2d73696d706c6578223a39362c222e2f7574696c223a39377d5d2c39363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020206665617369626c6554726565203d207265717569726528222e2f6665617369626c652d7472656522292c0a20202020736c61636b203d207265717569726528222e2f7574696c22292e736c61636b2c0a20202020696e697452616e6b203d207265717569726528222e2f7574696c22292e6c6f6e67657374506174682c0a202020207072656f72646572203d207265717569726528222e2e2f67726170686c696222292e616c672e7072656f726465722c0a20202020706f73746f72646572203d207265717569726528222e2e2f67726170686c696222292e616c672e706f73746f726465722c0a2020202073696d706c696679203d207265717569726528222e2e2f7574696c22292e73696d706c6966793b0a0a6d6f64756c652e6578706f727473203d206e6574776f726b53696d706c65783b0a0a2f2f204578706f736520736f6d6520696e7465726e616c7320666f722074657374696e6720707572706f7365730a6e6574776f726b53696d706c65782e696e69744c6f774c696d56616c756573203d20696e69744c6f774c696d56616c7565733b0a6e6574776f726b53696d706c65782e696e697443757456616c756573203d20696e697443757456616c7565733b0a6e6574776f726b53696d706c65782e63616c6343757456616c7565203d2063616c6343757456616c75653b0a6e6574776f726b53696d706c65782e6c6561766545646765203d206c65617665456467653b0a6e6574776f726b53696d706c65782e656e74657245646765203d20656e746572456467653b0a6e6574776f726b53696d706c65782e65786368616e67654564676573203d2065786368616e676545646765733b0a0a2f2a0a202a20546865206e6574776f726b2073696d706c657820616c676f726974686d2061737369676e732072616e6b7320746f2065616368206e6f646520696e2074686520696e7075742067726170680a202a20616e64206974657261746976656c7920696d70726f766573207468652072616e6b696e6720746f2072656475636520746865206c656e677468206f662065646765732e0a202a0a202a20507265636f6e646974696f6e733a0a202a0a202a20202020312e2054686520696e707574206772617068206d7573742062652061204441472e0a202a20202020322e20416c6c206e6f64657320696e20746865206772617068206d757374206861766520616e206f626a6563742076616c75652e0a202a20202020332e20416c6c20656467657320696e20746865206772617068206d757374206861766520226d696e6c656e2220616e6420227765696768742220617474726962757465732e0a202a0a202a20506f7374636f6e646974696f6e733a0a202a0a202a20202020312e20416c6c206e6f64657320696e207468652067726170682077696c6c206861766520616e2061737369676e6564202272616e6b22206174747269627574652074686174206861730a202a202020202020206265656e206f7074696d697a656420627920746865206e6574776f726b2073696d706c657820616c676f726974686d2e2052616e6b7320737461727420617420302e0a202a0a202a0a202a204120726f75676820736b65746368206f662074686520616c676f726974686d20697320617320666f6c6c6f77733a0a202a0a202a20202020312e2041737369676e20696e697469616c2072616e6b7320746f2065616368206e6f64652e2057652075736520746865206c6f6e67657374207061746820616c676f726974686d2c0a202a2020202020202077686963682061737369676e732072616e6b7320746f20746865206c6f7765737420706f736974696f6e20706f737369626c652e20496e2067656e6572616c20746869730a202a202020202020206c6561647320746f2076657279207769646520626f74746f6d2072616e6b7320616e6420756e6e65636573736172696c79206c6f6e672065646765732e0a202a20202020322e20436f6e7374727563742061206665617369626c6520746967687420747265652e20412074696768742074726565206973206f6e652073756368207468617420616c6c0a202a20202020202020656467657320696e2074686520747265652068617665206e6f20736c61636b2028646966666572656e6365206265747765656e206c656e677468206f6620656467650a202a20202020202020616e64206d696e6c656e20666f72207468652065646765292e205468697320627920697473656c662067726561746c7920696d70726f766573207468652061737369676e65640a202a2020202020202072616e6b696e67732062792073686f7274696e672065646765732e0a202a20202020332e204974657261746976656c792066696e6420656467657320746861742068617665206e65676174697665206375742076616c7565732e2047656e6572616c6c7920610a202a202020202020206e65676174697665206375742076616c756520696e64696361746573207468617420746865206564676520636f756c642062652072656d6f76656420616e642061206e65770a202a2020202020202074726565206564676520636f756c6420626520616464656420746f2070726f647563652061206d6f726520636f6d706163742067726170682e0a202a0a202a204d756368206f662074686520616c676f726974686d7320686572652061726520646572697665642066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e697175650a202a20666f722044726177696e67204469726563746564204772617068732e222054686520737472756374757265206f66207468652066696c6520726f7567686c7920666f6c6c6f7773207468650a202a20737472756374757265206f6620746865206f766572616c6c20616c676f726974686d2e0a202a2f0a66756e6374696f6e206e6574776f726b53696d706c6578286729207b0a202067203d2073696d706c6966792867293b0a2020696e697452616e6b2867293b0a20207661722074203d206665617369626c65547265652867293b0a2020696e69744c6f774c696d56616c7565732874293b0a2020696e697443757456616c75657328742c2067293b0a0a202076617220652c20663b0a20207768696c6520282865203d206c65617665456467652874292929207b0a2020202066203d20656e7465724564676528742c20672c2065293b0a2020202065786368616e6765456467657328742c20672c20652c2066293b0a20207d0a7d0a0a2f2a0a202a20496e697469616c697a6573206375742076616c75657320666f7220616c6c20656467657320696e2074686520747265652e0a202a2f0a66756e6374696f6e20696e697443757456616c75657328742c206729207b0a2020766172207673203d20706f73746f7264657228742c20742e6e6f6465732829293b0a20207673203d2076732e736c69636528302c2076732e6c656e677468202d2031293b0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a2020202061737369676e43757456616c756528742c20672c2076293b0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e43757456616c756528742c20672c206368696c6429207b0a2020766172206368696c644c6162203d20742e6e6f6465286368696c64292c0a202020202020706172656e74203d206368696c644c61622e706172656e743b0a2020742e65646765286368696c642c20706172656e74292e63757476616c7565203d2063616c6343757456616c756528742c20672c206368696c64293b0a7d0a0a2f2a0a202a20476976656e2074686520746967687420747265652c206974732067726170682c20616e642061206368696c6420696e207468652067726170682063616c63756c61746520616e640a202a2072657475726e20746865206375742076616c756520666f72207468652065646765206265747765656e20746865206368696c6420616e642069747320706172656e742e0a202a2f0a66756e6374696f6e2063616c6343757456616c756528742c20672c206368696c6429207b0a2020766172206368696c644c6162203d20742e6e6f6465286368696c64292c0a202020202020706172656e74203d206368696c644c61622e706172656e742c0a2020202020202f2f205472756520696620746865206368696c64206973206f6e20746865207461696c20656e64206f6620746865206564676520696e207468652064697265637465642067726170680a2020202020206368696c6449735461696c203d20747275652c0a2020202020202f2f2054686520677261706827732076696577206f66207468652074726565206564676520776527726520696e7370656374696e670a202020202020677261706845646765203d20672e65646765286368696c642c20706172656e74292c0a2020202020202f2f2054686520616363756d756c61746564206375742076616c756520666f72207468652065646765206265747765656e2074686973206e6f646520616e642069747320706172656e740a20202020202063757456616c7565203d20303b0a0a2020696620282167726170684564676529207b0a202020206368696c6449735461696c203d2066616c73653b0a20202020677261706845646765203d20672e6564676528706172656e742c206368696c64293b0a20207d0a0a202063757456616c7565203d206772617068456467652e7765696768743b0a0a20205f2e666f724561636828672e6e6f64654564676573286368696c64292c2066756e6374696f6e286529207b0a202020207661722069734f757445646765203d20652e76203d3d3d206368696c642c0a20202020202020206f74686572203d2069734f757445646765203f20652e77203a20652e763b0a0a20202020696620286f7468657220213d3d20706172656e7429207b0a20202020202076617220706f696e7473546f48656164203d2069734f757445646765203d3d3d206368696c6449735461696c2c0a202020202020202020206f74686572576569676874203d20672e656467652865292e7765696768743b0a0a20202020202063757456616c7565202b3d20706f696e7473546f48656164203f206f74686572576569676874203a202d6f746865725765696768743b0a202020202020696620286973547265654564676528742c206368696c642c206f746865722929207b0a2020202020202020766172206f7468657243757456616c7565203d20742e65646765286368696c642c206f74686572292e63757476616c75653b0a202020202020202063757456616c7565202b3d20706f696e7473546f48656164203f202d6f7468657243757456616c7565203a206f7468657243757456616c75653b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e2063757456616c75653b0a7d0a0a66756e6374696f6e20696e69744c6f774c696d56616c75657328747265652c20726f6f7429207b0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020726f6f74203d20747265652e6e6f64657328295b305d3b0a20207d0a202064667341737369676e4c6f774c696d28747265652c207b7d2c20312c20726f6f74293b0a7d0a0a66756e6374696f6e2064667341737369676e4c6f774c696d28747265652c20766973697465642c206e6578744c696d2c20762c20706172656e7429207b0a2020766172206c6f77203d206e6578744c696d2c0a2020202020206c6162656c203d20747265652e6e6f64652876293b0a0a2020766973697465645b765d203d20747275653b0a20205f2e666f724561636828747265652e6e65696768626f72732876292c2066756e6374696f6e287729207b0a2020202069662028215f2e68617328766973697465642c20772929207b0a2020202020206e6578744c696d203d2064667341737369676e4c6f774c696d28747265652c20766973697465642c206e6578744c696d2c20772c2076293b0a202020207d0a20207d293b0a0a20206c6162656c2e6c6f77203d206c6f773b0a20206c6162656c2e6c696d203d206e6578744c696d2b2b3b0a202069662028706172656e7429207b0a202020206c6162656c2e706172656e74203d20706172656e743b0a20207d20656c7365207b0a202020202f2f20544f444f2073686f756c642062652061626c6520746f2072656d6f76652074686973207768656e20776520696e6372656d656e74616c6c7920757064617465206c6f77206c696d0a2020202064656c657465206c6162656c2e706172656e743b0a20207d0a0a202072657475726e206e6578744c696d3b0a7d0a0a66756e6374696f6e206c6561766545646765287472656529207b0a202072657475726e205f2e66696e6428747265652e656467657328292c2066756e6374696f6e286529207b0a2020202072657475726e20747265652e656467652865292e63757476616c7565203c20303b0a20207d293b0a7d0a0a66756e6374696f6e20656e7465724564676528742c20672c206564676529207b0a20207661722076203d20656467652e762c0a20202020202077203d20656467652e773b0a0a20202f2f20466f72207468652072657374206f6620746869732066756e6374696f6e20776520617373756d652074686174207620697320746865207461696c20616e642077206973207468650a20202f2f20686561642c20736f20696620776520646f6e277420686176652074686973206564676520696e207468652067726170682077652073686f756c6420666c697020697420746f0a20202f2f206d617463682074686520636f7272656374206f7269656e746174696f6e2e0a20206966202821672e6861734564676528762c20772929207b0a2020202076203d20656467652e773b0a2020202077203d20656467652e763b0a20207d0a0a202076617220764c6162656c203d20742e6e6f64652876292c0a202020202020774c6162656c203d20742e6e6f64652877292c0a2020202020207461696c4c6162656c203d20764c6162656c2c0a202020202020666c6970203d2066616c73653b0a0a20202f2f2049662074686520726f6f7420697320696e20746865207461696c206f66207468652065646765207468656e207765206e65656420746f20666c697020746865206c6f67696320746861740a20202f2f20636865636b7320666f7220746865206865616420616e64207461696c206e6f64657320696e207468652063616e646964617465732066756e6374696f6e2062656c6f772e0a202069662028764c6162656c2e6c696d203e20774c6162656c2e6c696d29207b0a202020207461696c4c6162656c203d20774c6162656c3b0a20202020666c6970203d20747275653b0a20207d0a0a20207661722063616e64696461746573203d205f2e66696c74657228672e656467657328292c2066756e6374696f6e286564676529207b0a2020202072657475726e20666c6970203d3d3d20697344657363656e64616e7428742c20742e6e6f646528656467652e76292c207461696c4c6162656c292026260a2020202020202020202020666c697020213d3d20697344657363656e64616e7428742c20742e6e6f646528656467652e77292c207461696c4c6162656c293b0a20207d293b0a0a202072657475726e205f2e6d696e42792863616e646964617465732c2066756e6374696f6e286564676529207b2072657475726e20736c61636b28672c2065646765293b207d293b0a7d0a0a66756e6374696f6e2065786368616e6765456467657328742c20672c20652c206629207b0a20207661722076203d20652e762c0a20202020202077203d20652e773b0a2020742e72656d6f76654564676528762c2077293b0a2020742e7365744564676528662e762c20662e772c207b7d293b0a2020696e69744c6f774c696d56616c7565732874293b0a2020696e697443757456616c75657328742c2067293b0a202075706461746552616e6b7328742c2067293b0a7d0a0a66756e6374696f6e2075706461746552616e6b7328742c206729207b0a202076617220726f6f74203d205f2e66696e6428742e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e2021672e6e6f64652876292e706172656e743b207d292c0a2020202020207673203d207072656f7264657228742c20726f6f74293b0a20207673203d2076732e736c6963652831293b0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a2020202076617220706172656e74203d20742e6e6f64652876292e706172656e742c0a202020202020202065646765203d20672e6564676528762c20706172656e74292c0a2020202020202020666c6970706564203d2066616c73653b0a0a2020202069662028216564676529207b0a20202020202065646765203d20672e6564676528706172656e742c2076293b0a202020202020666c6970706564203d20747275653b0a202020207d0a0a20202020672e6e6f64652876292e72616e6b203d20672e6e6f646528706172656e74292e72616e6b202b2028666c6970706564203f20656467652e6d696e6c656e203a202d656467652e6d696e6c656e293b0a20207d293b0a7d0a0a2f2a0a202a2052657475726e73207472756520696620746865206564676520697320696e2074686520747265652e0a202a2f0a66756e6374696f6e206973547265654564676528747265652c20752c207629207b0a202072657475726e20747265652e6861734564676528752c2076293b0a7d0a0a2f2a0a202a2052657475726e7320747275652069662074686520737065636966696564206e6f64652069732064657363656e64616e74206f662074686520726f6f74206e6f646520706572207468650a202a2061737369676e6564206c6f7720616e64206c696d206174747269627574657320696e2074686520747265652e0a202a2f0a66756e6374696f6e20697344657363656e64616e7428747265652c20764c6162656c2c20726f6f744c6162656c29207b0a202072657475726e20726f6f744c6162656c2e6c6f77203c3d20764c6162656c2e6c696d20262620764c6162656c2e6c696d203c3d20726f6f744c6162656c2e6c696d3b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f6665617369626c652d74726565223a39342c222e2f7574696c223a39377d5d2c39373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207b0a20206c6f6e67657374506174683a206c6f6e67657374506174682c0a2020736c61636b3a20736c61636b0a7d3b0a0a2f2a0a202a20496e697469616c697a65732072616e6b7320666f722074686520696e707574206772617068207573696e6720746865206c6f6e67657374207061746820616c676f726974686d2e20546869730a202a20616c676f726974686d207363616c65732077656c6c20616e64206973206661737420696e2070726163746963652c206974207969656c64732072617468657220706f6f720a202a20736f6c7574696f6e732e204e6f646573206172652070757368656420746f20746865206c6f77657374206c6179657220706f737369626c652c206c656176696e672074686520626f74746f6d0a202a2072616e6b73207769646520616e64206c656176696e67206564676573206c6f6e676572207468616e206e65636573736172792e20486f77657665722c2064756520746f206974730a202a2073706565642c207468697320616c676f726974686d20697320676f6f6420666f722067657474696e6720616e20696e697469616c2072616e6b696e6720746861742063616e206265206665640a202a20696e746f206f7468657220616c676f726974686d732e0a202a0a202a205468697320616c676f726974686d20646f6573206e6f74206e6f726d616c697a65206c617965727320626563617573652069742077696c6c2062652075736564206279206f746865720a202a20616c676f726974686d7320696e206d6f73742063617365732e204966207573696e67207468697320616c676f726974686d206469726563746c792c206265207375726520746f0a202a2072756e206e6f726d616c697a652061742074686520656e642e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441472e0a202a20202020322e20496e707574206772617068206e6f6465206c6162656c732063616e2062652061737369676e65642070726f706572746965732e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e2045616368206e6f64652077696c6c2062652061737369676e20616e2028756e6e6f726d616c697a656429202272616e6b222070726f70657274792e0a202a2f0a66756e6374696f6e206c6f6e6765737450617468286729207b0a20207661722076697369746564203d207b7d3b0a0a202066756e6374696f6e20646673287629207b0a20202020766172206c6162656c203d20672e6e6f64652876293b0a20202020696620285f2e68617328766973697465642c20762929207b0a20202020202072657475726e206c6162656c2e72616e6b3b0a202020207d0a20202020766973697465645b765d203d20747275653b0a0a202020207661722072616e6b203d205f2e6d696e4279285f2e6d617028672e6f757445646765732876292c2066756e6374696f6e286529207b0a20202020202072657475726e2064667328652e7729202d20672e656467652865292e6d696e6c656e3b0a202020207d29293b0a0a202020206966202872616e6b203d3d3d204e756d6265722e504f5349544956455f494e46494e495459207c7c202f2f2072657475726e2076616c7565206f66205f2e6d6170285b5d2920666f72204c6f6461736820330a202020202020202072616e6b203d3d3d20756e646566696e6564207c7c202f2f2072657475726e2076616c7565206f66205f2e6d6170285b5d2920666f72204c6f6461736820340a202020202020202072616e6b203d3d3d206e756c6c29207b202f2f2072657475726e2076616c7565206f66205f2e6d6170285b6e756c6c5d290a20202020202072616e6b203d20303b0a202020207d0a0a2020202072657475726e20286c6162656c2e72616e6b203d2072616e6b293b0a20207d0a0a20205f2e666f724561636828672e736f757263657328292c20646673293b0a7d0a0a2f2a0a202a2052657475726e732074686520616d6f756e74206f6620736c61636b20666f722074686520676976656e20656467652e2054686520736c61636b20697320646566696e6564206173207468650a202a20646966666572656e6365206265747765656e20746865206c656e677468206f6620746865206564676520616e6420697473206d696e696d756d206c656e6774682e0a202a2f0a66756e6374696f6e20736c61636b28672c206529207b0a202072657475726e20672e6e6f646528652e77292e72616e6b202d20672e6e6f646528652e76292e72616e6b202d20672e656467652865292e6d696e6c656e3b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c39383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d207b0a202061646444756d6d794e6f64653a2061646444756d6d794e6f64652c0a202073696d706c6966793a2073696d706c6966792c0a202061734e6f6e436f6d706f756e6447726170683a2061734e6f6e436f6d706f756e6447726170682c0a2020737563636573736f72576569676874733a20737563636573736f72576569676874732c0a20207072656465636573736f72576569676874733a207072656465636573736f72576569676874732c0a2020696e74657273656374526563743a20696e74657273656374526563742c0a20206275696c644c617965724d61747269783a206275696c644c617965724d61747269782c0a20206e6f726d616c697a6552616e6b733a206e6f726d616c697a6552616e6b732c0a202072656d6f7665456d70747952616e6b733a2072656d6f7665456d70747952616e6b732c0a2020616464426f726465724e6f64653a20616464426f726465724e6f64652c0a20206d617852616e6b3a206d617852616e6b2c0a2020706172746974696f6e3a20706172746974696f6e2c0a202074696d653a2074696d652c0a20206e6f74696d653a206e6f74696d650a7d3b0a0a2f2a0a202a204164647320612064756d6d79206e6f646520746f2074686520677261706820616e642072657475726e20762e0a202a2f0a66756e6374696f6e2061646444756d6d794e6f646528672c20747970652c2061747472732c206e616d6529207b0a202076617220763b0a2020646f207b0a2020202076203d205f2e756e697175654964286e616d65293b0a20207d207768696c652028672e6861734e6f6465287629293b0a0a202061747472732e64756d6d79203d20747970653b0a2020672e7365744e6f646528762c206174747273293b0a202072657475726e20763b0a7d0a0a2f2a0a202a2052657475726e732061206e65772067726170682077697468206f6e6c792073696d706c652065646765732e2048616e646c6573206167677265676174696f6e206f6620646174610a202a206173736f6369617465642077697468206d756c74692d65646765732e0a202a2f0a66756e6374696f6e2073696d706c696679286729207b0a20207661722073696d706c6966696564203d206e657720477261706828292e736574477261706828672e67726170682829293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2073696d706c69666965642e7365744e6f646528762c20672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722073696d706c654c6162656c203d2073696d706c69666965642e6564676528652e762c20652e7729207c7c207b207765696768743a20302c206d696e6c656e3a2031207d2c0a20202020202020206c6162656c203d20672e656467652865293b0a2020202073696d706c69666965642e7365744564676528652e762c20652e772c207b0a2020202020207765696768743a2073696d706c654c6162656c2e776569676874202b206c6162656c2e7765696768742c0a2020202020206d696e6c656e3a204d6174682e6d61782873696d706c654c6162656c2e6d696e6c656e2c206c6162656c2e6d696e6c656e290a202020207d293b0a20207d293b0a202072657475726e2073696d706c69666965643b0a7d0a0a66756e6374696f6e2061734e6f6e436f6d706f756e644772617068286729207b0a20207661722073696d706c6966696564203d206e6577204772617068287b206d756c746967726170683a20672e69734d756c746967726170682829207d292e736574477261706828672e67726170682829293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a202020206966202821672e6368696c6472656e2876292e6c656e67746829207b0a20202020202073696d706c69666965642e7365744e6f646528762c20672e6e6f6465287629293b0a202020207d0a20207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a2020202073696d706c69666965642e7365744564676528652c20672e65646765286529293b0a20207d293b0a202072657475726e2073696d706c69666965643b0a7d0a0a66756e6374696f6e20737563636573736f7257656967687473286729207b0a2020766172207765696768744d6170203d205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722073756373203d207b7d3b0a202020205f2e666f724561636828672e6f757445646765732876292c2066756e6374696f6e286529207b0a202020202020737563735b652e775d203d2028737563735b652e775d207c7c203029202b20672e656467652865292e7765696768743b0a202020207d293b0a2020202072657475726e20737563733b0a20207d293b0a202072657475726e205f2e7a69704f626a65637428672e6e6f64657328292c207765696768744d6170293b0a7d0a0a66756e6374696f6e207072656465636573736f7257656967687473286729207b0a2020766172207765696768744d6170203d205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172207072656473203d207b7d3b0a202020205f2e666f724561636828672e696e45646765732876292c2066756e6374696f6e286529207b0a20202020202070726564735b652e765d203d202870726564735b652e765d207c7c203029202b20672e656467652865292e7765696768743b0a202020207d293b0a2020202072657475726e2070726564733b0a20207d293b0a202072657475726e205f2e7a69704f626a65637428672e6e6f64657328292c207765696768744d6170293b0a7d0a0a2f2a0a202a2046696e64732077686572652061206c696e65207374617274696e6720617420706f696e7420287b782c20797d2920776f756c6420696e7465727365637420612072656374616e676c650a202a20287b782c20792c2077696474682c206865696768747d29206966206974207765726520706f696e74696e67206174207468652072656374616e676c6527732063656e7465722e0a202a2f0a66756e6374696f6e20696e746572736563745265637428726563742c20706f696e7429207b0a20207661722078203d20726563742e783b0a20207661722079203d20726563742e793b0a0a20202f2f2052656374616e676c6520696e74657273656374696f6e20616c676f726974686d2066726f6d3a0a20202f2f20687474703a2f2f6d6174682e737461636b65786368616e67652e636f6d2f7175657374696f6e732f3130383131332f66696e642d656467652d6265747765656e2d74776f2d626f7865730a2020766172206478203d20706f696e742e78202d20783b0a2020766172206479203d20706f696e742e79202d20793b0a20207661722077203d20726563742e7769647468202f20323b0a20207661722068203d20726563742e686569676874202f20323b0a0a2020696620282164782026262021647929207b0a202020207468726f77206e6577204572726f7228224e6f7420706f737369626c6520746f2066696e6420696e74657273656374696f6e20696e73696465206f66207468652072656374616e676c6522293b0a20207d0a0a20207661722073782c2073793b0a2020696620284d6174682e61627328647929202a2077203e204d6174682e61627328647829202a206829207b0a202020202f2f20496e74657273656374696f6e20697320746f70206f7220626f74746f6d206f6620726563742e0a20202020696620286479203c203029207b0a20202020202068203d202d683b0a202020207d0a202020207378203d2068202a206478202f2064793b0a202020207379203d20683b0a20207d20656c7365207b0a202020202f2f20496e74657273656374696f6e206973206c656674206f72207269676874206f6620726563742e0a20202020696620286478203c203029207b0a20202020202077203d202d773b0a202020207d0a202020207378203d20773b0a202020207379203d2077202a206479202f2064783b0a20207d0a0a202072657475726e207b20783a2078202b2073782c20793a2079202b207379207d3b0a7d0a0a2f2a0a202a20476976656e20612044414720776974682065616368206e6f64652061737369676e6564202272616e6b2220616e6420226f72646572222070726f706572746965732c20746869730a202a2066756e6374696f6e2077696c6c2070726f647563652061206d617472697820776974682074686520696473206f662065616368206e6f64652e0a202a2f0a66756e6374696f6e206275696c644c617965724d6174726978286729207b0a2020766172206c61796572696e67203d205f2e6d6170285f2e72616e6765286d617852616e6b286729202b2031292c2066756e6374696f6e2829207b2072657475726e205b5d3b207d293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a202020202020202072616e6b203d206e6f64652e72616e6b3b0a2020202069662028215f2e6973556e646566696e65642872616e6b2929207b0a2020202020206c61796572696e675b72616e6b5d5b6e6f64652e6f726465725d203d20763b0a202020207d0a20207d293b0a202072657475726e206c61796572696e673b0a7d0a0a2f2a0a202a2041646a75737473207468652072616e6b7320666f7220616c6c206e6f64657320696e207468652067726170682073756368207468617420616c6c206e6f646573207620686176650a202a2072616e6b287629203e3d203020616e64206174206c65617374206f6e65206e6f64652077206861732072616e6b287729203d20302e0a202a2f0a66756e6374696f6e206e6f726d616c697a6552616e6b73286729207b0a2020766172206d696e203d205f2e6d696e4279285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620285f2e686173286e6f64652c202272616e6b222929207b0a2020202020206e6f64652e72616e6b202d3d206d696e3b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f7665456d70747952616e6b73286729207b0a20202f2f2052616e6b73206d6179206e6f7420737461727420617420302c20736f207765206e65656420746f206f6666736574207468656d0a2020766172206f6666736574203d205f2e6d696e4279285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29293b0a0a2020766172206c6179657273203d205b5d3b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722072616e6b203d20672e6e6f64652876292e72616e6b202d206f66667365743b0a2020202069662028216c61796572735b72616e6b5d29207b0a2020202020206c61796572735b72616e6b5d203d205b5d3b0a202020207d0a202020206c61796572735b72616e6b5d2e707573682876293b0a20207d293b0a0a20207661722064656c7461203d20302c0a2020202020206e6f646552616e6b466163746f72203d20672e677261706828292e6e6f646552616e6b466163746f723b0a20205f2e666f7245616368286c61796572732c2066756e6374696f6e2876732c206929207b0a20202020696620285f2e6973556e646566696e65642876732920262620692025206e6f646552616e6b466163746f7220213d3d203029207b0a2020202020202d2d64656c74613b0a202020207d20656c7365206966202864656c746129207b0a2020202020205f2e666f72456163682876732c2066756e6374696f6e287629207b20672e6e6f64652876292e72616e6b202b3d2064656c74613b207d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20616464426f726465724e6f646528672c207072656669782c2072616e6b2c206f7264657229207b0a2020766172206e6f6465203d207b0a2020202077696474683a20302c0a202020206865696768743a20300a20207d3b0a202069662028617267756d656e74732e6c656e677468203e3d203429207b0a202020206e6f64652e72616e6b203d2072616e6b3b0a202020206e6f64652e6f72646572203d206f726465723b0a20207d0a202072657475726e2061646444756d6d794e6f646528672c2022626f72646572222c206e6f64652c20707265666978293b0a7d0a0a66756e6374696f6e206d617852616e6b286729207b0a202072657475726e205f2e6d6178285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722072616e6b203d20672e6e6f64652876292e72616e6b3b0a2020202069662028215f2e6973556e646566696e65642872616e6b2929207b0a20202020202072657475726e2072616e6b3b0a202020207d0a20207d29293b0a7d0a0a2f2a0a202a20506172746974696f6e206120636f6c6c656374696f6e20696e746f2074776f2067726f7570733a20606c68736020616e642060726873602e2049662074686520737570706c6965640a202a2066756e6374696f6e2072657475726e73207472756520666f7220616e20656e74727920697420676f657320696e746f20606c6873602e204f746865727769736520697420676f65730a202a20696e746f20607268732e0a202a2f0a66756e6374696f6e20706172746974696f6e28636f6c6c656374696f6e2c20666e29207b0a202076617220726573756c74203d207b206c68733a205b5d2c207268733a205b5d207d3b0a20205f2e666f724561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c756529207b0a2020202069662028666e2876616c75652929207b0a202020202020726573756c742e6c68732e707573682876616c7565293b0a202020207d20656c7365207b0a202020202020726573756c742e7268732e707573682876616c7565293b0a202020207d0a20207d293b0a202072657475726e20726573756c743b0a7d0a0a2f2a0a202a2052657475726e732061206e65772066756e6374696f6e20746861742077726170732060666e60207769746820612074696d65722e205468652077726170706572206c6f6773207468650a202a2074696d652069742074616b657320746f2065786563757465207468652066756e6374696f6e2e0a202a2f0a66756e6374696f6e2074696d65286e616d652c20666e29207b0a2020766172207374617274203d205f2e6e6f7728293b0a2020747279207b0a2020202072657475726e20666e28293b0a20207d2066696e616c6c79207b0a20202020636f6e736f6c652e6c6f67286e616d65202b20222074696d653a2022202b20285f2e6e6f772829202d20737461727429202b20226d7322293b0a20207d0a7d0a0a66756e6374696f6e206e6f74696d65286e616d652c20666e29207b0a202072657475726e20666e28293b0a7d0a0a7d2c7b222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37397d5d2c39393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2022302e382e31223b0a0a7d2c7b7d5d2c3130303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2a0a202a20436f707972696768742028632920323031342c20436872697320506574746974740a202a20416c6c207269676874732072657365727665642e0a202a0a202a205265646973747269627574696f6e20616e642075736520696e20736f7572636520616e642062696e61727920666f726d732c2077697468206f7220776974686f75740a202a206d6f64696669636174696f6e2c20617265207065726d69747465642070726f766964656420746861742074686520666f6c6c6f77696e6720636f6e646974696f6e7320617265206d65743a0a202a0a202a20312e205265646973747269627574696f6e73206f6620736f7572636520636f6465206d7573742072657461696e207468652061626f766520636f70797269676874206e6f746963652c20746869730a202a206c697374206f6620636f6e646974696f6e7320616e642074686520666f6c6c6f77696e6720646973636c61696d65722e0a202a0a202a20322e205265646973747269627574696f6e7320696e2062696e61727920666f726d206d75737420726570726f64756365207468652061626f766520636f70797269676874206e6f746963652c0a202a2074686973206c697374206f6620636f6e646974696f6e7320616e642074686520666f6c6c6f77696e6720646973636c61696d657220696e2074686520646f63756d656e746174696f6e0a202a20616e642f6f72206f74686572206d6174657269616c732070726f766964656420776974682074686520646973747269627574696f6e2e0a202a0a202a20332e204e65697468657220746865206e616d65206f662074686520636f7079726967687420686f6c646572206e6f7220746865206e616d6573206f662069747320636f6e7472696275746f72730a202a206d6179206265207573656420746f20656e646f727365206f722070726f6d6f74652070726f647563747320646572697665642066726f6d207468697320736f66747761726520776974686f75740a202a207370656369666963207072696f72207772697474656e207065726d697373696f6e2e0a202a0a202a205448495320534f4654574152452049532050524f56494445442042592054484520434f5059524947485420484f4c4445525320414e4420434f4e5452494255544f5253202241532049532220414e440a202a20414e592045585052455353204f5220494d504c4945442057415252414e544945532c20494e434c5544494e472c20425554204e4f54204c494d4954454420544f2c2054484520494d504c4945440a202a2057415252414e54494553204f46204d45524348414e544142494c49545920414e44204649544e45535320464f52204120504152544943554c415220505552504f5345204152450a202a20444953434c41494d45442e20494e204e4f204556454e54205348414c4c2054484520434f5059524947485420484f4c444552204f5220434f4e5452494255544f5253204245204c4941424c450a202a20464f5220414e59204449524543542c20494e4449524543542c20494e434944454e54414c2c205350454349414c2c204558454d504c4152592c204f5220434f4e53455155454e5449414c0a202a2044414d414745532028494e434c5544494e472c20425554204e4f54204c494d4954454420544f2c2050524f435552454d454e54204f46205355425354495455544520474f4f4453204f520a202a2053455256494345533b204c4f5353204f46205553452c20444154412c204f522050524f464954533b204f5220425553494e45535320494e54455252555054494f4e2920484f57455645520a202a2043415553454420414e44204f4e20414e59205448454f5259204f46204c494142494c4954592c205748455448455220494e20434f4e54524143542c20535452494354204c494142494c4954592c0a202a204f5220544f52542028494e434c5544494e47204e45474c4947454e4345204f52204f5448455257495345292041524953494e4720494e20414e5920574159204f5554204f4620544845205553450a202a204f46205448495320534f4654574152452c204556454e2049462041445649534544204f462054484520504f53534942494c495459204f4620535543482044414d4147452e0a202a2f0a0a766172206c6962203d207265717569726528222e2f6c696222293b0a0a6d6f64756c652e6578706f727473203d207b0a202047726170683a206c69622e47726170682c0a20206a736f6e3a207265717569726528222e2f6c69622f6a736f6e22292c0a2020616c673a207265717569726528222e2f6c69622f616c6722292c0a202076657273696f6e3a206c69622e76657273696f6e0a7d3b0a0a7d2c7b222e2f6c6962223a3131362c222e2f6c69622f616c67223a3130372c222e2f6c69622f6a736f6e223a3131377d5d2c3130313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20636f6d706f6e656e74733b0a0a66756e6374696f6e20636f6d706f6e656e7473286729207b0a20207661722076697369746564203d207b7d2c0a202020202020636d707473203d205b5d2c0a202020202020636d70743b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c207629292072657475726e3b0a20202020766973697465645b765d203d20747275653b0a20202020636d70742e707573682876293b0a202020205f2e6561636828672e737563636573736f72732876292c20646673293b0a202020205f2e6561636828672e7072656465636573736f72732876292c20646673293b0a20207d0a0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020636d7074203d205b5d3b0a202020206466732876293b0a2020202069662028636d70742e6c656e67746829207b0a202020202020636d7074732e7075736828636d7074293b0a202020207d0a20207d293b0a0a202072657475726e20636d7074733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206466733b0a0a2f2a0a202a20412068656c706572207468617420707265666f726d732061207072652d206f7220706f73742d6f726465722074726176657273616c206f6e2074686520696e7075742067726170680a202a20616e642072657475726e7320746865206e6f64657320696e20746865206f726465722074686579207765726520766973697465642e204966207468652067726170682069730a202a20756e6469726563746564207468656e207468697320616c676f726974686d2077696c6c206e61766967617465207573696e67206e65696768626f72732e204966207468652067726170680a202a206973206469726563746564207468656e207468697320616c676f726974686d2077696c6c206e61766967617465207573696e6720737563636573736f72732e0a202a0a202a204f72646572206d757374206265206f6e65206f66202270726522206f722022706f7374222e0a202a2f0a66756e6374696f6e2064667328672c2076732c206f7264657229207b0a202069662028215f2e697341727261792876732929207b0a202020207673203d205b76735d3b0a20207d0a0a2020766172206e617669676174696f6e203d2028672e697344697265637465642829203f20672e737563636573736f7273203a20672e6e65696768626f7273292e62696e642867293b0a0a202076617220616363203d205b5d2c0a20202020202076697369746564203d207b7d3b0a20205f2e656163682876732c2066756e6374696f6e287629207b0a202020206966202821672e6861734e6f646528762929207b0a2020202020207468726f77206e6577204572726f722822477261706820646f6573206e6f742068617665206e6f64653a2022202b2076293b0a202020207d0a0a20202020646f44667328672c20762c206f72646572203d3d3d2022706f7374222c20766973697465642c206e617669676174696f6e2c20616363293b0a20207d293b0a202072657475726e206163633b0a7d0a0a66756e6374696f6e20646f44667328672c20762c20706f73746f726465722c20766973697465642c206e617669676174696f6e2c2061636329207b0a202069662028215f2e68617328766973697465642c20762929207b0a20202020766973697465645b765d203d20747275653b0a0a202020206966202821706f73746f7264657229207b206163632e707573682876293b207d0a202020205f2e65616368286e617669676174696f6e2876292c2066756e6374696f6e287729207b0a202020202020646f44667328672c20772c20706f73746f726465722c20766973697465642c206e617669676174696f6e2c20616363293b0a202020207d293b0a2020202069662028706f73746f7264657229207b206163632e707573682876293b207d0a20207d0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a7661722064696a6b73747261203d207265717569726528222e2f64696a6b7374726122292c0a202020205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2064696a6b73747261416c6c3b0a0a66756e6374696f6e2064696a6b73747261416c6c28672c2077656967687446756e632c206564676546756e6329207b0a202072657475726e205f2e7472616e73666f726d28672e6e6f64657328292c2066756e6374696f6e286163632c207629207b0a202020206163635b765d203d2064696a6b7374726128672c20762c2077656967687446756e632c206564676546756e63293b0a20207d2c207b7d293b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131382c222e2f64696a6b73747261223a3130347d5d2c3130343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020205072696f726974795175657565203d207265717569726528222e2e2f646174612f7072696f726974792d717565756522293b0a0a6d6f64756c652e6578706f727473203d2064696a6b737472613b0a0a7661722044454641554c545f5745494748545f46554e43203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e2064696a6b7374726128672c20736f757263652c20776569676874466e2c2065646765466e29207b0a202072657475726e2072756e44696a6b7374726128672c20537472696e6728736f75726365292c0a202020202020202020202020202020202020202020776569676874466e207c7c2044454641554c545f5745494748545f46554e432c0a20202020202020202020202020202020202020202065646765466e207c7c2066756e6374696f6e287629207b2072657475726e20672e6f757445646765732876293b207d293b0a7d0a0a66756e6374696f6e2072756e44696a6b7374726128672c20736f757263652c20776569676874466e2c2065646765466e29207b0a202076617220726573756c7473203d207b7d2c0a2020202020207071203d206e6577205072696f72697479517565756528292c0a202020202020762c2076456e7472793b0a0a2020766172207570646174654e65696768626f7273203d2066756e6374696f6e286564676529207b0a202020207661722077203d20656467652e7620213d3d2076203f20656467652e76203a20656467652e772c0a202020202020202077456e747279203d20726573756c74735b775d2c0a2020202020202020776569676874203d20776569676874466e2865646765292c0a202020202020202064697374616e6365203d2076456e7472792e64697374616e6365202b207765696768743b0a0a2020202069662028776569676874203c203029207b0a2020202020207468726f77206e6577204572726f72282264696a6b7374726120646f6573206e6f7420616c6c6f77206e65676174697665206564676520776569676874732e2022202b0a202020202020202020202020202020202020202020202242616420656467653a2022202b2065646765202b2022205765696768743a2022202b20776569676874293b0a202020207d0a0a202020206966202864697374616e6365203c2077456e7472792e64697374616e636529207b0a20202020202077456e7472792e64697374616e6365203d2064697374616e63653b0a20202020202077456e7472792e7072656465636573736f72203d20763b0a20202020202070712e646563726561736528772c2064697374616e6365293b0a202020207d0a20207d3b0a0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a202020207661722064697374616e6365203d2076203d3d3d20736f75726365203f2030203a204e756d6265722e504f5349544956455f494e46494e4954593b0a20202020726573756c74735b765d203d207b2064697374616e63653a2064697374616e6365207d3b0a2020202070712e61646428762c2064697374616e6365293b0a20207d293b0a0a20207768696c65202870712e73697a652829203e203029207b0a2020202076203d2070712e72656d6f76654d696e28293b0a2020202076456e747279203d20726573756c74735b765d3b0a202020206966202876456e7472792e64697374616e6365203d3d3d204e756d6265722e504f5349544956455f494e46494e49545929207b0a202020202020627265616b3b0a202020207d0a0a2020202065646765466e2876292e666f7245616368287570646174654e65696768626f7273293b0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f646174612f7072696f726974792d7175657565223a3131342c222e2e2f6c6f64617368223a3131387d5d2c3130353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207461726a616e203d207265717569726528222e2f7461726a616e22293b0a0a6d6f64756c652e6578706f727473203d2066696e644379636c65733b0a0a66756e6374696f6e2066696e644379636c6573286729207b0a202072657475726e205f2e66696c746572287461726a616e2867292c2066756e6374696f6e28636d707429207b0a2020202072657475726e20636d70742e6c656e677468203e2031207c7c2028636d70742e6c656e677468203d3d3d203120262620672e6861734564676528636d70745b305d2c20636d70745b305d29293b0a20207d293b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131382c222e2f7461726a616e223a3131327d5d2c3130363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20666c6f79645761727368616c6c3b0a0a7661722044454641554c545f5745494748545f46554e43203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e20666c6f79645761727368616c6c28672c20776569676874466e2c2065646765466e29207b0a202072657475726e2072756e466c6f79645761727368616c6c28672c0a2020202020202020202020202020202020202020202020202020776569676874466e207c7c2044454641554c545f5745494748545f46554e432c0a202020202020202020202020202020202020202020202020202065646765466e207c7c2066756e6374696f6e287629207b2072657475726e20672e6f757445646765732876293b207d293b0a7d0a0a66756e6374696f6e2072756e466c6f79645761727368616c6c28672c20776569676874466e2c2065646765466e29207b0a202076617220726573756c7473203d207b7d2c0a2020202020206e6f646573203d20672e6e6f64657328293b0a0a20206e6f6465732e666f72456163682866756e6374696f6e287629207b0a20202020726573756c74735b765d203d207b7d3b0a20202020726573756c74735b765d5b765d203d207b2064697374616e63653a2030207d3b0a202020206e6f6465732e666f72456163682866756e6374696f6e287729207b0a202020202020696620287620213d3d207729207b0a2020202020202020726573756c74735b765d5b775d203d207b2064697374616e63653a204e756d6265722e504f5349544956455f494e46494e495459207d3b0a2020202020207d0a202020207d293b0a2020202065646765466e2876292e666f72456163682866756e6374696f6e286564676529207b0a2020202020207661722077203d20656467652e76203d3d3d2076203f20656467652e77203a20656467652e762c0a2020202020202020202064203d20776569676874466e2865646765293b0a202020202020726573756c74735b765d5b775d203d207b2064697374616e63653a20642c207072656465636573736f723a2076207d3b0a202020207d293b0a20207d293b0a0a20206e6f6465732e666f72456163682866756e6374696f6e286b29207b0a2020202076617220726f774b203d20726573756c74735b6b5d3b0a202020206e6f6465732e666f72456163682866756e6374696f6e286929207b0a20202020202076617220726f7749203d20726573756c74735b695d3b0a2020202020206e6f6465732e666f72456163682866756e6374696f6e286a29207b0a202020202020202076617220696b203d20726f77495b6b5d3b0a2020202020202020766172206b6a203d20726f774b5b6a5d3b0a202020202020202076617220696a203d20726f77495b6a5d3b0a202020202020202076617220616c7444697374616e6365203d20696b2e64697374616e6365202b206b6a2e64697374616e63653b0a202020202020202069662028616c7444697374616e6365203c20696a2e64697374616e636529207b0a20202020202020202020696a2e64697374616e6365203d20616c7444697374616e63653b0a20202020202020202020696a2e7072656465636573736f72203d206b6a2e7072656465636573736f723b0a20202020202020207d0a2020202020207d293b0a202020207d293b0a20207d293b0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a2020636f6d706f6e656e74733a207265717569726528222e2f636f6d706f6e656e747322292c0a202064696a6b737472613a207265717569726528222e2f64696a6b7374726122292c0a202064696a6b73747261416c6c3a207265717569726528222e2f64696a6b737472612d616c6c22292c0a202066696e644379636c65733a207265717569726528222e2f66696e642d6379636c657322292c0a2020666c6f79645761727368616c6c3a207265717569726528222e2f666c6f79642d7761727368616c6c22292c0a20206973416379636c69633a207265717569726528222e2f69732d616379636c696322292c0a2020706f73746f726465723a207265717569726528222e2f706f73746f7264657222292c0a20207072656f726465723a207265717569726528222e2f7072656f7264657222292c0a20207072696d3a207265717569726528222e2f7072696d22292c0a20207461726a616e3a207265717569726528222e2f7461726a616e22292c0a2020746f70736f72743a207265717569726528222e2f746f70736f727422290a7d3b0a0a7d2c7b222e2f636f6d706f6e656e7473223a3130312c222e2f64696a6b73747261223a3130342c222e2f64696a6b737472612d616c6c223a3130332c222e2f66696e642d6379636c6573223a3130352c222e2f666c6f79642d7761727368616c6c223a3130362c222e2f69732d616379636c6963223a3130382c222e2f706f73746f72646572223a3130392c222e2f7072656f72646572223a3131302c222e2f7072696d223a3131312c222e2f7461726a616e223a3131322c222e2f746f70736f7274223a3131337d5d2c3130383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220746f70736f7274203d207265717569726528222e2f746f70736f727422293b0a0a6d6f64756c652e6578706f727473203d206973416379636c69633b0a0a66756e6374696f6e206973416379636c6963286729207b0a2020747279207b0a20202020746f70736f72742867293b0a20207d20636174636820286529207b0a20202020696620286520696e7374616e63656f6620746f70736f72742e4379636c65457863657074696f6e29207b0a20202020202072657475726e2066616c73653b0a202020207d0a202020207468726f7720653b0a20207d0a202072657475726e20747275653b0a7d0a0a7d2c7b222e2f746f70736f7274223a3131337d5d2c3130393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220646673203d207265717569726528222e2f64667322293b0a0a6d6f64756c652e6578706f727473203d20706f73746f726465723b0a0a66756e6374696f6e20706f73746f7264657228672c20767329207b0a202072657475726e2064667328672c2076732c2022706f737422293b0a7d0a0a7d2c7b222e2f646673223a3130327d5d2c3131303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220646673203d207265717569726528222e2f64667322293b0a0a6d6f64756c652e6578706f727473203d207072656f726465723b0a0a66756e6374696f6e207072656f7264657228672c20767329207b0a202072657475726e2064667328672c2076732c202270726522293b0a7d0a0a7d2c7b222e2f646673223a3130327d5d2c3131313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f677261706822292c0a202020205072696f726974795175657565203d207265717569726528222e2e2f646174612f7072696f726974792d717565756522293b0a0a6d6f64756c652e6578706f727473203d207072696d3b0a0a66756e6374696f6e207072696d28672c2077656967687446756e6329207b0a202076617220726573756c74203d206e657720477261706828292c0a202020202020706172656e7473203d207b7d2c0a2020202020207071203d206e6577205072696f72697479517565756528292c0a202020202020763b0a0a202066756e6374696f6e207570646174654e65696768626f7273286564676529207b0a202020207661722077203d20656467652e76203d3d3d2076203f20656467652e77203a20656467652e762c0a2020202020202020707269203d2070712e7072696f726974792877293b0a202020206966202870726920213d3d20756e646566696e656429207b0a2020202020207661722065646765576569676874203d2077656967687446756e632865646765293b0a2020202020206966202865646765576569676874203c2070726929207b0a2020202020202020706172656e74735b775d203d20763b0a202020202020202070712e646563726561736528772c2065646765576569676874293b0a2020202020207d0a202020207d0a20207d0a0a202069662028672e6e6f6465436f756e742829203d3d3d203029207b0a2020202072657475726e20726573756c743b0a20207d0a0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202070712e61646428762c204e756d6265722e504f5349544956455f494e46494e495459293b0a20202020726573756c742e7365744e6f64652876293b0a20207d293b0a0a20202f2f2053746172742066726f6d20616e20617262697472617279206e6f64650a202070712e646563726561736528672e6e6f64657328295b305d2c2030293b0a0a202076617220696e6974203d2066616c73653b0a20207768696c65202870712e73697a652829203e203029207b0a2020202076203d2070712e72656d6f76654d696e28293b0a20202020696620285f2e68617328706172656e74732c20762929207b0a202020202020726573756c742e7365744564676528762c20706172656e74735b765d293b0a202020207d20656c73652069662028696e697429207b0a2020202020207468726f77206e6577204572726f722822496e707574206772617068206973206e6f7420636f6e6e65637465643a2022202b2067293b0a202020207d20656c7365207b0a202020202020696e6974203d20747275653b0a202020207d0a0a20202020672e6e6f646545646765732876292e666f7245616368287570646174654e65696768626f7273293b0a20207d0a0a202072657475726e20726573756c743b0a7d0a0a7d2c7b222e2e2f646174612f7072696f726974792d7175657565223a3131342c222e2e2f6772617068223a3131352c222e2e2f6c6f64617368223a3131387d5d2c3131323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207461726a616e3b0a0a66756e6374696f6e207461726a616e286729207b0a202076617220696e646578203d20302c0a202020202020737461636b203d205b5d2c0a20202020202076697369746564203d207b7d2c202f2f206e6f6465206964202d3e207b206f6e537461636b2c206c6f776c696e6b2c20696e646578207d0a202020202020726573756c7473203d205b5d3b0a0a202066756e6374696f6e20646673287629207b0a2020202076617220656e747279203d20766973697465645b765d203d207b0a2020202020206f6e537461636b3a20747275652c0a2020202020206c6f776c696e6b3a20696e6465782c0a202020202020696e6465783a20696e6465782b2b0a202020207d3b0a20202020737461636b2e707573682876293b0a0a20202020672e737563636573736f72732876292e666f72456163682866756e6374696f6e287729207b0a20202020202069662028215f2e68617328766973697465642c20772929207b0a20202020202020206466732877293b0a2020202020202020656e7472792e6c6f776c696e6b203d204d6174682e6d696e28656e7472792e6c6f776c696e6b2c20766973697465645b775d2e6c6f776c696e6b293b0a2020202020207d20656c73652069662028766973697465645b775d2e6f6e537461636b29207b0a2020202020202020656e7472792e6c6f776c696e6b203d204d6174682e6d696e28656e7472792e6c6f776c696e6b2c20766973697465645b775d2e696e646578293b0a2020202020207d0a202020207d293b0a0a2020202069662028656e7472792e6c6f776c696e6b203d3d3d20656e7472792e696e64657829207b0a20202020202076617220636d7074203d205b5d2c0a20202020202020202020773b0a202020202020646f207b0a202020202020202077203d20737461636b2e706f7028293b0a2020202020202020766973697465645b775d2e6f6e537461636b203d2066616c73653b0a2020202020202020636d70742e707573682877293b0a2020202020207d207768696c6520287620213d3d2077293b0a202020202020726573756c74732e7075736828636d7074293b0a202020207d0a20207d0a0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a2020202069662028215f2e68617328766973697465642c20762929207b0a2020202020206466732876293b0a202020207d0a20207d293b0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20746f70736f72743b0a746f70736f72742e4379636c65457863657074696f6e203d204379636c65457863657074696f6e3b0a0a66756e6374696f6e20746f70736f7274286729207b0a20207661722076697369746564203d207b7d2c0a202020202020737461636b203d207b7d2c0a202020202020726573756c7473203d205b5d3b0a0a202066756e6374696f6e207669736974286e6f646529207b0a20202020696620285f2e68617328737461636b2c206e6f64652929207b0a2020202020207468726f77206e6577204379636c65457863657074696f6e28293b0a202020207d0a0a2020202069662028215f2e68617328766973697465642c206e6f64652929207b0a202020202020737461636b5b6e6f64655d203d20747275653b0a202020202020766973697465645b6e6f64655d203d20747275653b0a2020202020205f2e6561636828672e7072656465636573736f7273286e6f6465292c207669736974293b0a20202020202064656c65746520737461636b5b6e6f64655d3b0a202020202020726573756c74732e70757368286e6f6465293b0a202020207d0a20207d0a0a20205f2e6561636828672e73696e6b7328292c207669736974293b0a0a2020696620285f2e73697a6528766973697465642920213d3d20672e6e6f6465436f756e74282929207b0a202020207468726f77206e6577204379636c65457863657074696f6e28293b0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e204379636c65457863657074696f6e2829207b7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d205072696f7269747951756575653b0a0a2f2a2a0a202a2041206d696e2d7072696f726974792071756575652064617461207374727563747572652e205468697320616c676f726974686d20697320646572697665642066726f6d20436f726d656e2c0a202a20657420616c2e2c2022496e74726f64756374696f6e20746f20416c676f726974686d73222e205468652062617369632069646561206f662061206d696e2d7072696f726974790a202a207175657565206973207468617420796f752063616e20656666696369656e746c792028696e204f2831292074696d6529206765742074686520736d616c6c657374206b657920696e0a202a207468652071756575652e20416464696e6720616e642072656d6f76696e6720656c656d656e74732074616b6573204f286c6f67206e292074696d652e2041206b65792063616e0a202a206861766520697473207072696f726974792064656372656173656420696e204f286c6f67206e292074696d652e0a202a2f0a66756e6374696f6e205072696f7269747951756575652829207b0a2020746869732e5f617272203d205b5d3b0a2020746869732e5f6b6579496e6469636573203d207b7d3b0a7d0a0a2f2a2a0a202a2052657475726e7320746865206e756d626572206f6620656c656d656e747320696e207468652071756575652e2054616b657320604f283129602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e73697a65203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6172722e6c656e6774683b0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865206b65797320746861742061726520696e207468652071756575652e2054616b657320604f286e29602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e6b657973203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6172722e6d61702866756e6374696f6e287829207b2072657475726e20782e6b65793b207d293b0a7d3b0a0a2f2a2a0a202a2052657475726e7320607472756560206966202a2a6b65792a2a20697320696e2074686520717565756520616e64206066616c736560206966206e6f742e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e686173203d2066756e6374696f6e286b657929207b0a202072657475726e205f2e68617328746869732e5f6b6579496e64696365732c206b6579293b0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865207072696f7269747920666f72202a2a6b65792a2a2e204966202a2a6b65792a2a206973206e6f742070726573656e7420696e207468652071756575650a202a207468656e20746869732066756e6374696f6e2072657475726e732060756e646566696e6564602e2054616b657320604f283129602074696d652e0a202a0a202a2040706172616d207b4f626a6563747d206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e7072696f72697479203d2066756e6374696f6e286b657929207b0a202076617220696e646578203d20746869732e5f6b6579496e64696365735b6b65795d3b0a202069662028696e64657820213d3d20756e646566696e656429207b0a2020202072657475726e20746869732e5f6172725b696e6465785d2e7072696f726974793b0a20207d0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865206b657920666f7220746865206d696e696d756d20656c656d656e7420696e20746869732071756575652e204966207468652071756575652069730a202a20656d70747920746869732066756e6374696f6e207468726f777320616e204572726f722e2054616b657320604f283129602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e6d696e203d2066756e6374696f6e2829207b0a202069662028746869732e73697a652829203d3d3d203029207b0a202020207468726f77206e6577204572726f722822517565756520756e646572666c6f7722293b0a20207d0a202072657475726e20746869732e5f6172725b305d2e6b65793b0a7d3b0a0a2f2a2a0a202a20496e73657274732061206e6577206b657920696e746f20746865207072696f726974792071756575652e20496620746865206b657920616c72656164792065786973747320696e0a202a2074686520717565756520746869732066756e6374696f6e2072657475726e73206066616c7365603b206f74686572776973652069742077696c6c2072657475726e206074727565602e0a202a2054616b657320604f286e29602074696d652e0a202a0a202a2040706172616d207b4f626a6563747d206b657920746865206b657920746f206164640a202a2040706172616d207b4e756d6265727d207072696f726974792074686520696e697469616c207072696f7269747920666f7220746865206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e616464203d2066756e6374696f6e286b65792c207072696f7269747929207b0a2020766172206b6579496e6469636573203d20746869732e5f6b6579496e64696365733b0a20206b6579203d20537472696e67286b6579293b0a202069662028215f2e686173286b6579496e64696365732c206b65792929207b0a2020202076617220617272203d20746869732e5f6172723b0a2020202076617220696e646578203d206172722e6c656e6774683b0a202020206b6579496e64696365735b6b65795d203d20696e6465783b0a202020206172722e70757368287b6b65793a206b65792c207072696f726974793a207072696f726974797d293b0a20202020746869732e5f646563726561736528696e646578293b0a2020202072657475726e20747275653b0a20207d0a202072657475726e2066616c73653b0a7d3b0a0a2f2a2a0a202a2052656d6f76657320616e642072657475726e732074686520736d616c6c657374206b657920696e207468652071756575652e2054616b657320604f286c6f67206e29602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e72656d6f76654d696e203d2066756e6374696f6e2829207b0a2020746869732e5f7377617028302c20746869732e5f6172722e6c656e677468202d2031293b0a2020766172206d696e203d20746869732e5f6172722e706f7028293b0a202064656c65746520746869732e5f6b6579496e64696365735b6d696e2e6b65795d3b0a2020746869732e5f686561706966792830293b0a202072657475726e206d696e2e6b65793b0a7d3b0a0a2f2a2a0a202a2044656372656173657320746865207072696f7269747920666f72202a2a6b65792a2a20746f202a2a7072696f726974792a2a2e20496620746865206e6577207072696f726974792069730a202a2067726561746572207468616e207468652070726576696f7573207072696f726974792c20746869732066756e6374696f6e2077696c6c207468726f7720616e204572726f722e0a202a0a202a2040706172616d207b4f626a6563747d206b657920746865206b657920666f7220776869636820746f207261697365207072696f726974790a202a2040706172616d207b4e756d6265727d207072696f7269747920746865206e6577207072696f7269747920666f7220746865206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e6465637265617365203d2066756e6374696f6e286b65792c207072696f7269747929207b0a202076617220696e646578203d20746869732e5f6b6579496e64696365735b6b65795d3b0a2020696620287072696f72697479203e20746869732e5f6172725b696e6465785d2e7072696f7269747929207b0a202020207468726f77206e6577204572726f7228224e6577207072696f726974792069732067726561746572207468616e2063757272656e74207072696f726974792e2022202b0a2020202020202020224b65793a2022202b206b6579202b2022204f6c643a2022202b20746869732e5f6172725b696e6465785d2e7072696f72697479202b2022204e65773a2022202b207072696f72697479293b0a20207d0a2020746869732e5f6172725b696e6465785d2e7072696f72697479203d207072696f726974793b0a2020746869732e5f646563726561736528696e646578293b0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f68656170696679203d2066756e6374696f6e286929207b0a202076617220617272203d20746869732e5f6172723b0a2020766172206c203d2032202a20692c0a20202020202072203d206c202b20312c0a2020202020206c617267657374203d20693b0a2020696620286c203c206172722e6c656e67746829207b0a202020206c617267657374203d206172725b6c5d2e7072696f72697479203c206172725b6c6172676573745d2e7072696f72697479203f206c203a206c6172676573743b0a202020206966202872203c206172722e6c656e67746829207b0a2020202020206c617267657374203d206172725b725d2e7072696f72697479203c206172725b6c6172676573745d2e7072696f72697479203f2072203a206c6172676573743b0a202020207d0a20202020696620286c61726765737420213d3d206929207b0a202020202020746869732e5f7377617028692c206c617267657374293b0a202020202020746869732e5f68656170696679286c617267657374293b0a202020207d0a20207d0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f6465637265617365203d2066756e6374696f6e28696e64657829207b0a202076617220617272203d20746869732e5f6172723b0a2020766172207072696f72697479203d206172725b696e6465785d2e7072696f726974793b0a202076617220706172656e743b0a20207768696c652028696e64657820213d3d203029207b0a20202020706172656e74203d20696e646578203e3e20313b0a20202020696620286172725b706172656e745d2e7072696f72697479203c207072696f7269747929207b0a202020202020627265616b3b0a202020207d0a20202020746869732e5f7377617028696e6465782c20706172656e74293b0a20202020696e646578203d20706172656e743b0a20207d0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f73776170203d2066756e6374696f6e28692c206a29207b0a202076617220617272203d20746869732e5f6172723b0a2020766172206b6579496e6469636573203d20746869732e5f6b6579496e64696365733b0a2020766172206f72696741727249203d206172725b695d3b0a2020766172206f7269674172724a203d206172725b6a5d3b0a20206172725b695d203d206f7269674172724a3b0a20206172725b6a5d203d206f726967417272493b0a20206b6579496e64696365735b6f7269674172724a2e6b65795d203d20693b0a20206b6579496e64696365735b6f726967417272492e6b65795d203d206a3b0a7d3b0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2047726170683b0a0a7661722044454641554c545f454447455f4e414d45203d20225c783030222c0a2020202047524150485f4e4f4445203d20225c783030222c0a20202020454447455f4b45595f44454c494d203d20225c783031223b0a0a2f2f20496d706c656d656e746174696f6e206e6f7465733a0a2f2f0a2f2f20202a204e6f64652069642071756572792066756e6374696f6e732073686f756c642072657475726e20737472696e672069647320666f7220746865206e6f6465730a2f2f20202a20456467652069642071756572792066756e6374696f6e732073686f756c642072657475726e20616e2022656467654f626a222c2065646765206f626a6563742c20746861742069730a2f2f20202020636f6d706f736564206f6620656e6f75676820696e666f726d6174696f6e20746f20756e697175656c79206964656e7469667920616e20656467653a207b762c20772c206e616d657d2e0a2f2f20202a20496e7465726e616c6c792077652075736520616e2022656467654964222c206120737472696e67696669656420666f726d206f662074686520656467654f626a2c20746f0a2f2f202020207265666572656e63652065646765732e20546869732069732062656361757365207765206e656564206120706572666f726d616e742077617920746f206c6f6f6b2074686573650a2f2f20202020656467657320757020616e642c206f626a6563742070726f706572746965732c207768696368206861766520737472696e67206b6579732c206172652074686520636c6f736573740a2f2f20202020776527726520676f696e6720746f2067657420746f206120706572666f726d616e7420686173687461626c6520696e204a6176615363726970742e0a0a66756e6374696f6e204772617068286f70747329207b0a2020746869732e5f69734469726563746564203d205f2e686173286f7074732c202264697265637465642229203f206f7074732e6469726563746564203a20747275653b0a2020746869732e5f69734d756c74696772617068203d205f2e686173286f7074732c20226d756c746967726170682229203f206f7074732e6d756c74696772617068203a2066616c73653b0a2020746869732e5f6973436f6d706f756e64203d205f2e686173286f7074732c2022636f6d706f756e642229203f206f7074732e636f6d706f756e64203a2066616c73653b0a0a20202f2f204c6162656c20666f722074686520677261706820697473656c660a2020746869732e5f6c6162656c203d20756e646566696e65643b0a0a20202f2f2044656661756c747320746f20626520736574207768656e206372656174696e672061206e6577206e6f64650a2020746869732e5f64656661756c744e6f64654c6162656c466e203d205f2e636f6e7374616e7428756e646566696e6564293b0a0a20202f2f2044656661756c747320746f20626520736574207768656e206372656174696e672061206e657720656467650a2020746869732e5f64656661756c74456467654c6162656c466e203d205f2e636f6e7374616e7428756e646566696e6564293b0a0a20202f2f2076202d3e206c6162656c0a2020746869732e5f6e6f646573203d207b7d3b0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a202020202f2f2076202d3e20706172656e740a20202020746869732e5f706172656e74203d207b7d3b0a0a202020202f2f2076202d3e206368696c6472656e0a20202020746869732e5f6368696c6472656e203d207b7d3b0a20202020746869732e5f6368696c6472656e5b47524150485f4e4f44455d203d207b7d3b0a20207d0a0a20202f2f2076202d3e20656467654f626a0a2020746869732e5f696e203d207b7d3b0a0a20202f2f2075202d3e2076202d3e204e756d6265720a2020746869732e5f7072656473203d207b7d3b0a0a20202f2f2076202d3e20656467654f626a0a2020746869732e5f6f7574203d207b7d3b0a0a20202f2f2076202d3e2077202d3e204e756d6265720a2020746869732e5f73756373203d207b7d3b0a0a20202f2f2065202d3e20656467654f626a0a2020746869732e5f656467654f626a73203d207b7d3b0a0a20202f2f2065202d3e206c6162656c0a2020746869732e5f656467654c6162656c73203d207b7d3b0a7d0a0a2f2a204e756d626572206f66206e6f64657320696e207468652067726170682e2053686f756c64206f6e6c79206265206368616e6765642062792074686520696d706c656d656e746174696f6e2e202a2f0a47726170682e70726f746f747970652e5f6e6f6465436f756e74203d20303b0a0a2f2a204e756d626572206f6620656467657320696e207468652067726170682e2053686f756c64206f6e6c79206265206368616e6765642062792074686520696d706c656d656e746174696f6e2e202a2f0a47726170682e70726f746f747970652e5f65646765436f756e74203d20303b0a0a0a2f2a203d3d3d2047726170682066756e6374696f6e73203d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e69734469726563746564203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f697344697265637465643b0a7d3b0a0a47726170682e70726f746f747970652e69734d756c74696772617068203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f69734d756c746967726170683b0a7d3b0a0a47726170682e70726f746f747970652e6973436f6d706f756e64203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6973436f6d706f756e643b0a7d3b0a0a47726170682e70726f746f747970652e7365744772617068203d2066756e6374696f6e286c6162656c29207b0a2020746869732e5f6c6162656c203d206c6162656c3b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6772617068203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6c6162656c3b0a7d3b0a0a0a2f2a203d3d3d204e6f64652066756e6374696f6e73203d3d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e73657444656661756c744e6f64654c6162656c203d2066756e6374696f6e286e657744656661756c7429207b0a202069662028215f2e697346756e6374696f6e286e657744656661756c742929207b0a202020206e657744656661756c74203d205f2e636f6e7374616e74286e657744656661756c74293b0a20207d0a2020746869732e5f64656661756c744e6f64654c6162656c466e203d206e657744656661756c743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6e6f6465436f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6e6f6465436f756e743b0a7d3b0a0a47726170682e70726f746f747970652e6e6f646573203d2066756e6374696f6e2829207b0a202072657475726e205f2e6b65797328746869732e5f6e6f646573293b0a7d3b0a0a47726170682e70726f746f747970652e736f7572636573203d2066756e6374696f6e2829207b0a20207661722073656c66203d20746869733b0a202072657475726e205f2e66696c74657228746869732e6e6f64657328292c2066756e6374696f6e287629207b0a2020202072657475726e205f2e6973456d7074792873656c662e5f696e5b765d293b0a20207d293b0a7d3b0a0a47726170682e70726f746f747970652e73696e6b73203d2066756e6374696f6e2829207b0a20207661722073656c66203d20746869733b0a202072657475726e205f2e66696c74657228746869732e6e6f64657328292c2066756e6374696f6e287629207b0a2020202072657475726e205f2e6973456d7074792873656c662e5f6f75745b765d293b0a20207d293b0a7d3b0a0a47726170682e70726f746f747970652e7365744e6f646573203d2066756e6374696f6e2876732c2076616c756529207b0a20207661722061726773203d20617267756d656e74733b0a20207661722073656c66203d20746869733b0a20205f2e656163682876732c2066756e6374696f6e287629207b0a2020202069662028617267732e6c656e677468203e203129207b0a20202020202073656c662e7365744e6f646528762c2076616c7565293b0a202020207d20656c7365207b0a20202020202073656c662e7365744e6f64652876293b0a202020207d0a20207d293b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e7365744e6f6465203d2066756e6374696f6e28762c2076616c756529207b0a2020696620285f2e68617328746869732e5f6e6f6465732c20762929207b0a2020202069662028617267756d656e74732e6c656e677468203e203129207b0a202020202020746869732e5f6e6f6465735b765d203d2076616c75653b0a202020207d0a2020202072657475726e20746869733b0a20207d0a0a2020746869732e5f6e6f6465735b765d203d20617267756d656e74732e6c656e677468203e2031203f2076616c7565203a20746869732e5f64656661756c744e6f64654c6162656c466e2876293b0a202069662028746869732e5f6973436f6d706f756e6429207b0a20202020746869732e5f706172656e745b765d203d2047524150485f4e4f44453b0a20202020746869732e5f6368696c6472656e5b765d203d207b7d3b0a20202020746869732e5f6368696c6472656e5b47524150485f4e4f44455d5b765d203d20747275653b0a20207d0a2020746869732e5f696e5b765d203d207b7d3b0a2020746869732e5f70726564735b765d203d207b7d3b0a2020746869732e5f6f75745b765d203d207b7d3b0a2020746869732e5f737563735b765d203d207b7d3b0a20202b2b746869732e5f6e6f6465436f756e743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6e6f6465203d2066756e6374696f6e287629207b0a202072657475726e20746869732e5f6e6f6465735b765d3b0a7d3b0a0a47726170682e70726f746f747970652e6861734e6f6465203d2066756e6374696f6e287629207b0a202072657475726e205f2e68617328746869732e5f6e6f6465732c2076293b0a7d3b0a0a47726170682e70726f746f747970652e72656d6f76654e6f6465203d202066756e6374696f6e287629207b0a20207661722073656c66203d20746869733b0a2020696620285f2e68617328746869732e5f6e6f6465732c20762929207b0a202020207661722072656d6f766545646765203d2066756e6374696f6e286529207b2073656c662e72656d6f7665456467652873656c662e5f656467654f626a735b655d293b207d3b0a2020202064656c65746520746869732e5f6e6f6465735b765d3b0a2020202069662028746869732e5f6973436f6d706f756e6429207b0a202020202020746869732e5f72656d6f766546726f6d506172656e74734368696c644c6973742876293b0a20202020202064656c65746520746869732e5f706172656e745b765d3b0a2020202020205f2e6561636828746869732e6368696c6472656e2876292c2066756e6374696f6e286368696c6429207b0a202020202020202073656c662e736574506172656e74286368696c64293b0a2020202020207d293b0a20202020202064656c65746520746869732e5f6368696c6472656e5b765d3b0a202020207d0a202020205f2e65616368285f2e6b65797328746869732e5f696e5b765d292c2072656d6f766545646765293b0a2020202064656c65746520746869732e5f696e5b765d3b0a2020202064656c65746520746869732e5f70726564735b765d3b0a202020205f2e65616368285f2e6b65797328746869732e5f6f75745b765d292c2072656d6f766545646765293b0a2020202064656c65746520746869732e5f6f75745b765d3b0a2020202064656c65746520746869732e5f737563735b765d3b0a202020202d2d746869732e5f6e6f6465436f756e743b0a20207d0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e736574506172656e74203d2066756e6374696f6e28762c20706172656e7429207b0a20206966202821746869732e5f6973436f6d706f756e6429207b0a202020207468726f77206e6577204572726f72282243616e6e6f742073657420706172656e7420696e2061206e6f6e2d636f6d706f756e6420677261706822293b0a20207d0a0a2020696620285f2e6973556e646566696e656428706172656e742929207b0a20202020706172656e74203d2047524150485f4e4f44453b0a20207d20656c7365207b0a202020202f2f20436f6572636520706172656e7420746f20737472696e670a20202020706172656e74202b3d2022223b0a20202020666f72202876617220616e636573746f72203d20706172656e743b0a202020202020202020215f2e6973556e646566696e656428616e636573746f72293b0a202020202020202020616e636573746f72203d20746869732e706172656e7428616e636573746f722929207b0a20202020202069662028616e636573746f72203d3d3d207629207b0a20202020202020207468726f77206e6577204572726f72282253657474696e672022202b20706172656e742b202220617320706172656e74206f662022202b2076202b0a2020202020202020202020202020202020202020202020202220776f756c64206372656174652061206379636c6522293b0a2020202020207d0a202020207d0a0a20202020746869732e7365744e6f646528706172656e74293b0a20207d0a0a2020746869732e7365744e6f64652876293b0a2020746869732e5f72656d6f766546726f6d506172656e74734368696c644c6973742876293b0a2020746869732e5f706172656e745b765d203d20706172656e743b0a2020746869732e5f6368696c6472656e5b706172656e745d5b765d203d20747275653b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e5f72656d6f766546726f6d506172656e74734368696c644c697374203d2066756e6374696f6e287629207b0a202064656c65746520746869732e5f6368696c6472656e5b746869732e5f706172656e745b765d5d5b765d3b0a7d3b0a0a47726170682e70726f746f747970652e706172656e74203d2066756e6374696f6e287629207b0a202069662028746869732e5f6973436f6d706f756e6429207b0a2020202076617220706172656e74203d20746869732e5f706172656e745b765d3b0a2020202069662028706172656e7420213d3d2047524150485f4e4f444529207b0a20202020202072657475726e20706172656e743b0a202020207d0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6368696c6472656e203d2066756e6374696f6e287629207b0a2020696620285f2e6973556e646566696e656428762929207b0a2020202076203d2047524150485f4e4f44453b0a20207d0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a20202020766172206368696c6472656e203d20746869732e5f6368696c6472656e5b765d3b0a20202020696620286368696c6472656e29207b0a20202020202072657475726e205f2e6b657973286368696c6472656e293b0a202020207d0a20207d20656c7365206966202876203d3d3d2047524150485f4e4f444529207b0a2020202072657475726e20746869732e6e6f64657328293b0a20207d20656c73652069662028746869732e6861734e6f646528762929207b0a2020202072657475726e205b5d3b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e7072656465636573736f7273203d2066756e6374696f6e287629207b0a202076617220707265647356203d20746869732e5f70726564735b765d3b0a20206966202870726564735629207b0a2020202072657475726e205f2e6b65797328707265647356293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e737563636573736f7273203d2066756e6374696f6e287629207b0a2020766172207375637356203d20746869732e5f737563735b765d3b0a202069662028737563735629207b0a2020202072657475726e205f2e6b657973287375637356293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6e65696768626f7273203d2066756e6374696f6e287629207b0a2020766172207072656473203d20746869732e7072656465636573736f72732876293b0a202069662028707265647329207b0a2020202072657475726e205f2e756e696f6e2870726564732c20746869732e737563636573736f7273287629293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e69734c656166203d2066756e6374696f6e20287629207b0a2020766172206e65696768626f72733b0a202069662028746869732e69734469726563746564282929207b0a202020206e65696768626f7273203d20746869732e737563636573736f72732876293b0a20207d20656c7365207b0a202020206e65696768626f7273203d20746869732e6e65696768626f72732876293b0a20207d0a202072657475726e206e65696768626f72732e6c656e677468203d3d3d20303b0a7d3b0a0a47726170682e70726f746f747970652e66696c7465724e6f646573203d2066756e6374696f6e2866696c74657229207b0a202076617220636f7079203d206e657720746869732e636f6e7374727563746f72287b0a2020202064697265637465643a20746869732e5f697344697265637465642c0a202020206d756c746967726170683a20746869732e5f69734d756c746967726170682c0a20202020636f6d706f756e643a20746869732e5f6973436f6d706f756e640a20207d293b0a0a2020636f70792e736574477261706828746869732e67726170682829293b0a0a20207661722073656c66203d20746869733b0a20205f2e6561636828746869732e5f6e6f6465732c2066756e6374696f6e2876616c75652c207629207b0a202020206966202866696c74657228762929207b0a202020202020636f70792e7365744e6f646528762c2076616c7565293b0a202020207d0a20207d293b0a0a20205f2e6561636828746869732e5f656467654f626a732c2066756e6374696f6e286529207b0a2020202069662028636f70792e6861734e6f646528652e762920262620636f70792e6861734e6f646528652e772929207b0a202020202020636f70792e7365744564676528652c2073656c662e65646765286529293b0a202020207d0a20207d293b0a0a202076617220706172656e7473203d207b7d3b0a202066756e6374696f6e2066696e64506172656e74287629207b0a2020202076617220706172656e74203d2073656c662e706172656e742876293b0a2020202069662028706172656e74203d3d3d20756e646566696e6564207c7c20636f70792e6861734e6f646528706172656e742929207b0a202020202020706172656e74735b765d203d20706172656e743b0a20202020202072657475726e20706172656e743b0a202020207d20656c73652069662028706172656e7420696e20706172656e747329207b0a20202020202072657475726e20706172656e74735b706172656e745d3b0a202020207d20656c7365207b0a20202020202072657475726e2066696e64506172656e7428706172656e74293b0a202020207d0a20207d0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a202020205f2e6561636828636f70792e6e6f64657328292c2066756e6374696f6e287629207b0a202020202020636f70792e736574506172656e7428762c2066696e64506172656e74287629293b0a202020207d293b0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a2f2a203d3d3d20456467652066756e6374696f6e73203d3d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e73657444656661756c74456467654c6162656c203d2066756e6374696f6e286e657744656661756c7429207b0a202069662028215f2e697346756e6374696f6e286e657744656661756c742929207b0a202020206e657744656661756c74203d205f2e636f6e7374616e74286e657744656661756c74293b0a20207d0a2020746869732e5f64656661756c74456467654c6162656c466e203d206e657744656661756c743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e65646765436f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f65646765436f756e743b0a7d3b0a0a47726170682e70726f746f747970652e6564676573203d2066756e6374696f6e2829207b0a202072657475726e205f2e76616c75657328746869732e5f656467654f626a73293b0a7d3b0a0a47726170682e70726f746f747970652e73657450617468203d2066756e6374696f6e2876732c2076616c756529207b0a20207661722073656c66203d20746869732c0a20202020202061726773203d20617267756d656e74733b0a20205f2e7265647563652876732c2066756e6374696f6e28762c207729207b0a2020202069662028617267732e6c656e677468203e203129207b0a20202020202073656c662e7365744564676528762c20772c2076616c7565293b0a202020207d20656c7365207b0a20202020202073656c662e7365744564676528762c2077293b0a202020207d0a2020202072657475726e20773b0a20207d293b0a202072657475726e20746869733b0a7d3b0a0a2f2a0a202a207365744564676528762c20772c205b76616c75652c205b6e616d655d5d290a202a2073657445646765287b20762c20772c205b6e616d655d207d2c205b76616c75655d290a202a2f0a47726170682e70726f746f747970652e73657445646765203d2066756e6374696f6e2829207b0a202076617220762c20772c206e616d652c2076616c75652c0a20202020202076616c7565537065636966696564203d2066616c73652c0a20202020202061726730203d20617267756d656e74735b305d3b0a0a202069662028747970656f662061726730203d3d3d20226f626a65637422202626206172673020213d3d206e756c6c2026262022762220696e206172673029207b0a2020202076203d20617267302e763b0a2020202077203d20617267302e773b0a202020206e616d65203d20617267302e6e616d653b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203229207b0a20202020202076616c7565203d20617267756d656e74735b315d3b0a20202020202076616c7565537065636966696564203d20747275653b0a202020207d0a20207d20656c7365207b0a2020202076203d20617267303b0a2020202077203d20617267756d656e74735b315d3b0a202020206e616d65203d20617267756d656e74735b335d3b0a2020202069662028617267756d656e74732e6c656e677468203e203229207b0a20202020202076616c7565203d20617267756d656e74735b325d3b0a20202020202076616c7565537065636966696564203d20747275653b0a202020207d0a20207d0a0a202076203d202222202b20763b0a202077203d202222202b20773b0a202069662028215f2e6973556e646566696e6564286e616d652929207b0a202020206e616d65203d202222202b206e616d653b0a20207d0a0a20207661722065203d206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d65293b0a2020696620285f2e68617328746869732e5f656467654c6162656c732c20652929207b0a202020206966202876616c756553706563696669656429207b0a202020202020746869732e5f656467654c6162656c735b655d203d2076616c75653b0a202020207d0a2020202072657475726e20746869733b0a20207d0a0a202069662028215f2e6973556e646566696e6564286e616d65292026262021746869732e5f69734d756c7469677261706829207b0a202020207468726f77206e6577204572726f72282243616e6e6f74207365742061206e616d65642065646765207768656e2069734d756c74696772617068203d2066616c736522293b0a20207d0a0a20202f2f204974206469646e27742065786973742c20736f207765206e65656420746f206372656174652069742e0a20202f2f20466972737420656e7375726520746865206e6f6465732065786973742e0a2020746869732e7365744e6f64652876293b0a2020746869732e7365744e6f64652877293b0a0a2020746869732e5f656467654c6162656c735b655d203d2076616c7565537065636966696564203f2076616c7565203a20746869732e5f64656661756c74456467654c6162656c466e28762c20772c206e616d65293b0a0a202076617220656467654f626a203d206564676541726773546f4f626a28746869732e5f697344697265637465642c20762c20772c206e616d65293b0a20202f2f20456e737572652077652061646420756e646972656374656420656467657320696e206120636f6e73697374656e74207761792e0a202076203d20656467654f626a2e763b0a202077203d20656467654f626a2e773b0a0a20204f626a6563742e667265657a6528656467654f626a293b0a2020746869732e5f656467654f626a735b655d203d20656467654f626a3b0a2020696e6372656d656e744f72496e6974456e74727928746869732e5f70726564735b775d2c2076293b0a2020696e6372656d656e744f72496e6974456e74727928746869732e5f737563735b765d2c2077293b0a2020746869732e5f696e5b775d5b655d203d20656467654f626a3b0a2020746869732e5f6f75745b765d5b655d203d20656467654f626a3b0a2020746869732e5f65646765436f756e742b2b3b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e65646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529293b0a202072657475726e20746869732e5f656467654c6162656c735b655d3b0a7d3b0a0a47726170682e70726f746f747970652e68617345646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529293b0a202072657475726e205f2e68617328746869732e5f656467654c6162656c732c2065293b0a7d3b0a0a47726170682e70726f746f747970652e72656d6f766545646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529292c0a20202020202065646765203d20746869732e5f656467654f626a735b655d3b0a2020696620286564676529207b0a2020202076203d20656467652e763b0a2020202077203d20656467652e773b0a2020202064656c65746520746869732e5f656467654c6162656c735b655d3b0a2020202064656c65746520746869732e5f656467654f626a735b655d3b0a2020202064656372656d656e744f7252656d6f7665456e74727928746869732e5f70726564735b775d2c2076293b0a2020202064656372656d656e744f7252656d6f7665456e74727928746869732e5f737563735b765d2c2077293b0a2020202064656c65746520746869732e5f696e5b775d5b655d3b0a2020202064656c65746520746869732e5f6f75745b765d5b655d3b0a20202020746869732e5f65646765436f756e742d2d3b0a20207d0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e696e4564676573203d2066756e6374696f6e28762c207529207b0a202076617220696e56203d20746869732e5f696e5b765d3b0a202069662028696e5629207b0a20202020766172206564676573203d205f2e76616c75657328696e56293b0a2020202069662028217529207b0a20202020202072657475726e2065646765733b0a202020207d0a2020202072657475726e205f2e66696c7465722865646765732c2066756e6374696f6e286564676529207b2072657475726e20656467652e76203d3d3d20753b207d293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6f75744564676573203d2066756e6374696f6e28762c207729207b0a2020766172206f757456203d20746869732e5f6f75745b765d3b0a2020696620286f75745629207b0a20202020766172206564676573203d205f2e76616c756573286f757456293b0a2020202069662028217729207b0a20202020202072657475726e2065646765733b0a202020207d0a2020202072657475726e205f2e66696c7465722865646765732c2066756e6374696f6e286564676529207b2072657475726e20656467652e77203d3d3d20773b207d293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6e6f64654564676573203d2066756e6374696f6e28762c207729207b0a202076617220696e4564676573203d20746869732e696e456467657328762c2077293b0a202069662028696e456467657329207b0a2020202072657475726e20696e45646765732e636f6e63617428746869732e6f7574456467657328762c207729293b0a20207d0a7d3b0a0a66756e6374696f6e20696e6372656d656e744f72496e6974456e747279286d61702c206b29207b0a2020696620286d61705b6b5d29207b0a202020206d61705b6b5d2b2b3b0a20207d20656c7365207b0a202020206d61705b6b5d203d20313b0a20207d0a7d0a0a66756e6374696f6e2064656372656d656e744f7252656d6f7665456e747279286d61702c206b29207b0a202069662028212d2d6d61705b6b5d29207b2064656c657465206d61705b6b5d3b207d0a7d0a0a66756e6374696f6e206564676541726773546f496428697344697265637465642c20765f2c20775f2c206e616d6529207b0a20207661722076203d202222202b20765f3b0a20207661722077203d202222202b20775f3b0a20206966202821697344697265637465642026262076203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202072657475726e2076202b20454447455f4b45595f44454c494d202b2077202b20454447455f4b45595f44454c494d202b0a20202020202020202020202020285f2e6973556e646566696e6564286e616d6529203f2044454641554c545f454447455f4e414d45203a206e616d65293b0a7d0a0a66756e6374696f6e206564676541726773546f4f626a28697344697265637465642c20765f2c20775f2c206e616d6529207b0a20207661722076203d202222202b20765f3b0a20207661722077203d202222202b20775f3b0a20206966202821697344697265637465642026262076203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202076617220656467654f626a203d20207b20763a20762c20773a2077207d3b0a2020696620286e616d6529207b0a20202020656467654f626a2e6e616d65203d206e616d653b0a20207d0a202072657475726e20656467654f626a3b0a7d0a0a66756e6374696f6e20656467654f626a546f496428697344697265637465642c20656467654f626a29207b0a202072657475726e206564676541726773546f496428697344697265637465642c20656467654f626a2e762c20656467654f626a2e772c20656467654f626a2e6e616d65293b0a7d0a0a7d2c7b222e2f6c6f64617368223a3131387d5d2c3131363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20496e636c75646573206f6e6c79207468652022636f726522206f662067726170686c69620a6d6f64756c652e6578706f727473203d207b0a202047726170683a207265717569726528222e2f677261706822292c0a202076657273696f6e3a207265717569726528222e2f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6772617068223a3131352c222e2f76657273696f6e223a3131397d5d2c3131373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f677261706822293b0a0a6d6f64756c652e6578706f727473203d207b0a202077726974653a2077726974652c0a2020726561643a20726561640a7d3b0a0a66756e6374696f6e207772697465286729207b0a2020766172206a736f6e203d207b0a202020206f7074696f6e733a207b0a20202020202064697265637465643a20672e6973446972656374656428292c0a2020202020206d756c746967726170683a20672e69734d756c7469677261706828292c0a202020202020636f6d706f756e643a20672e6973436f6d706f756e6428290a202020207d2c0a202020206e6f6465733a2077726974654e6f6465732867292c0a2020202065646765733a20777269746545646765732867290a20207d3b0a202069662028215f2e6973556e646566696e656428672e677261706828292929207b0a202020206a736f6e2e76616c7565203d205f2e636c6f6e6528672e67726170682829293b0a20207d0a202072657475726e206a736f6e3b0a7d0a0a66756e6374696f6e2077726974654e6f646573286729207b0a202072657475726e205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f646556616c7565203d20672e6e6f64652876292c0a2020202020202020706172656e74203d20672e706172656e742876292c0a20202020202020206e6f6465203d207b20763a2076207d3b0a2020202069662028215f2e6973556e646566696e6564286e6f646556616c75652929207b0a2020202020206e6f64652e76616c7565203d206e6f646556616c75653b0a202020207d0a2020202069662028215f2e6973556e646566696e656428706172656e742929207b0a2020202020206e6f64652e706172656e74203d20706172656e743b0a202020207d0a2020202072657475726e206e6f64653b0a20207d293b0a7d0a0a66756e6374696f6e2077726974654564676573286729207b0a202072657475726e205f2e6d617028672e656467657328292c2066756e6374696f6e286529207b0a20202020766172206564676556616c7565203d20672e656467652865292c0a202020202020202065646765203d207b20763a20652e762c20773a20652e77207d3b0a2020202069662028215f2e6973556e646566696e656428652e6e616d652929207b0a202020202020656467652e6e616d65203d20652e6e616d653b0a202020207d0a2020202069662028215f2e6973556e646566696e6564286564676556616c75652929207b0a202020202020656467652e76616c7565203d206564676556616c75653b0a202020207d0a2020202072657475726e20656467653b0a20207d293b0a7d0a0a66756e6374696f6e2072656164286a736f6e29207b0a20207661722067203d206e6577204772617068286a736f6e2e6f7074696f6e73292e7365744772617068286a736f6e2e76616c7565293b0a20205f2e65616368286a736f6e2e6e6f6465732c2066756e6374696f6e28656e74727929207b0a20202020672e7365744e6f646528656e7472792e762c20656e7472792e76616c7565293b0a2020202069662028656e7472792e706172656e7429207b0a202020202020672e736574506172656e7428656e7472792e762c20656e7472792e706172656e74293b0a202020207d0a20207d293b0a20205f2e65616368286a736f6e2e65646765732c2066756e6374696f6e28656e74727929207b0a20202020672e73657445646765287b20763a20656e7472792e762c20773a20656e7472792e772c206e616d653a20656e7472792e6e616d65207d2c20656e7472792e76616c7565293b0a20207d293b0a202072657475726e20673b0a7d0a0a7d2c7b222e2f6772617068223a3131352c222e2f6c6f64617368223a3131387d5d2c3131383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a617267756d656e74735b345d5b37395d5b305d2e6170706c79286578706f7274732c617267756d656e7473290a7d2c7b22647570223a37392c226c6f64617368223a3132337d5d2c3131393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2027322e312e35273b0a0a7d2c7b7d5d2c3132303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6578706f7274732e72656164203d2066756e6374696f6e20286275666665722c206f66667365742c2069734c452c206d4c656e2c206e427974657329207b0a202076617220652c206d0a202076617220654c656e203d206e4279746573202a2038202d206d4c656e202d20310a202076617220654d6178203d202831203c3c20654c656e29202d20310a2020766172206542696173203d20654d6178203e3e20310a2020766172206e42697473203d202d370a20207661722069203d2069734c45203f20286e4279746573202d203129203a20300a20207661722064203d2069734c45203f202d31203a20310a20207661722073203d206275666665725b6f6666736574202b20695d0a0a202069202b3d20640a0a202065203d2073202620282831203c3c20282d6e426974732929202d2031290a202073203e3e3d20282d6e42697473290a20206e42697473202b3d20654c656e0a2020666f7220283b206e42697473203e20303b2065203d2065202a20323536202b206275666665725b6f6666736574202b20695d2c2069202b3d20642c206e42697473202d3d203829207b7d0a0a20206d203d2065202620282831203c3c20282d6e426974732929202d2031290a202065203e3e3d20282d6e42697473290a20206e42697473202b3d206d4c656e0a2020666f7220283b206e42697473203e20303b206d203d206d202a20323536202b206275666665725b6f6666736574202b20695d2c2069202b3d20642c206e42697473202d3d203829207b7d0a0a20206966202865203d3d3d203029207b0a2020202065203d2031202d2065426961730a20207d20656c7365206966202865203d3d3d20654d617829207b0a2020202072657475726e206d203f204e614e203a20282873203f202d31203a203129202a20496e66696e697479290a20207d20656c7365207b0a202020206d203d206d202b204d6174682e706f7728322c206d4c656e290a2020202065203d2065202d2065426961730a20207d0a202072657475726e202873203f202d31203a203129202a206d202a204d6174682e706f7728322c2065202d206d4c656e290a7d0a0a6578706f7274732e7772697465203d2066756e6374696f6e20286275666665722c2076616c75652c206f66667365742c2069734c452c206d4c656e2c206e427974657329207b0a202076617220652c206d2c20630a202076617220654c656e203d206e4279746573202a2038202d206d4c656e202d20310a202076617220654d6178203d202831203c3c20654c656e29202d20310a2020766172206542696173203d20654d6178203e3e20310a2020766172207274203d20286d4c656e203d3d3d203233203f204d6174682e706f7728322c202d323429202d204d6174682e706f7728322c202d373729203a2030290a20207661722069203d2069734c45203f2030203a20286e4279746573202d2031290a20207661722064203d2069734c45203f2031203a202d310a20207661722073203d2076616c7565203c2030207c7c202876616c7565203d3d3d20302026262031202f2076616c7565203c203029203f2031203a20300a0a202076616c7565203d204d6174682e6162732876616c7565290a0a20206966202869734e614e2876616c756529207c7c2076616c7565203d3d3d20496e66696e69747929207b0a202020206d203d2069734e614e2876616c756529203f2031203a20300a2020202065203d20654d61780a20207d20656c7365207b0a2020202065203d204d6174682e666c6f6f72284d6174682e6c6f672876616c756529202f204d6174682e4c4e32290a202020206966202876616c7565202a202863203d204d6174682e706f7728322c202d652929203c203129207b0a202020202020652d2d0a20202020202063202a3d20320a202020207d0a202020206966202865202b206542696173203e3d203129207b0a20202020202076616c7565202b3d207274202f20630a202020207d20656c7365207b0a20202020202076616c7565202b3d207274202a204d6174682e706f7728322c2031202d206542696173290a202020207d0a202020206966202876616c7565202a2063203e3d203229207b0a202020202020652b2b0a20202020202063202f3d20320a202020207d0a0a202020206966202865202b206542696173203e3d20654d617829207b0a2020202020206d203d20300a20202020202065203d20654d61780a202020207d20656c7365206966202865202b206542696173203e3d203129207b0a2020202020206d203d202876616c7565202a2063202d203129202a204d6174682e706f7728322c206d4c656e290a20202020202065203d2065202b2065426961730a202020207d20656c7365207b0a2020202020206d203d2076616c7565202a204d6174682e706f7728322c206542696173202d203129202a204d6174682e706f7728322c206d4c656e290a20202020202065203d20300a202020207d0a20207d0a0a2020666f7220283b206d4c656e203e3d20383b206275666665725b6f6666736574202b20695d203d206d202620307866662c2069202b3d20642c206d202f3d203235362c206d4c656e202d3d203829207b7d0a0a202065203d202865203c3c206d4c656e29207c206d0a2020654c656e202b3d206d4c656e0a2020666f7220283b20654c656e203e20303b206275666665725b6f6666736574202b20695d203d2065202620307866662c2069202b3d20642c2065202f3d203235362c20654c656e202d3d203829207b7d0a0a20206275666665725b6f6666736574202b2069202d20645d207c3d2073202a203132380a7d0a0a7d2c7b7d5d2c3132313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a69662028747970656f66204f626a6563742e637265617465203d3d3d202766756e6374696f6e2729207b0a20202f2f20696d706c656d656e746174696f6e2066726f6d207374616e64617264206e6f64652e6a7320277574696c27206d6f64756c650a20206d6f64756c652e6578706f727473203d2066756e6374696f6e20696e6865726974732863746f722c20737570657243746f7229207b0a2020202063746f722e73757065725f203d20737570657243746f720a2020202063746f722e70726f746f74797065203d204f626a6563742e63726561746528737570657243746f722e70726f746f747970652c207b0a202020202020636f6e7374727563746f723a207b0a202020202020202076616c75653a2063746f722c0a2020202020202020656e756d657261626c653a2066616c73652c0a20202020202020207772697461626c653a20747275652c0a2020202020202020636f6e666967757261626c653a20747275650a2020202020207d0a202020207d293b0a20207d3b0a7d20656c7365207b0a20202f2f206f6c64207363686f6f6c207368696d20666f72206f6c642062726f77736572730a20206d6f64756c652e6578706f727473203d2066756e6374696f6e20696e6865726974732863746f722c20737570657243746f7229207b0a2020202063746f722e73757065725f203d20737570657243746f720a202020207661722054656d7043746f72203d2066756e6374696f6e202829207b7d0a2020202054656d7043746f722e70726f746f74797065203d20737570657243746f722e70726f746f747970650a2020202063746f722e70726f746f74797065203d206e65772054656d7043746f7228290a2020202063746f722e70726f746f747970652e636f6e7374727563746f72203d2063746f720a20207d0a7d0a0a7d2c7b7d5d2c3132323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a210a202a2044657465726d696e6520696620616e206f626a6563742069732061204275666665720a202a0a202a2040617574686f722020204665726f73732041626f756b686164696a6568203c68747470733a2f2f6665726f73732e6f72673e0a202a20406c6963656e736520204d49540a202a2f0a0a2f2f20546865205f697342756666657220636865636b20697320666f722053616661726920352d3720737570706f72742c20626563617573652069742773206d697373696e670a2f2f204f626a6563742e70726f746f747970652e636f6e7374727563746f722e2052656d6f76652074686973206576656e7475616c6c790a6d6f64756c652e6578706f727473203d2066756e6374696f6e20286f626a29207b0a202072657475726e206f626a20213d206e756c6c20262620286973427566666572286f626a29207c7c206973536c6f77427566666572286f626a29207c7c2021216f626a2e5f6973427566666572290a7d0a0a66756e6374696f6e20697342756666657220286f626a29207b0a202072657475726e2021216f626a2e636f6e7374727563746f7220262620747970656f66206f626a2e636f6e7374727563746f722e6973427566666572203d3d3d202766756e6374696f6e27202626206f626a2e636f6e7374727563746f722e6973427566666572286f626a290a7d0a0a2f2f20466f72204e6f64652076302e313020737570706f72742e2052656d6f76652074686973206576656e7475616c6c792e0a66756e6374696f6e206973536c6f7742756666657220286f626a29207b0a202072657475726e20747970656f66206f626a2e72656164466c6f61744c45203d3d3d202766756e6374696f6e2720262620747970656f66206f626a2e736c696365203d3d3d202766756e6374696f6e27202626206973427566666572286f626a2e736c69636528302c203029290a7d0a0a7d2c7b7d5d2c3132333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a2f2a2a0a202a20406c6963656e73650a202a204c6f64617368203c68747470733a2f2f6c6f646173682e636f6d2f3e0a202a20436f70797269676874204a5320466f756e646174696f6e20616e64206f7468657220636f6e7472696275746f7273203c68747470733a2f2f6a732e666f756e646174696f6e2f3e0a202a2052656c656173656420756e646572204d4954206c6963656e7365203c68747470733a2f2f6c6f646173682e636f6d2f6c6963656e73653e0a202a204261736564206f6e20556e64657273636f72652e6a7320312e382e33203c687474703a2f2f756e64657273636f72656a732e6f72672f4c4943454e53453e0a202a20436f70797269676874204a6572656d79204173686b656e61732c20446f63756d656e74436c6f756420616e6420496e7665737469676174697665205265706f7274657273202620456469746f72730a202a2f0a3b2866756e6374696f6e2829207b0a0a20202f2a2a205573656420617320612073616665207265666572656e636520666f722060756e646566696e65646020696e207072652d45533520656e7669726f6e6d656e74732e202a2f0a202076617220756e646566696e65643b0a0a20202f2a2a2055736564206173207468652073656d616e7469632076657273696f6e206e756d6265722e202a2f0a20207661722056455253494f4e203d2027342e31372e34273b0a0a20202f2a2a2055736564206173207468652073697a6520746f20656e61626c65206c61726765206172726179206f7074696d697a6174696f6e732e202a2f0a2020766172204c415247455f41525241595f53495a45203d203230303b0a0a20202f2a2a204572726f72206d65737361676520636f6e7374616e74732e202a2f0a202076617220434f52455f4552524f525f54455854203d2027556e737570706f7274656420636f72652d6a73207573652e205472792068747470733a2f2f6e706d732e696f2f7365617263683f713d706f6e7966696c6c2e272c0a20202020202046554e435f4552524f525f54455854203d2027457870656374656420612066756e6374696f6e273b0a0a20202f2a2a205573656420746f207374616e642d696e20666f722060756e646566696e65646020686173682076616c7565732e202a2f0a202076617220484153485f554e444546494e4544203d20275f5f6c6f646173685f686173685f756e646566696e65645f5f273b0a0a20202f2a2a205573656420617320746865206d6178696d756d206d656d6f697a652063616368652073697a652e202a2f0a2020766172204d41585f4d454d4f495a455f53495a45203d203530303b0a0a20202f2a2a20557365642061732074686520696e7465726e616c20617267756d656e7420706c616365686f6c6465722e202a2f0a202076617220504c414345484f4c444552203d20275f5f6c6f646173685f706c616365686f6c6465725f5f273b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f7220636c6f6e696e672e202a2f0a202076617220434c4f4e455f444545505f464c4147203d20312c0a202020202020434c4f4e455f464c41545f464c4147203d20322c0a202020202020434c4f4e455f53594d424f4c535f464c4147203d20343b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f722076616c756520636f6d70617269736f6e732e202a2f0a202076617220434f4d504152455f5041525449414c5f464c4147203d20312c0a202020202020434f4d504152455f554e4f5244455245445f464c4147203d20323b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f722066756e6374696f6e206d657461646174612e202a2f0a202076617220575241505f42494e445f464c4147203d20312c0a202020202020575241505f42494e445f4b45595f464c4147203d20322c0a202020202020575241505f43555252595f424f554e445f464c4147203d20342c0a202020202020575241505f43555252595f464c4147203d20382c0a202020202020575241505f43555252595f52494748545f464c4147203d2031362c0a202020202020575241505f5041525449414c5f464c4147203d2033322c0a202020202020575241505f5041525449414c5f52494748545f464c4147203d2036342c0a202020202020575241505f4152595f464c4147203d203132382c0a202020202020575241505f52454152475f464c4147203d203235362c0a202020202020575241505f464c49505f464c4147203d203531323b0a0a20202f2a2a20557365642061732064656661756c74206f7074696f6e7320666f7220605f2e7472756e63617465602e202a2f0a20207661722044454641554c545f5452554e435f4c454e475448203d2033302c0a20202020202044454641554c545f5452554e435f4f4d495353494f4e203d20272e2e2e273b0a0a20202f2a2a205573656420746f2064657465637420686f742066756e6374696f6e73206279206e756d626572206f662063616c6c732077697468696e2061207370616e206f66206d696c6c697365636f6e64732e202a2f0a202076617220484f545f434f554e54203d203830302c0a202020202020484f545f5350414e203d2031363b0a0a20202f2a2a205573656420746f20696e646963617465207468652074797065206f66206c617a79206974657261746565732e202a2f0a2020766172204c415a595f46494c5445525f464c4147203d20312c0a2020202020204c415a595f4d41505f464c4147203d20322c0a2020202020204c415a595f5748494c455f464c4147203d20333b0a0a20202f2a2a2055736564206173207265666572656e63657320666f7220766172696f757320604e756d6265726020636f6e7374616e74732e202a2f0a202076617220494e46494e495459203d2031202f20302c0a2020202020204d41585f534146455f494e5445474552203d20393030373139393235343734303939312c0a2020202020204d41585f494e5445474552203d20312e37393736393331333438363233313537652b3330382c0a2020202020204e414e203d2030202f20303b0a0a20202f2a2a2055736564206173207265666572656e63657320666f7220746865206d6178696d756d206c656e67746820616e6420696e646578206f6620616e2061727261792e202a2f0a2020766172204d41585f41525241595f4c454e475448203d20343239343936373239352c0a2020202020204d41585f41525241595f494e444558203d204d41585f41525241595f4c454e475448202d20312c0a20202020202048414c465f4d41585f41525241595f4c454e475448203d204d41585f41525241595f4c454e475448203e3e3e20313b0a0a20202f2a2a205573656420746f206173736f63696174652077726170206d6574686f647320776974682074686569722062697420666c6167732e202a2f0a20207661722077726170466c616773203d205b0a202020205b27617279272c20575241505f4152595f464c41475d2c0a202020205b2762696e64272c20575241505f42494e445f464c41475d2c0a202020205b2762696e644b6579272c20575241505f42494e445f4b45595f464c41475d2c0a202020205b276375727279272c20575241505f43555252595f464c41475d2c0a202020205b2763757272795269676874272c20575241505f43555252595f52494748545f464c41475d2c0a202020205b27666c6970272c20575241505f464c49505f464c41475d2c0a202020205b277061727469616c272c20575241505f5041525449414c5f464c41475d2c0a202020205b277061727469616c5269676874272c20575241505f5041525449414c5f52494748545f464c41475d2c0a202020205b277265617267272c20575241505f52454152475f464c41475d0a20205d3b0a0a20202f2a2a20604f626a65637423746f537472696e676020726573756c74207265666572656e6365732e202a2f0a20207661722061726773546167203d20275b6f626a65637420417267756d656e74735d272c0a2020202020206172726179546167203d20275b6f626a6563742041727261795d272c0a2020202020206173796e63546167203d20275b6f626a656374204173796e6346756e6374696f6e5d272c0a202020202020626f6f6c546167203d20275b6f626a65637420426f6f6c65616e5d272c0a20202020202064617465546167203d20275b6f626a65637420446174655d272c0a202020202020646f6d457863546167203d20275b6f626a65637420444f4d457863657074696f6e5d272c0a2020202020206572726f72546167203d20275b6f626a656374204572726f725d272c0a20202020202066756e63546167203d20275b6f626a6563742046756e6374696f6e5d272c0a20202020202067656e546167203d20275b6f626a6563742047656e657261746f7246756e6374696f6e5d272c0a2020202020206d6170546167203d20275b6f626a656374204d61705d272c0a2020202020206e756d626572546167203d20275b6f626a656374204e756d6265725d272c0a2020202020206e756c6c546167203d20275b6f626a656374204e756c6c5d272c0a2020202020206f626a656374546167203d20275b6f626a656374204f626a6563745d272c0a20202020202070726f6d697365546167203d20275b6f626a6563742050726f6d6973655d272c0a20202020202070726f7879546167203d20275b6f626a6563742050726f78795d272c0a202020202020726567657870546167203d20275b6f626a656374205265674578705d272c0a202020202020736574546167203d20275b6f626a656374205365745d272c0a202020202020737472696e67546167203d20275b6f626a65637420537472696e675d272c0a20202020202073796d626f6c546167203d20275b6f626a6563742053796d626f6c5d272c0a202020202020756e646566696e6564546167203d20275b6f626a65637420556e646566696e65645d272c0a2020202020207765616b4d6170546167203d20275b6f626a656374205765616b4d61705d272c0a2020202020207765616b536574546167203d20275b6f626a656374205765616b5365745d273b0a0a2020766172206172726179427566666572546167203d20275b6f626a6563742041727261794275666665725d272c0a2020202020206461746156696577546167203d20275b6f626a6563742044617461566965775d272c0a202020202020666c6f61743332546167203d20275b6f626a65637420466c6f6174333241727261795d272c0a202020202020666c6f61743634546167203d20275b6f626a65637420466c6f6174363441727261795d272c0a202020202020696e7438546167203d20275b6f626a65637420496e743841727261795d272c0a202020202020696e743136546167203d20275b6f626a65637420496e74313641727261795d272c0a202020202020696e743332546167203d20275b6f626a65637420496e74333241727261795d272c0a20202020202075696e7438546167203d20275b6f626a6563742055696e743841727261795d272c0a20202020202075696e7438436c616d706564546167203d20275b6f626a6563742055696e7438436c616d70656441727261795d272c0a20202020202075696e743136546167203d20275b6f626a6563742055696e74313641727261795d272c0a20202020202075696e743332546167203d20275b6f626a6563742055696e74333241727261795d273b0a0a20202f2a2a205573656420746f206d6174636820656d70747920737472696e67206c69746572616c7320696e20636f6d70696c65642074656d706c61746520736f757263652e202a2f0a2020766172207265456d707479537472696e674c656164696e67203d202f5c625f5f70205c2b3d2027273b2f672c0a2020202020207265456d707479537472696e674d6964646c65203d202f5c62285f5f70205c2b3d29202727205c2b2f672c0a2020202020207265456d707479537472696e67547261696c696e67203d202f285f5f655c282e2a3f5c297c5c625f5f745c2929205c2b5c6e27273b2f673b0a0a20202f2a2a205573656420746f206d617463682048544d4c20656e74697469657320616e642048544d4c20636861726163746572732e202a2f0a20207661722072654573636170656448746d6c203d202f26283f3a616d707c6c747c67747c71756f747c233339293b2f672c0a2020202020207265556e6573636170656448746d6c203d202f5b263c3e22275d2f672c0a20202020202072654861734573636170656448746d6c203d205265674578702872654573636170656448746d6c2e736f75726365292c0a2020202020207265486173556e6573636170656448746d6c203d20526567457870287265556e6573636170656448746d6c2e736f75726365293b0a0a20202f2a2a205573656420746f206d617463682074656d706c6174652064656c696d69746572732e202a2f0a2020766172207265457363617065203d202f3c252d285b5c735c535d2b3f29253e2f672c0a20202020202072654576616c75617465203d202f3c25285b5c735c535d2b3f29253e2f672c0a2020202020207265496e746572706f6c617465203d202f3c253d285b5c735c535d2b3f29253e2f673b0a0a20202f2a2a205573656420746f206d617463682070726f7065727479206e616d65732077697468696e2070726f70657274792070617468732e202a2f0a202076617220726549734465657050726f70203d202f5c2e7c5c5b283f3a5b5e5b5c5d5d2a7c285b22275d29283f3a283f215c31295b5e5c5c5d7c5c5c2e292a3f5c31295c5d2f2c0a20202020202072654973506c61696e50726f70203d202f5e5c772a242f2c0a20202020202072654c656164696e67446f74203d202f5e5c2e2f2c0a202020202020726550726f704e616d65203d202f5b5e2e5b5c5d5d2b7c5c5b283f3a282d3f5c642b283f3a5c2e5c642b293f297c285b22275d2928283f3a283f215c32295b5e5c5c5d7c5c5c2e292a3f295c32295c5d7c283f3d283f3a5c2e7c5c5b5c5d29283f3a5c2e7c5c5b5c5d7c2429292f673b0a0a20202f2a2a0a2020202a205573656420746f206d617463682060526567457870600a2020202a205b73796e74617820636861726163746572735d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d7061747465726e73292e0a2020202a2f0a202076617220726552656745787043686172203d202f5b5c5c5e242e2a2b3f28295b5c5d7b7d7c5d2f672c0a202020202020726548617352656745787043686172203d20526567457870287265526567457870436861722e736f75726365293b0a0a20202f2a2a205573656420746f206d61746368206c656164696e6720616e6420747261696c696e6720776869746573706163652e202a2f0a20207661722072655472696d203d202f5e5c732b7c5c732b242f672c0a20202020202072655472696d5374617274203d202f5e5c732b2f2c0a20202020202072655472696d456e64203d202f5c732b242f3b0a0a20202f2a2a205573656420746f206d6174636820777261702064657461696c20636f6d6d656e74732e202a2f0a202076617220726557726170436f6d6d656e74203d202f5c7b283f3a5c6e5c2f5c2a205c5b777261707065642077697468202e2b5c5d205c2a5c2f293f5c6e3f2f2c0a20202020202072655772617044657461696c73203d202f5c7b5c6e5c2f5c2a205c5b77726170706564207769746820282e2b295c5d205c2a2f2c0a202020202020726553706c697444657461696c73203d202f2c3f2026202f3b0a0a20202f2a2a205573656420746f206d6174636820776f72647320636f6d706f736564206f6620616c7068616e756d6572696320636861726163746572732e202a2f0a20207661722072654173636969576f7264203d202f5b5e5c7830302d5c7832665c7833612d5c7834305c7835622d5c7836305c7837622d5c7837665d2b2f673b0a0a20202f2a2a205573656420746f206d61746368206261636b736c617368657320696e2070726f70657274792070617468732e202a2f0a202076617220726545736361706543686172203d202f5c5c285c5c293f2f673b0a0a20202f2a2a0a2020202a205573656420746f206d617463680a2020202a205b45532074656d706c6174652064656c696d69746572735d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d74656d706c6174652d6c69746572616c2d6c65786963616c2d636f6d706f6e656e7473292e0a2020202a2f0a2020766172207265457354656d706c617465203d202f5c245c7b285b5e5c5c7d5d2a283f3a5c5c2e5b5e5c5c7d5d2a292a295c7d2f673b0a0a20202f2a2a205573656420746f206d6174636820605265674578706020666c6167732066726f6d20746865697220636f657263656420737472696e672076616c7565732e202a2f0a2020766172207265466c616773203d202f5c772a242f3b0a0a20202f2a2a205573656420746f2064657465637420626164207369676e65642068657861646563696d616c20737472696e672076616c7565732e202a2f0a20207661722072654973426164486578203d202f5e5b2d2b5d30785b302d39612d665d2b242f693b0a0a20202f2a2a205573656420746f206465746563742062696e61727920737472696e672076616c7565732e202a2f0a2020766172207265497342696e617279203d202f5e30625b30315d2b242f693b0a0a20202f2a2a205573656420746f2064657465637420686f737420636f6e7374727563746f72732028536166617269292e202a2f0a20207661722072654973486f737443746f72203d202f5e5c5b6f626a656374202e2b3f436f6e7374727563746f725c5d242f3b0a0a20202f2a2a205573656420746f20646574656374206f6374616c20737472696e672076616c7565732e202a2f0a202076617220726549734f6374616c203d202f5e306f5b302d375d2b242f693b0a0a20202f2a2a205573656420746f2064657465637420756e7369676e656420696e74656765722076616c7565732e202a2f0a2020766172207265497355696e74203d202f5e283f3a307c5b312d395d5c642a29242f3b0a0a20202f2a2a205573656420746f206d61746368204c6174696e20556e69636f6465206c65747465727320286578636c7564696e67206d617468656d61746963616c206f70657261746f7273292e202a2f0a20207661722072654c6174696e203d202f5b5c7863302d5c7864365c7864382d5c7866365c7866382d5c7866665c75303130302d5c75303137665d2f673b0a0a20202f2a2a205573656420746f20656e7375726520636170747572696e67206f72646572206f662074656d706c6174652064656c696d69746572732e202a2f0a20207661722072654e6f4d61746368203d202f28245e292f3b0a0a20202f2a2a205573656420746f206d6174636820756e65736361706564206368617261637465727320696e20636f6d70696c656420737472696e67206c69746572616c732e202a2f0a2020766172207265556e65736361706564537472696e67203d202f5b275c6e5c725c75323032385c75323032395c5c5d2f673b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f64652063686172616374657220636c61737365732e202a2f0a202076617220727341737472616c52616e6765203d20275c5c75643830302d5c5c7564666666272c0a2020202020207273436f6d626f4d61726b7352616e6765203d20275c5c75303330302d5c5c7530333666272c0a2020202020207265436f6d626f48616c664d61726b7352616e6765203d20275c5c75666532302d5c5c7566653266272c0a2020202020207273436f6d626f53796d626f6c7352616e6765203d20275c5c75323064302d5c5c7532306666272c0a2020202020207273436f6d626f52616e6765203d207273436f6d626f4d61726b7352616e6765202b207265436f6d626f48616c664d61726b7352616e6765202b207273436f6d626f53796d626f6c7352616e67652c0a202020202020727344696e6762617452616e6765203d20275c5c75323730302d5c5c7532376266272c0a20202020202072734c6f77657252616e6765203d2027612d7a5c5c7864662d5c5c7866365c5c7866382d5c5c786666272c0a20202020202072734d6174684f7052616e6765203d20275c5c7861635c5c7862315c5c7864375c5c786637272c0a20202020202072734e6f6e4368617252616e6765203d20275c5c7830302d5c5c7832665c5c7833612d5c5c7834305c5c7835622d5c5c7836305c5c7837622d5c5c786266272c0a202020202020727350756e6374756174696f6e52616e6765203d20275c5c75323030302d5c5c7532303666272c0a2020202020207273537061636552616e6765203d2027205c5c745c5c7830625c5c665c5c7861305c5c75666566665c5c6e5c5c725c5c75323032385c5c75323032395c5c75313638305c5c75313830655c5c75323030305c5c75323030315c5c75323030325c5c75323030335c5c75323030345c5c75323030355c5c75323030365c5c75323030375c5c75323030385c5c75323030395c5c75323030615c5c75323032665c5c75323035665c5c7533303030272c0a2020202020207273557070657252616e6765203d2027412d5a5c5c7863302d5c5c7864365c5c7864382d5c5c786465272c0a202020202020727356617252616e6765203d20275c5c75666530655c5c7566653066272c0a2020202020207273427265616b52616e6765203d2072734d6174684f7052616e6765202b2072734e6f6e4368617252616e6765202b20727350756e6374756174696f6e52616e6765202b207273537061636552616e67653b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f646520636170747572652067726f7570732e202a2f0a202076617220727341706f73203d20225b275c75323031395d222c0a202020202020727341737472616c203d20275b27202b20727341737472616c52616e6765202b20275d272c0a2020202020207273427265616b203d20275b27202b207273427265616b52616e6765202b20275d272c0a2020202020207273436f6d626f203d20275b27202b207273436f6d626f52616e6765202b20275d272c0a2020202020207273446967697473203d20275c5c642b272c0a202020202020727344696e67626174203d20275b27202b20727344696e6762617452616e6765202b20275d272c0a20202020202072734c6f776572203d20275b27202b2072734c6f77657252616e6765202b20275d272c0a20202020202072734d697363203d20275b5e27202b20727341737472616c52616e6765202b207273427265616b52616e6765202b207273446967697473202b20727344696e6762617452616e6765202b2072734c6f77657252616e6765202b207273557070657252616e6765202b20275d272c0a20202020202072734669747a203d20275c5c75643833635b5c5c75646666622d5c5c75646666665d272c0a20202020202072734d6f646966696572203d2027283f3a27202b207273436f6d626f202b20277c27202b2072734669747a202b202729272c0a20202020202072734e6f6e41737472616c203d20275b5e27202b20727341737472616c52616e6765202b20275d272c0a2020202020207273526567696f6e616c203d2027283f3a5c5c75643833635b5c5c75646465362d5c5c75646466665d297b327d272c0a20202020202072735375727250616972203d20275b5c5c75643830302d5c5c75646266665d5b5c5c75646330302d5c5c75646666665d272c0a20202020202072735570706572203d20275b27202b207273557070657252616e6765202b20275d272c0a20202020202072735a574a203d20275c5c7532303064273b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f646520726567657865732e202a2f0a20207661722072734d6973634c6f776572203d2027283f3a27202b2072734c6f776572202b20277c27202b2072734d697363202b202729272c0a20202020202072734d6973635570706572203d2027283f3a27202b2072735570706572202b20277c27202b2072734d697363202b202729272c0a20202020202072734f7074436f6e74724c6f776572203d2027283f3a27202b20727341706f73202b2027283f3a647c6c6c7c6d7c72657c737c747c766529293f272c0a20202020202072734f7074436f6e74725570706572203d2027283f3a27202b20727341706f73202b2027283f3a447c4c4c7c4d7c52457c537c547c564529293f272c0a20202020202072654f70744d6f64203d2072734d6f646966696572202b20273f272c0a20202020202072734f7074566172203d20275b27202b20727356617252616e6765202b20275d3f272c0a20202020202072734f70744a6f696e203d2027283f3a27202b2072735a574a202b2027283f3a27202b205b72734e6f6e41737472616c2c207273526567696f6e616c2c20727353757272506169725d2e6a6f696e28277c2729202b20272927202b2072734f7074566172202b2072654f70744d6f64202b2027292a272c0a20202020202072734f72644c6f776572203d20275c5c642a283f3a283f3a3173747c326e647c3372647c283f215b3132335d295c5c647468295c5c6229272c0a20202020202072734f72645570706572203d20275c5c642a283f3a283f3a3153547c324e447c3352447c283f215b3132335d295c5c645448295c5c6229272c0a2020202020207273536571203d2072734f7074566172202b2072654f70744d6f64202b2072734f70744a6f696e2c0a2020202020207273456d6f6a69203d2027283f3a27202b205b727344696e676261742c207273526567696f6e616c2c20727353757272506169725d2e6a6f696e28277c2729202b20272927202b2072735365712c0a202020202020727353796d626f6c203d2027283f3a27202b205b72734e6f6e41737472616c202b207273436f6d626f202b20273f272c207273436f6d626f2c207273526567696f6e616c2c20727353757272506169722c20727341737472616c5d2e6a6f696e28277c2729202b202729273b0a0a20202f2a2a205573656420746f206d617463682061706f7374726f706865732e202a2f0a202076617220726541706f73203d2052656745787028727341706f732c20276727293b0a0a20202f2a2a0a2020202a205573656420746f206d61746368205b636f6d62696e696e6720646961637269746963616c206d61726b735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b732920616e640a2020202a205b636f6d62696e696e6720646961637269746963616c206d61726b7320666f722073796d626f6c735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b735f666f725f53796d626f6c73292e0a2020202a2f0a2020766172207265436f6d626f4d61726b203d20526567457870287273436f6d626f2c20276727293b0a0a20202f2a2a205573656420746f206d61746368205b737472696e672073796d626f6c735d2868747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d756e69636f6465292e202a2f0a2020766172207265556e69636f6465203d205265674578702872734669747a202b2027283f3d27202b2072734669747a202b2027297c27202b20727353796d626f6c202b2072735365712c20276727293b0a0a20202f2a2a205573656420746f206d6174636820636f6d706c6578206f7220636f6d706f756e6420776f7264732e202a2f0a2020766172207265556e69636f6465576f7264203d20526567457870285b0a2020202072735570706572202b20273f27202b2072734c6f776572202b20272b27202b2072734f7074436f6e74724c6f776572202b2027283f3d27202b205b7273427265616b2c20727355707065722c202724275d2e6a6f696e28277c2729202b202729272c0a2020202072734d6973635570706572202b20272b27202b2072734f7074436f6e74725570706572202b2027283f3d27202b205b7273427265616b2c2072735570706572202b2072734d6973634c6f7765722c202724275d2e6a6f696e28277c2729202b202729272c0a2020202072735570706572202b20273f27202b2072734d6973634c6f776572202b20272b27202b2072734f7074436f6e74724c6f7765722c0a2020202072735570706572202b20272b27202b2072734f7074436f6e747255707065722c0a2020202072734f726455707065722c0a2020202072734f72644c6f7765722c0a2020202072734469676974732c0a202020207273456d6f6a690a20205d2e6a6f696e28277c27292c20276727293b0a0a20202f2a2a205573656420746f2064657465637420737472696e67732077697468205b7a65726f2d7769647468206a6f696e657273206f7220636f646520706f696e74732066726f6d207468652061737472616c20706c616e65735d28687474703a2f2f6565762e65652f626c6f672f323031352f30392f31322f6461726b2d636f726e6572732d6f662d756e69636f64652f292e202a2f0a2020766172207265486173556e69636f6465203d2052656745787028275b27202b2072735a574a202b20727341737472616c52616e676520202b207273436f6d626f52616e6765202b20727356617252616e6765202b20275d27293b0a0a20202f2a2a205573656420746f2064657465637420737472696e67732074686174206e6565642061206d6f726520726f627573742072656765787020746f206d6174636820776f7264732e202a2f0a2020766172207265486173556e69636f6465576f7264203d202f5b612d7a5d5b412d5a5d7c5b412d5a5d7b322c7d5b612d7a5d7c5b302d395d5b612d7a412d5a5d7c5b612d7a412d5a5d5b302d395d7c5b5e612d7a412d5a302d39205d2f3b0a0a20202f2a2a205573656420746f2061737369676e2064656661756c742060636f6e7465787460206f626a6563742070726f706572746965732e202a2f0a202076617220636f6e7465787450726f7073203d205b0a20202020274172726179272c2027427566666572272c20274461746156696577272c202744617465272c20274572726f72272c2027466c6f617433324172726179272c2027466c6f617436344172726179272c0a202020202746756e6374696f6e272c2027496e74384172726179272c2027496e7431364172726179272c2027496e7433324172726179272c20274d6170272c20274d617468272c20274f626a656374272c0a202020202750726f6d697365272c2027526567457870272c2027536574272c2027537472696e67272c202753796d626f6c272c2027547970654572726f72272c202755696e74384172726179272c0a202020202755696e7438436c616d7065644172726179272c202755696e7431364172726179272c202755696e7433324172726179272c20275765616b4d6170272c0a20202020275f272c2027636c65617254696d656f7574272c2027697346696e697465272c20277061727365496e74272c202773657454696d656f7574270a20205d3b0a0a20202f2a2a205573656420746f206d616b652074656d706c61746520736f7572636555524c732065617369657220746f206964656e746966792e202a2f0a20207661722074656d706c617465436f756e746572203d202d313b0a0a20202f2a2a205573656420746f206964656e746966792060746f537472696e67546167602076616c756573206f66207479706564206172726179732e202a2f0a2020766172207479706564417272617954616773203d207b7d3b0a202074797065644172726179546167735b666c6f617433325461675d203d2074797065644172726179546167735b666c6f617436345461675d203d0a202074797065644172726179546167735b696e74385461675d203d2074797065644172726179546167735b696e7431365461675d203d0a202074797065644172726179546167735b696e7433325461675d203d2074797065644172726179546167735b75696e74385461675d203d0a202074797065644172726179546167735b75696e7438436c616d7065645461675d203d2074797065644172726179546167735b75696e7431365461675d203d0a202074797065644172726179546167735b75696e7433325461675d203d20747275653b0a202074797065644172726179546167735b617267735461675d203d2074797065644172726179546167735b61727261795461675d203d0a202074797065644172726179546167735b61727261794275666665725461675d203d2074797065644172726179546167735b626f6f6c5461675d203d0a202074797065644172726179546167735b64617461566965775461675d203d2074797065644172726179546167735b646174655461675d203d0a202074797065644172726179546167735b6572726f725461675d203d2074797065644172726179546167735b66756e635461675d203d0a202074797065644172726179546167735b6d61705461675d203d2074797065644172726179546167735b6e756d6265725461675d203d0a202074797065644172726179546167735b6f626a6563745461675d203d2074797065644172726179546167735b7265676578705461675d203d0a202074797065644172726179546167735b7365745461675d203d2074797065644172726179546167735b737472696e675461675d203d0a202074797065644172726179546167735b7765616b4d61705461675d203d2066616c73653b0a0a20202f2a2a205573656420746f206964656e746966792060746f537472696e67546167602076616c75657320737570706f7274656420627920605f2e636c6f6e65602e202a2f0a202076617220636c6f6e6561626c6554616773203d207b7d3b0a2020636c6f6e6561626c65546167735b617267735461675d203d20636c6f6e6561626c65546167735b61727261795461675d203d0a2020636c6f6e6561626c65546167735b61727261794275666665725461675d203d20636c6f6e6561626c65546167735b64617461566965775461675d203d0a2020636c6f6e6561626c65546167735b626f6f6c5461675d203d20636c6f6e6561626c65546167735b646174655461675d203d0a2020636c6f6e6561626c65546167735b666c6f617433325461675d203d20636c6f6e6561626c65546167735b666c6f617436345461675d203d0a2020636c6f6e6561626c65546167735b696e74385461675d203d20636c6f6e6561626c65546167735b696e7431365461675d203d0a2020636c6f6e6561626c65546167735b696e7433325461675d203d20636c6f6e6561626c65546167735b6d61705461675d203d0a2020636c6f6e6561626c65546167735b6e756d6265725461675d203d20636c6f6e6561626c65546167735b6f626a6563745461675d203d0a2020636c6f6e6561626c65546167735b7265676578705461675d203d20636c6f6e6561626c65546167735b7365745461675d203d0a2020636c6f6e6561626c65546167735b737472696e675461675d203d20636c6f6e6561626c65546167735b73796d626f6c5461675d203d0a2020636c6f6e6561626c65546167735b75696e74385461675d203d20636c6f6e6561626c65546167735b75696e7438436c616d7065645461675d203d0a2020636c6f6e6561626c65546167735b75696e7431365461675d203d20636c6f6e6561626c65546167735b75696e7433325461675d203d20747275653b0a2020636c6f6e6561626c65546167735b6572726f725461675d203d20636c6f6e6561626c65546167735b66756e635461675d203d0a2020636c6f6e6561626c65546167735b7765616b4d61705461675d203d2066616c73653b0a0a20202f2a2a205573656420746f206d6170204c6174696e20556e69636f6465206c65747465727320746f206261736963204c6174696e206c6574746572732e202a2f0a20207661722064656275727265644c657474657273203d207b0a202020202f2f204c6174696e2d3120537570706c656d656e7420626c6f636b2e0a20202020275c786330273a202741272c2020275c786331273a202741272c20275c786332273a202741272c20275c786333273a202741272c20275c786334273a202741272c20275c786335273a202741272c0a20202020275c786530273a202761272c2020275c786531273a202761272c20275c786532273a202761272c20275c786533273a202761272c20275c786534273a202761272c20275c786535273a202761272c0a20202020275c786337273a202743272c2020275c786537273a202763272c0a20202020275c786430273a202744272c2020275c786630273a202764272c0a20202020275c786338273a202745272c2020275c786339273a202745272c20275c786361273a202745272c20275c786362273a202745272c0a20202020275c786538273a202765272c2020275c786539273a202765272c20275c786561273a202765272c20275c786562273a202765272c0a20202020275c786363273a202749272c2020275c786364273a202749272c20275c786365273a202749272c20275c786366273a202749272c0a20202020275c786563273a202769272c2020275c786564273a202769272c20275c786565273a202769272c20275c786566273a202769272c0a20202020275c786431273a20274e272c2020275c786631273a20276e272c0a20202020275c786432273a20274f272c2020275c786433273a20274f272c20275c786434273a20274f272c20275c786435273a20274f272c20275c786436273a20274f272c20275c786438273a20274f272c0a20202020275c786632273a20276f272c2020275c786633273a20276f272c20275c786634273a20276f272c20275c786635273a20276f272c20275c786636273a20276f272c20275c786638273a20276f272c0a20202020275c786439273a202755272c2020275c786461273a202755272c20275c786462273a202755272c20275c786463273a202755272c0a20202020275c786639273a202775272c2020275c786661273a202775272c20275c786662273a202775272c20275c786663273a202775272c0a20202020275c786464273a202759272c2020275c786664273a202779272c20275c786666273a202779272c0a20202020275c786336273a20274165272c20275c786536273a20276165272c0a20202020275c786465273a20275468272c20275c786665273a20277468272c0a20202020275c786466273a20277373272c0a202020202f2f204c6174696e20457874656e6465642d4120626c6f636b2e0a20202020275c7530313030273a202741272c2020275c7530313032273a202741272c20275c7530313034273a202741272c0a20202020275c7530313031273a202761272c2020275c7530313033273a202761272c20275c7530313035273a202761272c0a20202020275c7530313036273a202743272c2020275c7530313038273a202743272c20275c7530313061273a202743272c20275c7530313063273a202743272c0a20202020275c7530313037273a202763272c2020275c7530313039273a202763272c20275c7530313062273a202763272c20275c7530313064273a202763272c0a20202020275c7530313065273a202744272c2020275c7530313130273a202744272c20275c7530313066273a202764272c20275c7530313131273a202764272c0a20202020275c7530313132273a202745272c2020275c7530313134273a202745272c20275c7530313136273a202745272c20275c7530313138273a202745272c20275c7530313161273a202745272c0a20202020275c7530313133273a202765272c2020275c7530313135273a202765272c20275c7530313137273a202765272c20275c7530313139273a202765272c20275c7530313162273a202765272c0a20202020275c7530313163273a202747272c2020275c7530313165273a202747272c20275c7530313230273a202747272c20275c7530313232273a202747272c0a20202020275c7530313164273a202767272c2020275c7530313166273a202767272c20275c7530313231273a202767272c20275c7530313233273a202767272c0a20202020275c7530313234273a202748272c2020275c7530313236273a202748272c20275c7530313235273a202768272c20275c7530313237273a202768272c0a20202020275c7530313238273a202749272c2020275c7530313261273a202749272c20275c7530313263273a202749272c20275c7530313265273a202749272c20275c7530313330273a202749272c0a20202020275c7530313239273a202769272c2020275c7530313262273a202769272c20275c7530313264273a202769272c20275c7530313266273a202769272c20275c7530313331273a202769272c0a20202020275c7530313334273a20274a272c2020275c7530313335273a20276a272c0a20202020275c7530313336273a20274b272c2020275c7530313337273a20276b272c20275c7530313338273a20276b272c0a20202020275c7530313339273a20274c272c2020275c7530313362273a20274c272c20275c7530313364273a20274c272c20275c7530313366273a20274c272c20275c7530313431273a20274c272c0a20202020275c7530313361273a20276c272c2020275c7530313363273a20276c272c20275c7530313365273a20276c272c20275c7530313430273a20276c272c20275c7530313432273a20276c272c0a20202020275c7530313433273a20274e272c2020275c7530313435273a20274e272c20275c7530313437273a20274e272c20275c7530313461273a20274e272c0a20202020275c7530313434273a20276e272c2020275c7530313436273a20276e272c20275c7530313438273a20276e272c20275c7530313462273a20276e272c0a20202020275c7530313463273a20274f272c2020275c7530313465273a20274f272c20275c7530313530273a20274f272c0a20202020275c7530313464273a20276f272c2020275c7530313466273a20276f272c20275c7530313531273a20276f272c0a20202020275c7530313534273a202752272c2020275c7530313536273a202752272c20275c7530313538273a202752272c0a20202020275c7530313535273a202772272c2020275c7530313537273a202772272c20275c7530313539273a202772272c0a20202020275c7530313561273a202753272c2020275c7530313563273a202753272c20275c7530313565273a202753272c20275c7530313630273a202753272c0a20202020275c7530313562273a202773272c2020275c7530313564273a202773272c20275c7530313566273a202773272c20275c7530313631273a202773272c0a20202020275c7530313632273a202754272c2020275c7530313634273a202754272c20275c7530313636273a202754272c0a20202020275c7530313633273a202774272c2020275c7530313635273a202774272c20275c7530313637273a202774272c0a20202020275c7530313638273a202755272c2020275c7530313661273a202755272c20275c7530313663273a202755272c20275c7530313665273a202755272c20275c7530313730273a202755272c20275c7530313732273a202755272c0a20202020275c7530313639273a202775272c2020275c7530313662273a202775272c20275c7530313664273a202775272c20275c7530313666273a202775272c20275c7530313731273a202775272c20275c7530313733273a202775272c0a20202020275c7530313734273a202757272c2020275c7530313735273a202777272c0a20202020275c7530313736273a202759272c2020275c7530313737273a202779272c20275c7530313738273a202759272c0a20202020275c7530313739273a20275a272c2020275c7530313762273a20275a272c20275c7530313764273a20275a272c0a20202020275c7530313761273a20277a272c2020275c7530313763273a20277a272c20275c7530313765273a20277a272c0a20202020275c7530313332273a2027494a272c20275c7530313333273a2027696a272c0a20202020275c7530313532273a20274f65272c20275c7530313533273a20276f65272c0a20202020275c7530313439273a2022276e222c20275c7530313766273a202773270a20207d3b0a0a20202f2a2a205573656420746f206d6170206368617261637465727320746f2048544d4c20656e7469746965732e202a2f0a20207661722068746d6c45736361706573203d207b0a202020202726273a202726616d703b272c0a20202020273c273a2027266c743b272c0a20202020273e273a20272667743b272c0a202020202722273a20272671756f743b272c0a202020202227223a2027262333393b270a20207d3b0a0a20202f2a2a205573656420746f206d61702048544d4c20656e74697469657320746f20636861726163746572732e202a2f0a20207661722068746d6c556e65736361706573203d207b0a202020202726616d703b273a202726272c0a2020202027266c743b273a20273c272c0a20202020272667743b273a20273e272c0a20202020272671756f743b273a202722272c0a2020202027262333393b273a202227220a20207d3b0a0a20202f2a2a205573656420746f20657363617065206368617261637465727320666f7220696e636c7573696f6e20696e20636f6d70696c656420737472696e67206c69746572616c732e202a2f0a202076617220737472696e6745736361706573203d207b0a20202020275c5c273a20275c5c272c0a202020202227223a202227222c0a20202020275c6e273a20276e272c0a20202020275c72273a202772272c0a20202020275c7532303238273a20277532303238272c0a20202020275c7532303239273a20277532303239270a20207d3b0a0a20202f2a2a204275696c742d696e206d6574686f64207265666572656e63657320776974686f7574206120646570656e64656e6379206f6e2060726f6f74602e202a2f0a202076617220667265655061727365466c6f6174203d207061727365466c6f61742c0a202020202020667265655061727365496e74203d207061727365496e743b0a0a20202f2a2a204465746563742066726565207661726961626c652060676c6f62616c602066726f6d204e6f64652e6a732e202a2f0a20207661722066726565476c6f62616c203d20747970656f6620676c6f62616c203d3d20276f626a6563742720262620676c6f62616c20262620676c6f62616c2e4f626a656374203d3d3d204f626a65637420262620676c6f62616c3b0a0a20202f2a2a204465746563742066726565207661726961626c65206073656c66602e202a2f0a2020766172206672656553656c66203d20747970656f662073656c66203d3d20276f626a656374272026262073656c662026262073656c662e4f626a656374203d3d3d204f626a6563742026262073656c663b0a0a20202f2a2a20557365642061732061207265666572656e636520746f2074686520676c6f62616c206f626a6563742e202a2f0a202076617220726f6f74203d2066726565476c6f62616c207c7c206672656553656c66207c7c2046756e6374696f6e282772657475726e2074686973272928293b0a0a20202f2a2a204465746563742066726565207661726961626c6520606578706f727473602e202a2f0a202076617220667265654578706f727473203d20747970656f66206578706f727473203d3d20276f626a65637427202626206578706f72747320262620216578706f7274732e6e6f646554797065202626206578706f7274733b0a0a20202f2a2a204465746563742066726565207661726961626c6520606d6f64756c65602e202a2f0a202076617220667265654d6f64756c65203d20667265654578706f72747320262620747970656f66206d6f64756c65203d3d20276f626a65637427202626206d6f64756c6520262620216d6f64756c652e6e6f646554797065202626206d6f64756c653b0a0a20202f2a2a204465746563742074686520706f70756c617220436f6d6d6f6e4a5320657874656e73696f6e20606d6f64756c652e6578706f727473602e202a2f0a2020766172206d6f64756c654578706f727473203d20667265654d6f64756c6520262620667265654d6f64756c652e6578706f727473203d3d3d20667265654578706f7274733b0a0a20202f2a2a204465746563742066726565207661726961626c65206070726f63657373602066726f6d204e6f64652e6a732e202a2f0a2020766172206672656550726f63657373203d206d6f64756c654578706f7274732026262066726565476c6f62616c2e70726f636573733b0a0a20202f2a2a205573656420746f2061636365737320666173746572204e6f64652e6a732068656c706572732e202a2f0a2020766172206e6f64655574696c203d202866756e6374696f6e2829207b0a20202020747279207b0a20202020202072657475726e206672656550726f63657373202626206672656550726f636573732e62696e64696e67202626206672656550726f636573732e62696e64696e6728277574696c27293b0a202020207d20636174636820286529207b7d0a20207d2829293b0a0a20202f2a204e6f64652e6a732068656c706572207265666572656e6365732e202a2f0a2020766172206e6f646549734172726179427566666572203d206e6f64655574696c202626206e6f64655574696c2e697341727261794275666665722c0a2020202020206e6f6465497344617465203d206e6f64655574696c202626206e6f64655574696c2e6973446174652c0a2020202020206e6f646549734d6170203d206e6f64655574696c202626206e6f64655574696c2e69734d61702c0a2020202020206e6f64654973526567457870203d206e6f64655574696c202626206e6f64655574696c2e69735265674578702c0a2020202020206e6f64654973536574203d206e6f64655574696c202626206e6f64655574696c2e69735365742c0a2020202020206e6f6465497354797065644172726179203d206e6f64655574696c202626206e6f64655574696c2e6973547970656441727261793b0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2a2a0a2020202a204164647320746865206b65792d76616c75652060706169726020746f20606d6170602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f206d6f646966792e0a2020202a2040706172616d207b41727261797d207061697220546865206b65792d76616c7565207061697220746f206164642e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320606d6170602e0a2020202a2f0a202066756e6374696f6e206164644d6170456e747279286d61702c207061697229207b0a202020202f2f20446f6e27742072657475726e20606d61702e7365746020626563617573652069742773206e6f7420636861696e61626c6520696e2049452031312e0a202020206d61702e73657428706169725b305d2c20706169725b315d293b0a2020202072657475726e206d61703b0a20207d0a0a20202f2a2a0a2020202a2041646473206076616c75656020746f2060736574602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f206d6f646966792e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206164642e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e732060736574602e0a2020202a2f0a202066756e6374696f6e20616464536574456e747279287365742c2076616c756529207b0a202020202f2f20446f6e27742072657475726e20607365742e6164646020626563617573652069742773206e6f7420636861696e61626c6520696e2049452031312e0a202020207365742e6164642876616c7565293b0a2020202072657475726e207365743b0a20207d0a0a20202f2a2a0a2020202a20412066617374657220616c7465726e617469766520746f206046756e6374696f6e236170706c79602c20746869732066756e6374696f6e20696e766f6b6573206066756e63600a2020202a207769746820746865206074686973602062696e64696e67206f662060746869734172676020616e642074686520617267756d656e7473206f66206061726773602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20696e766f6b652e0a2020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a2020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f66206066756e63602e0a2020202a2f0a202066756e6374696f6e206170706c792866756e632c20746869734172672c206172677329207b0a202020207377697463682028617267732e6c656e67746829207b0a2020202020206361736520303a2072657475726e2066756e632e63616c6c2874686973417267293b0a2020202020206361736520313a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d293b0a2020202020206361736520323a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d2c20617267735b315d293b0a2020202020206361736520333a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d2c20617267735b315d2c20617267735b325d293b0a202020207d0a2020202072657475726e2066756e632e6170706c7928746869734172672c2061726773293b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620606261736541676772656761746f726020666f72206172726179732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a2020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d206b6579732e0a2020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c2061676772656761746564206f626a6563742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a2020202a2f0a202066756e6374696f6e20617272617941676772656761746f722861727261792c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a20202020202073657474657228616363756d756c61746f722c2076616c75652c2069746572617465652876616c7565292c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e666f72456163686020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e206172726179456163682861727261792c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020206966202869746572617465652861727261795b696e6465785d2c20696e6465782c20617272617929203d3d3d2066616c736529207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e666f724561636852696768746020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e2061727261794561636852696768742861727261792c20697465726174656529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520286c656e6774682d2d29207b0a2020202020206966202869746572617465652861727261795b6c656e6774685d2c206c656e6774682c20617272617929203d3d3d2066616c736529207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e65766572796020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a2020202a2020656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20617272617945766572792861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028217072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020207d0a2020202072657475726e20747275653b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e66696c7465726020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a2020202a2f0a202066756e6374696f6e20617272617946696c7465722861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020726573496e646578203d20302c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a202020202020696620287072656469636174652876616c75652c20696e6465782c2061727261792929207b0a2020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e696e636c756465736020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2073706563696679696e6720616e20696e64657820746f207365617263682066726f6d2e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20746172676574205468652076616c756520746f2073656172636820666f722e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607461726765746020697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179496e636c756465732861727261792c2076616c756529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202072657475726e2021216c656e6774682026262062617365496e6465784f662861727261792c2076616c75652c203029203e202d313b0a20207d0a0a20202f2a2a0a2020202a20546869732066756e6374696f6e206973206c696b6520606172726179496e636c75646573602065786365707420746861742069742061636365707473206120636f6d70617261746f722e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20746172676574205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607461726765746020697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179496e636c75646573576974682861727261792c2076616c75652c20636f6d70617261746f7229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028636f6d70617261746f722876616c75652c2061727261795b696e6465785d2929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a202020207d0a2020202072657475726e2066616c73653b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6d61706020666f722061727261797320776974686f757420737570706f727420666f722069746572617465650a2020202a2073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a2020202a2f0a202066756e6374696f6e2061727261794d61702861727261792c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020726573756c74203d204172726179286c656e677468293b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020726573756c745b696e6465785d203d2069746572617465652861727261795b696e6465785d2c20696e6465782c206172726179293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20417070656e64732074686520656c656d656e7473206f66206076616c7565736020746f20606172726179602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a2020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f20617070656e642e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e206172726179507573682861727261792c2076616c75657329207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2076616c7565732e6c656e6774682c0a20202020202020206f6666736574203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202061727261795b6f6666736574202b20696e6465785d203d2076616c7565735b696e6465785d3b0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e7265647563656020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d205b696e6974416363756d5d2053706563696679207573696e672074686520666972737420656c656d656e74206f6620606172726179602061730a2020202a202074686520696e697469616c2076616c75652e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e2061727261795265647563652861727261792c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d29207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a2020202069662028696e6974416363756d202626206c656e67746829207b0a202020202020616363756d756c61746f72203d2061727261795b2b2b696e6465785d3b0a202020207d0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020616363756d756c61746f72203d20697465726174656528616363756d756c61746f722c2061727261795b696e6465785d2c20696e6465782c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e72656475636552696768746020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d205b696e6974416363756d5d2053706563696679207573696e6720746865206c61737420656c656d656e74206f6620606172726179602061730a2020202a202074686520696e697469616c2076616c75652e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e20617272617952656475636552696768742861727261792c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d29207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202069662028696e6974416363756d202626206c656e67746829207b0a202020202020616363756d756c61746f72203d2061727261795b2d2d6c656e6774685d3b0a202020207d0a202020207768696c6520286c656e6774682d2d29207b0a202020202020616363756d756c61746f72203d20697465726174656528616363756d756c61746f722c2061727261795b6c656e6774685d2c206c656e6774682c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e736f6d656020666f722061727261797320776974686f757420737570706f727420666f722069746572617465650a2020202a2073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a2020202a2020656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179536f6d652861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020696620287072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a202020207d0a2020202072657475726e2066616c73653b0a20207d0a0a20202f2a2a0a2020202a2047657473207468652073697a65206f6620616e2041534349492060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202076617220617363696953697a65203d206261736550726f706572747928276c656e67746827293b0a0a20202f2a2a0a2020202a20436f6e766572747320616e2041534349492060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e206173636969546f417272617928737472696e6729207b0a2020202072657475726e20737472696e672e73706c6974282727293b0a20207d0a0a20202f2a2a0a2020202a2053706c69747320616e2041534349492060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a2020202a2f0a202066756e6374696f6e206173636969576f72647328737472696e6729207b0a2020202072657475726e20737472696e672e6d617463682872654173636969576f726429207c7c205b5d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e66696e644b65796020616e6420605f2e66696e644c6173744b6579602c0a2020202a20776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732c207768696368206974657261746573206f7665722060636f6c6c656374696f6e600a2020202a207573696e6720606561636846756e63602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f7665722060636f6c6c656374696f6e602e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520666f756e6420656c656d656e74206f7220697473206b65792c20656c73652060756e646566696e6564602e0a2020202a2f0a202066756e6374696f6e206261736546696e644b657928636f6c6c656374696f6e2c207072656469636174652c206561636846756e6329207b0a2020202076617220726573756c743b0a202020206561636846756e6328636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a202020202020696620287072656469636174652876616c75652c206b65792c20636f6c6c656374696f6e2929207b0a2020202020202020726573756c74203d206b65793b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696e64496e6465786020616e6420605f2e66696e644c617374496e6465786020776974686f75740a2020202a20737570706f727420666f722069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e206261736546696e64496e6465782861727261792c207072656469636174652c2066726f6d496e6465782c2066726f6d526967687429207b0a20202020766172206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020696e646578203d2066726f6d496e646578202b202866726f6d5269676874203f2031203a202d31293b0a0a202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e6774682929207b0a202020202020696620287072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e6465784f666020776974686f7574206066726f6d496e6465786020626f756e647320636865636b732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e2062617365496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202072657475726e2076616c7565203d3d3d2076616c75650a2020202020203f20737472696374496e6465784f662861727261792c2076616c75652c2066726f6d496e646578290a2020202020203a206261736546696e64496e6465782861727261792c206261736549734e614e2c2066726f6d496e646578293b0a20207d0a0a20202f2a2a0a2020202a20546869732066756e6374696f6e206973206c696b65206062617365496e6465784f66602065786365707420746861742069742061636365707473206120636f6d70617261746f722e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e2062617365496e6465784f66576974682861727261792c2076616c75652c2066726f6d496e6465782c20636f6d70617261746f7229207b0a2020202076617220696e646578203d2066726f6d496e646578202d20312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028636f6d70617261746f722861727261795b696e6465785d2c2076616c75652929207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734e614e6020776974686f757420737570706f727420666f72206e756d626572206f626a656374732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320604e614e602c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206261736549734e614e2876616c756529207b0a2020202072657475726e2076616c756520213d3d2076616c75653b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d65616e6020616e6420605f2e6d65616e42796020776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a2020202a2f0a202066756e6374696f6e20626173654d65616e2861727261792c20697465726174656529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202072657475726e206c656e677468203f20286261736553756d2861727261792c20697465726174656529202f206c656e67746829203a204e414e3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70726f70657274796020776974686f757420737570706f727420666f7220646565702070617468732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206261736550726f7065727479286b657929207b0a2020202072657475726e2066756e6374696f6e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70726f70657274794f666020776974686f757420737570706f727420666f7220646565702070617468732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206261736550726f70657274794f66286f626a65637429207b0a2020202072657475726e2066756e6374696f6e286b657929207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7265647563656020616e6420605f2e7265647563655269676874602c20776974686f757420737570706f72740a2020202a20666f722069746572617465652073686f727468616e64732c207768696368206974657261746573206f7665722060636f6c6c656374696f6e60207573696e6720606561636846756e63602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d20616363756d756c61746f722054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d20696e6974416363756d2053706563696679207573696e6720746865206669727374206f72206c61737420656c656d656e74206f660a2020202a202060636f6c6c656374696f6e602061732074686520696e697469616c2076616c75652e0a2020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f7665722060636f6c6c656374696f6e602e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e206261736552656475636528636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d2c206561636846756e6329207b0a202020206561636846756e6328636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a202020202020616363756d756c61746f72203d20696e6974416363756d0a20202020202020203f2028696e6974416363756d203d2066616c73652c2076616c7565290a20202020202020203a20697465726174656528616363756d756c61746f722c2076616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020207d293b0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f727442796020776869636820757365732060636f6d70617265726020746f20646566696e65207468650a2020202a20736f7274206f72646572206f66206061727261796020616e64207265706c61636573206372697465726961206f626a65637473207769746820746865697220636f72726573706f6e64696e670a2020202a2076616c7565732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736f72742e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d7061726572205468652066756e6374696f6e20746f20646566696e6520736f7274206f726465722e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e2062617365536f727442792861727261792c20636f6d706172657229207b0a20202020766172206c656e677468203d2061727261792e6c656e6774683b0a0a2020202061727261792e736f727428636f6d7061726572293b0a202020207768696c6520286c656e6774682d2d29207b0a20202020202061727261795b6c656e6774685d203d2061727261795b6c656e6774685d2e76616c75653b0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73756d6020616e6420605f2e73756d42796020776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a2020202a2f0a202066756e6374696f6e206261736553756d2861727261792c20697465726174656529207b0a2020202076617220726573756c742c0a2020202020202020696e646578203d202d312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722063757272656e74203d2069746572617465652861727261795b696e6465785d293b0a2020202020206966202863757272656e7420213d3d20756e646566696e656429207b0a2020202020202020726573756c74203d20726573756c74203d3d3d20756e646566696e6564203f2063757272656e74203a2028726573756c74202b2063757272656e74293b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e74696d65736020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64730a2020202a206f72206d6178206172726179206c656e67746820636865636b732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f20696e766f6b6520606974657261746565602e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a2020202a2f0a202066756e6374696f6e206261736554696d6573286e2c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179286e293b0a0a202020207768696c6520282b2b696e646578203c206e29207b0a202020202020726573756c745b696e6465785d203d20697465726174656528696e646578293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f50616972736020616e6420605f2e746f5061697273496e60207768696368206372656174657320616e2061727261790a2020202a206f66206b65792d76616c756520706169727320666f7220606f626a6563746020636f72726573706f6e64696e6720746f207468652070726f7065727479206e616d6573206f66206070726f7073602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f206765742076616c75657320666f722e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206b65792d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e2062617365546f5061697273286f626a6563742c2070726f707329207b0a2020202072657475726e2061727261794d61702870726f70732c2066756e6374696f6e286b657929207b0a20202020202072657475726e205b6b65792c206f626a6563745b6b65795d5d3b0a202020207d293b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e6172796020776974686f757420737570706f727420666f722073746f72696e67206d657461646174612e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e2062617365556e6172792866756e6329207b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066756e632876616c7565293b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e76616c7565736020616e6420605f2e76616c756573496e60207768696368206372656174657320616e0a2020202a206172726179206f6620606f626a656374602070726f70657274792076616c75657320636f72726573706f6e64696e6720746f207468652070726f7065727479206e616d65730a2020202a206f66206070726f7073602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f206765742076616c75657320666f722e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a2020202a2f0a202066756e6374696f6e206261736556616c756573286f626a6563742c2070726f707329207b0a2020202072657475726e2061727261794d61702870726f70732c2066756e6374696f6e286b657929207b0a20202020202072657475726e206f626a6563745b6b65795d3b0a202020207d293b0a20207d0a0a20202f2a2a0a2020202a20436865636b73206966206120606361636865602076616c756520666f7220606b657960206578697374732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d2063616368652054686520636163686520746f2071756572792e0a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e2063616368654861732863616368652c206b657929207b0a2020202072657475726e2063616368652e686173286b6579293b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e7472696d6020616e6420605f2e7472696d53746172746020746f206765742074686520696e646578206f662074686520666972737420737472696e672073796d626f6c0a2020202a2074686174206973206e6f7420666f756e6420696e20746865206368617261637465722073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2073747253796d626f6c732054686520737472696e672073796d626f6c7320746f20696e73706563742e0a2020202a2040706172616d207b41727261797d2063687253796d626f6c7320546865206368617261637465722073796d626f6c7320746f2066696e642e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666972737420756e6d61746368656420737472696e672073796d626f6c2e0a2020202a2f0a202066756e6374696f6e2063686172735374617274496e6465782873747253796d626f6c732c2063687253796d626f6c7329207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2073747253796d626f6c732e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e6774682026262062617365496e6465784f662863687253796d626f6c732c2073747253796d626f6c735b696e6465785d2c203029203e202d3129207b7d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e7472696d6020616e6420605f2e7472696d456e646020746f206765742074686520696e646578206f6620746865206c61737420737472696e672073796d626f6c0a2020202a2074686174206973206e6f7420666f756e6420696e20746865206368617261637465722073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2073747253796d626f6c732054686520737472696e672073796d626f6c7320746f20696e73706563742e0a2020202a2040706172616d207b41727261797d2063687253796d626f6c7320546865206368617261637465722073796d626f6c7320746f2066696e642e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206c61737420756e6d61746368656420737472696e672073796d626f6c2e0a2020202a2f0a202066756e6374696f6e206368617273456e64496e6465782873747253796d626f6c732c2063687253796d626f6c7329207b0a2020202076617220696e646578203d2073747253796d626f6c732e6c656e6774683b0a0a202020207768696c652028696e6465782d2d2026262062617365496e6465784f662863687253796d626f6c732c2073747253796d626f6c735b696e6465785d2c203029203e202d3129207b7d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a204765747320746865206e756d626572206f662060706c616365686f6c64657260206f6363757272656e63657320696e20606172726179602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c64657220746f2073656172636820666f722e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520706c616365686f6c64657220636f756e742e0a2020202a2f0a202066756e6374696f6e20636f756e74486f6c646572732861727261792c20706c616365686f6c64657229207b0a20202020766172206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020726573756c74203d20303b0a0a202020207768696c6520286c656e6774682d2d29207b0a2020202020206966202861727261795b6c656e6774685d203d3d3d20706c616365686f6c64657229207b0a20202020202020202b2b726573756c743b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e6465627572726020746f20636f6e76657274204c6174696e2d3120537570706c656d656e7420616e64204c6174696e20457874656e6465642d410a2020202a206c65747465727320746f206261736963204c6174696e206c6574746572732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d206c657474657220546865206d617463686564206c657474657220746f206465627572722e0a2020202a204072657475726e73207b737472696e677d2052657475726e7320746865206465627572726564206c65747465722e0a2020202a2f0a2020766172206465627572724c6574746572203d206261736550726f70657274794f662864656275727265644c657474657273293b0a0a20202f2a2a0a2020202a205573656420627920605f2e6573636170656020746f20636f6e76657274206368617261637465727320746f2048544d4c20656e7469746965732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f206573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e73207468652065736361706564206368617261637465722e0a2020202a2f0a20207661722065736361706548746d6c43686172203d206261736550726f70657274794f662868746d6c45736361706573293b0a0a20202f2a2a0a2020202a205573656420627920605f2e74656d706c6174656020746f20657363617065206368617261637465727320666f7220696e636c7573696f6e20696e20636f6d70696c656420737472696e67206c69746572616c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f206573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e73207468652065736361706564206368617261637465722e0a2020202a2f0a202066756e6374696f6e20657363617065537472696e67436861722863687229207b0a2020202072657475726e20275c5c27202b20737472696e67457363617065735b6368725d3b0a20207d0a0a20202f2a2a0a2020202a2047657473207468652076616c756520617420606b657960206f6620606f626a656374602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a2020202a204072657475726e73207b2a7d2052657475726e73207468652070726f70657274792076616c75652e0a2020202a2f0a202066756e6374696f6e2067657456616c7565286f626a6563742c206b657929207b0a2020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a20207d0a0a20202f2a2a0a2020202a20436865636b732069662060737472696e676020636f6e7461696e7320556e69636f64652073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620612073796d626f6c20697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20686173556e69636f646528737472696e6729207b0a2020202072657475726e207265486173556e69636f64652e7465737428737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436865636b732069662060737472696e676020636f6e7461696e73206120776f726420636f6d706f736564206f6620556e69636f64652073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206120776f726420697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20686173556e69636f6465576f726428737472696e6729207b0a2020202072657475726e207265486173556e69636f6465576f72642e7465737428737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320606974657261746f726020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206974657261746f7220546865206974657261746f7220746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e206974657261746f72546f4172726179286974657261746f7229207b0a2020202076617220646174612c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c652028212864617461203d206974657261746f722e6e6578742829292e646f6e6529207b0a202020202020726573756c742e7075736828646174612e76616c7565293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320606d61706020746f20697473206b65792d76616c75652070616972732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e206d6170546f4172726179286d617029207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179286d61702e73697a65293b0a0a202020206d61702e666f72456163682866756e6374696f6e2876616c75652c206b657929207b0a202020202020726573756c745b2b2b696e6465785d203d205b6b65792c2076616c75655d3b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2043726561746573206120756e6172792066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682069747320617267756d656e74207472616e73666f726d65642e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a2020202a2040706172616d207b46756e6374696f6e7d207472616e73666f726d2054686520617267756d656e74207472616e73666f726d2e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206f7665724172672866756e632c207472616e73666f726d29207b0a2020202072657475726e2066756e6374696f6e2861726729207b0a20202020202072657475726e2066756e63287472616e73666f726d2861726729293b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a205265706c6163657320616c6c2060706c616365686f6c6465726020656c656d656e747320696e2060617272617960207769746820616e20696e7465726e616c20706c616365686f6c6465720a2020202a20616e642072657475726e7320616e206172726179206f6620746865697220696e64657865732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a2020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c64657220746f207265706c6163652e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620706c616365686f6c64657220696e64657865732e0a2020202a2f0a202066756e6374696f6e207265706c616365486f6c646572732861727261792c20706c616365686f6c64657229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020726573496e646578203d20302c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020206966202876616c7565203d3d3d20706c616365686f6c646572207c7c2076616c7565203d3d3d20504c414345484f4c44455229207b0a202020202020202061727261795b696e6465785d203d20504c414345484f4c4445523b0a2020202020202020726573756c745b726573496e6465782b2b5d203d20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320607365746020746f20616e206172726179206f66206974732076616c7565732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e73207468652076616c7565732e0a2020202a2f0a202066756e6374696f6e20736574546f41727261792873657429207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179287365742e73697a65293b0a0a202020207365742e666f72456163682866756e6374696f6e2876616c756529207b0a202020202020726573756c745b2b2b696e6465785d203d2076616c75653b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320607365746020746f206974732076616c75652d76616c75652070616972732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e73207468652076616c75652d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e20736574546f50616972732873657429207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179287365742e73697a65293b0a0a202020207365742e666f72456163682866756e6374696f6e2876616c756529207b0a202020202020726573756c745b2b2b696e6465785d203d205b76616c75652c2076616c75655d3b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e696e6465784f666020776869636820706572666f726d732073747269637420657175616c6974790a2020202a20636f6d70617269736f6e73206f662076616c7565732c20692e652e20603d3d3d602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e20737472696374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202076617220696e646578203d2066726f6d496e646578202d20312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020206966202861727261795b696e6465785d203d3d3d2076616c756529207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6c617374496e6465784f666020776869636820706572666f726d732073747269637420657175616c6974790a2020202a20636f6d70617269736f6e73206f662076616c7565732c20692e652e20603d3d3d602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e207374726963744c617374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202076617220696e646578203d2066726f6d496e646578202b20313b0a202020207768696c652028696e6465782d2d29207b0a2020202020206966202861727261795b696e6465785d203d3d3d2076616c756529207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a204765747320746865206e756d626572206f662073796d626f6c7320696e2060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202066756e6374696f6e20737472696e6753697a6528737472696e6729207b0a2020202072657475726e20686173556e69636f646528737472696e67290a2020202020203f20756e69636f646553697a6528737472696e67290a2020202020203a20617363696953697a6528737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436f6e76657274732060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e20737472696e67546f417272617928737472696e6729207b0a2020202072657475726e20686173556e69636f646528737472696e67290a2020202020203f20756e69636f6465546f417272617928737472696e67290a2020202020203a206173636969546f417272617928737472696e67293b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e756e6573636170656020746f20636f6e766572742048544d4c20656e74697469657320746f20636861726163746572732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f20756e6573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e65736361706564206368617261637465722e0a2020202a2f0a202076617220756e65736361706548746d6c43686172203d206261736550726f70657274794f662868746d6c556e65736361706573293b0a0a20202f2a2a0a2020202a2047657473207468652073697a65206f66206120556e69636f64652060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202066756e6374696f6e20756e69636f646553697a6528737472696e6729207b0a2020202076617220726573756c74203d207265556e69636f64652e6c617374496e646578203d20303b0a202020207768696c6520287265556e69636f64652e7465737428737472696e672929207b0a2020202020202b2b726573756c743b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e7665727473206120556e69636f64652060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e20756e69636f6465546f417272617928737472696e6729207b0a2020202072657475726e20737472696e672e6d61746368287265556e69636f646529207c7c205b5d3b0a20207d0a0a20202f2a2a0a2020202a2053706c697473206120556e69636f64652060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a2020202a2f0a202066756e6374696f6e20756e69636f6465576f72647328737472696e6729207b0a2020202072657475726e20737472696e672e6d61746368287265556e69636f6465576f726429207c7c205b5d3b0a20207d0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2a2a0a2020202a204372656174652061206e6577207072697374696e6520606c6f64617368602066756e6374696f6e207573696e67207468652060636f6e7465787460206f626a6563742e0a2020202a0a2020202a20407374617469630a2020202a20406d656d6265724f66205f0a2020202a204073696e636520312e312e300a2020202a204063617465676f7279205574696c0a2020202a2040706172616d207b4f626a6563747d205b636f6e746578743d726f6f745d2054686520636f6e74657874206f626a6563742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732061206e657720606c6f64617368602066756e6374696f6e2e0a2020202a20406578616d706c650a2020202a0a2020202a205f2e6d6978696e287b2027666f6f273a205f2e636f6e7374616e742827666f6f2729207d293b0a2020202a0a2020202a20766172206c6f64617368203d205f2e72756e496e436f6e7465787428293b0a2020202a206c6f646173682e6d6978696e287b2027626172273a206c6f646173682e636f6e7374616e7428276261722729207d293b0a2020202a0a2020202a205f2e697346756e6374696f6e285f2e666f6f293b0a2020202a202f2f203d3e20747275650a2020202a205f2e697346756e6374696f6e285f2e626172293b0a2020202a202f2f203d3e2066616c73650a2020202a0a2020202a206c6f646173682e697346756e6374696f6e286c6f646173682e666f6f293b0a2020202a202f2f203d3e2066616c73650a2020202a206c6f646173682e697346756e6374696f6e286c6f646173682e626172293b0a2020202a202f2f203d3e20747275650a2020202a0a2020202a202f2f2043726561746520612073757065642d7570206064656665726020696e204e6f64652e6a732e0a2020202a20766172206465666572203d205f2e72756e496e436f6e74657874287b202773657454696d656f7574273a20736574496d6d656469617465207d292e64656665723b0a2020202a2f0a20207661722072756e496e436f6e74657874203d202866756e6374696f6e2072756e496e436f6e7465787428636f6e7465787429207b0a20202020636f6e74657874203d20636f6e74657874203d3d206e756c6c203f20726f6f74203a205f2e64656661756c747328726f6f742e4f626a65637428292c20636f6e746578742c205f2e7069636b28726f6f742c20636f6e7465787450726f707329293b0a0a202020202f2a2a204275696c742d696e20636f6e7374727563746f72207265666572656e6365732e202a2f0a20202020766172204172726179203d20636f6e746578742e41727261792c0a202020202020202044617465203d20636f6e746578742e446174652c0a20202020202020204572726f72203d20636f6e746578742e4572726f722c0a202020202020202046756e6374696f6e203d20636f6e746578742e46756e6374696f6e2c0a20202020202020204d617468203d20636f6e746578742e4d6174682c0a20202020202020204f626a656374203d20636f6e746578742e4f626a6563742c0a2020202020202020526567457870203d20636f6e746578742e5265674578702c0a2020202020202020537472696e67203d20636f6e746578742e537472696e672c0a2020202020202020547970654572726f72203d20636f6e746578742e547970654572726f723b0a0a202020202f2a2a205573656420666f72206275696c742d696e206d6574686f64207265666572656e6365732e202a2f0a2020202076617220617272617950726f746f203d2041727261792e70726f746f747970652c0a202020202020202066756e6350726f746f203d2046756e6374696f6e2e70726f746f747970652c0a20202020202020206f626a65637450726f746f203d204f626a6563742e70726f746f747970653b0a0a202020202f2a2a205573656420746f20646574656374206f7665727265616368696e6720636f72652d6a73207368696d732e202a2f0a2020202076617220636f72654a7344617461203d20636f6e746578745b275f5f636f72652d6a735f7368617265645f5f275d3b0a0a202020202f2a2a205573656420746f207265736f6c766520746865206465636f6d70696c656420736f75726365206f662066756e6374696f6e732e202a2f0a202020207661722066756e63546f537472696e67203d2066756e6350726f746f2e746f537472696e673b0a0a202020202f2a2a205573656420746f20636865636b206f626a6563747320666f72206f776e2070726f706572746965732e202a2f0a20202020766172206861734f776e50726f7065727479203d206f626a65637450726f746f2e6861734f776e50726f70657274793b0a0a202020202f2a2a205573656420746f2067656e657261746520756e69717565204944732e202a2f0a20202020766172206964436f756e746572203d20303b0a0a202020202f2a2a205573656420746f20646574656374206d6574686f6473206d6173717565726164696e67206173206e61746976652e202a2f0a20202020766172206d61736b5372634b6579203d202866756e6374696f6e2829207b0a20202020202076617220756964203d202f5b5e2e5d2b242f2e6578656328636f72654a734461746120262620636f72654a73446174612e6b65797320262620636f72654a73446174612e6b6579732e49455f50524f544f207c7c202727293b0a20202020202072657475726e20756964203f20282753796d626f6c28737263295f312e27202b2075696429203a2027273b0a202020207d2829293b0a0a202020202f2a2a0a20202020202a205573656420746f207265736f6c7665207468650a20202020202a205b60746f537472696e67546167605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e70726f746f747970652e746f737472696e67290a20202020202a206f662076616c7565732e0a20202020202a2f0a20202020766172206e61746976654f626a656374546f537472696e67203d206f626a65637450726f746f2e746f537472696e673b0a0a202020202f2a2a205573656420746f20696e6665722074686520604f626a6563746020636f6e7374727563746f722e202a2f0a20202020766172206f626a65637443746f72537472696e67203d2066756e63546f537472696e672e63616c6c284f626a656374293b0a0a202020202f2a2a205573656420746f20726573746f726520746865206f726967696e616c20605f60207265666572656e636520696e20605f2e6e6f436f6e666c696374602e202a2f0a20202020766172206f6c6444617368203d20726f6f742e5f3b0a0a202020202f2a2a205573656420746f206465746563742069662061206d6574686f64206973206e61746976652e202a2f0a2020202076617220726549734e6174697665203d2052656745787028275e27202b0a20202020202066756e63546f537472696e672e63616c6c286861734f776e50726f7065727479292e7265706c616365287265526567457870436861722c20275c5c242627290a2020202020202e7265706c616365282f6861734f776e50726f70657274797c2866756e6374696f6e292e2a3f283f3d5c5c5c28297c20666f72202e2b3f283f3d5c5c5c5d292f672c202724312e2a3f2729202b202724270a20202020293b0a0a202020202f2a2a204275696c742d696e2076616c7565207265666572656e6365732e202a2f0a2020202076617220427566666572203d206d6f64756c654578706f727473203f20636f6e746578742e427566666572203a20756e646566696e65642c0a202020202020202053796d626f6c203d20636f6e746578742e53796d626f6c2c0a202020202020202055696e74384172726179203d20636f6e746578742e55696e743841727261792c0a2020202020202020616c6c6f63556e73616665203d20427566666572203f204275666665722e616c6c6f63556e73616665203a20756e646566696e65642c0a202020202020202067657450726f746f74797065203d206f766572417267284f626a6563742e67657450726f746f747970654f662c204f626a656374292c0a20202020202020206f626a656374437265617465203d204f626a6563742e6372656174652c0a202020202020202070726f70657274794973456e756d657261626c65203d206f626a65637450726f746f2e70726f70657274794973456e756d657261626c652c0a202020202020202073706c696365203d20617272617950726f746f2e73706c6963652c0a202020202020202073707265616461626c6553796d626f6c203d2053796d626f6c203f2053796d626f6c2e6973436f6e63617453707265616461626c65203a20756e646566696e65642c0a202020202020202073796d4974657261746f72203d2053796d626f6c203f2053796d626f6c2e6974657261746f72203a20756e646566696e65642c0a202020202020202073796d546f537472696e67546167203d2053796d626f6c203f2053796d626f6c2e746f537472696e67546167203a20756e646566696e65643b0a0a2020202076617220646566696e6550726f7065727479203d202866756e6374696f6e2829207b0a202020202020747279207b0a20202020202020207661722066756e63203d206765744e6174697665284f626a6563742c2027646566696e6550726f706572747927293b0a202020202020202066756e63287b7d2c2027272c207b7d293b0a202020202020202072657475726e2066756e633b0a2020202020207d20636174636820286529207b7d0a202020207d2829293b0a0a202020202f2a2a204d6f636b6564206275696c742d696e732e202a2f0a2020202076617220637478436c65617254696d656f7574203d20636f6e746578742e636c65617254696d656f757420213d3d20726f6f742e636c65617254696d656f757420262620636f6e746578742e636c65617254696d656f75742c0a20202020202020206374784e6f77203d204461746520262620446174652e6e6f7720213d3d20726f6f742e446174652e6e6f7720262620446174652e6e6f772c0a202020202020202063747853657454696d656f7574203d20636f6e746578742e73657454696d656f757420213d3d20726f6f742e73657454696d656f757420262620636f6e746578742e73657454696d656f75743b0a0a202020202f2a204275696c742d696e206d6574686f64207265666572656e63657320666f722074686f73652077697468207468652073616d65206e616d65206173206f7468657220606c6f6461736860206d6574686f64732e202a2f0a20202020766172206e61746976654365696c203d204d6174682e6365696c2c0a20202020202020206e6174697665466c6f6f72203d204d6174682e666c6f6f722c0a20202020202020206e617469766547657453796d626f6c73203d204f626a6563742e6765744f776e50726f706572747953796d626f6c732c0a20202020202020206e61746976654973427566666572203d20427566666572203f204275666665722e6973427566666572203a20756e646566696e65642c0a20202020202020206e6174697665497346696e697465203d20636f6e746578742e697346696e6974652c0a20202020202020206e61746976654a6f696e203d20617272617950726f746f2e6a6f696e2c0a20202020202020206e61746976654b657973203d206f766572417267284f626a6563742e6b6579732c204f626a656374292c0a20202020202020206e61746976654d6178203d204d6174682e6d61782c0a20202020202020206e61746976654d696e203d204d6174682e6d696e2c0a20202020202020206e61746976654e6f77203d20446174652e6e6f772c0a20202020202020206e61746976655061727365496e74203d20636f6e746578742e7061727365496e742c0a20202020202020206e617469766552616e646f6d203d204d6174682e72616e646f6d2c0a20202020202020206e617469766552657665727365203d20617272617950726f746f2e726576657273653b0a0a202020202f2a204275696c742d696e206d6574686f64207265666572656e63657320746861742061726520766572696669656420746f206265206e61746976652e202a2f0a20202020766172204461746156696577203d206765744e617469766528636f6e746578742c2027446174615669657727292c0a20202020202020204d6170203d206765744e617469766528636f6e746578742c20274d617027292c0a202020202020202050726f6d697365203d206765744e617469766528636f6e746578742c202750726f6d69736527292c0a2020202020202020536574203d206765744e617469766528636f6e746578742c202753657427292c0a20202020202020205765616b4d6170203d206765744e617469766528636f6e746578742c20275765616b4d617027292c0a20202020202020206e6174697665437265617465203d206765744e6174697665284f626a6563742c202763726561746527293b0a0a202020202f2a2a205573656420746f2073746f72652066756e6374696f6e206d657461646174612e202a2f0a20202020766172206d6574614d6170203d205765616b4d6170202626206e6577205765616b4d61703b0a0a202020202f2a2a205573656420746f206c6f6f6b757020756e6d696e69666965642066756e6374696f6e206e616d65732e202a2f0a20202020766172207265616c4e616d6573203d207b7d3b0a0a202020202f2a2a205573656420746f20646574656374206d6170732c20736574732c20616e64207765616b6d6170732e202a2f0a2020202076617220646174615669657743746f72537472696e67203d20746f536f75726365284461746156696577292c0a20202020202020206d617043746f72537472696e67203d20746f536f75726365284d6170292c0a202020202020202070726f6d69736543746f72537472696e67203d20746f536f757263652850726f6d697365292c0a202020202020202073657443746f72537472696e67203d20746f536f7572636528536574292c0a20202020202020207765616b4d617043746f72537472696e67203d20746f536f75726365285765616b4d6170293b0a0a202020202f2a2a205573656420746f20636f6e766572742073796d626f6c7320746f207072696d69746976657320616e6420737472696e67732e202a2f0a202020207661722073796d626f6c50726f746f203d2053796d626f6c203f2053796d626f6c2e70726f746f74797065203a20756e646566696e65642c0a202020202020202073796d626f6c56616c75654f66203d2073796d626f6c50726f746f203f2073796d626f6c50726f746f2e76616c75654f66203a20756e646566696e65642c0a202020202020202073796d626f6c546f537472696e67203d2073796d626f6c50726f746f203f2073796d626f6c50726f746f2e746f537472696e67203a20756e646566696e65643b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860206f626a656374207768696368207772617073206076616c75656020746f20656e61626c6520696d706c69636974206d6574686f640a20202020202a20636861696e2073657175656e6365732e204d6574686f64732074686174206f706572617465206f6e20616e642072657475726e206172726179732c20636f6c6c656374696f6e732c0a20202020202a20616e642066756e6374696f6e732063616e20626520636861696e656420746f6765746865722e204d6574686f6473207468617420726574726965766520612073696e676c652076616c75650a20202020202a206f72206d61792072657475726e2061207072696d69746976652076616c75652077696c6c206175746f6d61746963616c6c7920656e642074686520636861696e2073657175656e63650a20202020202a20616e642072657475726e2074686520756e777261707065642076616c75652e204f74686572776973652c207468652076616c7565206d75737420626520756e777261707065640a20202020202a207769746820605f2376616c7565602e0a20202020202a0a20202020202a204578706c6963697420636861696e2073657175656e6365732c207768696368206d75737420626520756e77726170706564207769746820605f2376616c7565602c206d61792062650a20202020202a20656e61626c6564207573696e6720605f2e636861696e602e0a20202020202a0a20202020202a2054686520657865637574696f6e206f6620636861696e6564206d6574686f6473206973206c617a792c20746861742069732c206974277320646566657272656420756e74696c0a20202020202a20605f2376616c75656020697320696d706c696369746c79206f72206578706c696369746c792063616c6c65642e0a20202020202a0a20202020202a204c617a79206576616c756174696f6e20616c6c6f7773207365766572616c206d6574686f647320746f20737570706f72742073686f727463757420667573696f6e2e0a20202020202a2053686f727463757420667573696f6e20697320616e206f7074696d697a6174696f6e20746f206d657267652069746572617465652063616c6c733b20746869732061766f6964730a20202020202a20746865206372656174696f6e206f6620696e7465726d6564696174652061727261797320616e642063616e2067726561746c792072656475636520746865206e756d626572206f660a20202020202a20697465726174656520657865637574696f6e732e2053656374696f6e73206f66206120636861696e2073657175656e6365207175616c69667920666f722073686f72746375740a20202020202a20667573696f6e206966207468652073656374696f6e206973206170706c69656420746f20616e20617272617920616e642069746572617465657320616363657074206f6e6c790a20202020202a206f6e6520617267756d656e742e205468652068657572697374696320666f72207768657468657220612073656374696f6e207175616c696669657320666f722073686f72746375740a20202020202a20667573696f6e206973207375626a65637420746f206368616e67652e0a20202020202a0a20202020202a20436861696e696e6720697320737570706f7274656420696e20637573746f6d206275696c6473206173206c6f6e672061732074686520605f2376616c756560206d6574686f642069730a20202020202a206469726563746c79206f7220696e6469726563746c7920696e636c7564656420696e20746865206275696c642e0a20202020202a0a20202020202a20496e206164646974696f6e20746f206c6f64617368206d6574686f64732c2077726170706572732068617665206041727261796020616e642060537472696e6760206d6574686f64732e0a20202020202a0a20202020202a2054686520777261707065722060417272617960206d6574686f6473206172653a0a20202020202a2060636f6e636174602c20606a6f696e602c2060706f70602c206070757368602c20607368696674602c2060736f7274602c206073706c696365602c20616e642060756e7368696674600a20202020202a0a20202020202a2054686520777261707065722060537472696e6760206d6574686f6473206172653a0a20202020202a20607265706c6163656020616e64206073706c6974600a20202020202a0a20202020202a205468652077726170706572206d6574686f6473207468617420737570706f72742073686f727463757420667573696f6e206172653a0a20202020202a20606174602c2060636f6d70616374602c206064726f70602c206064726f705269676874602c206064726f705768696c65602c206066696c746572602c206066696e64602c0a20202020202a206066696e644c617374602c206068656164602c2060696e697469616c602c20606c617374602c20606d6170602c206072656a656374602c206072657665727365602c2060736c696365602c0a20202020202a20607461696c602c206074616b65602c206074616b655269676874602c206074616b6552696768745768696c65602c206074616b655768696c65602c20616e642060746f4172726179600a20202020202a0a20202020202a2054686520636861696e61626c652077726170706572206d6574686f6473206172653a0a20202020202a20606166746572602c2060617279602c206061737369676e602c206061737369676e496e602c206061737369676e496e57697468602c206061737369676e57697468602c20606174602c0a20202020202a20606265666f7265602c206062696e64602c206062696e64416c6c602c206062696e644b6579602c2060636173744172726179602c2060636861696e602c20606368756e6b602c0a20202020202a2060636f6d6d6974602c2060636f6d70616374602c2060636f6e636174602c2060636f6e666f726d73602c2060636f6e7374616e74602c2060636f756e744279602c2060637265617465602c0a20202020202a20606375727279602c20606465626f756e6365602c206064656661756c7473602c206064656661756c747344656570602c20606465666572602c206064656c6179602c0a20202020202a2060646966666572656e6365602c2060646966666572656e63654279602c2060646966666572656e636557697468602c206064726f70602c206064726f705269676874602c0a20202020202a206064726f7052696768745768696c65602c206064726f705768696c65602c2060657874656e64602c2060657874656e6457697468602c206066696c6c602c206066696c746572602c0a20202020202a2060666c61744d6170602c2060666c61744d617044656570602c2060666c61744d61704465707468602c2060666c617474656e602c2060666c617474656e44656570602c0a20202020202a2060666c617474656e4465707468602c2060666c6970602c2060666c6f77602c2060666c6f775269676874602c206066726f6d5061697273602c206066756e6374696f6e73602c0a20202020202a206066756e6374696f6e73496e602c206067726f75704279602c2060696e697469616c602c2060696e74657273656374696f6e602c2060696e74657273656374696f6e4279602c0a20202020202a2060696e74657273656374696f6e57697468602c2060696e76657274602c2060696e766572744279602c2060696e766f6b654d6170602c20606974657261746565602c20606b65794279602c0a20202020202a20606b657973602c20606b657973496e602c20606d6170602c20606d61704b657973602c20606d617056616c756573602c20606d617463686573602c20606d61746368657350726f7065727479602c0a20202020202a20606d656d6f697a65602c20606d65726765602c20606d6572676557697468602c20606d6574686f64602c20606d6574686f644f66602c20606d6978696e602c20606e6567617465602c0a20202020202a20606e7468417267602c20606f6d6974602c20606f6d69744279602c20606f6e6365602c20606f726465724279602c20606f766572602c20606f76657241726773602c0a20202020202a20606f7665724576657279602c20606f766572536f6d65602c20607061727469616c602c20607061727469616c5269676874602c2060706172746974696f6e602c20607069636b602c0a20202020202a20607069636b4279602c2060706c616e74602c206070726f7065727479602c206070726f70657274794f66602c206070756c6c602c206070756c6c416c6c602c206070756c6c416c6c4279602c0a20202020202a206070756c6c416c6c57697468602c206070756c6c4174602c206070757368602c206072616e6765602c206072616e67655269676874602c20607265617267602c206072656a656374602c0a20202020202a206072656d6f7665602c206072657374602c206072657665727365602c206073616d706c6553697a65602c2060736574602c206073657457697468602c206073687566666c65602c0a20202020202a2060736c696365602c2060736f7274602c2060736f72744279602c206073706c696365602c2060737072656164602c20607461696c602c206074616b65602c206074616b655269676874602c0a20202020202a206074616b6552696768745768696c65602c206074616b655768696c65602c2060746170602c20607468726f74746c65602c206074687275602c2060746f4172726179602c0a20202020202a2060746f5061697273602c2060746f5061697273496e602c2060746f50617468602c2060746f506c61696e4f626a656374602c20607472616e73666f726d602c2060756e617279602c0a20202020202a2060756e696f6e602c2060756e696f6e4279602c2060756e696f6e57697468602c2060756e6971602c2060756e69714279602c2060756e697157697468602c2060756e736574602c0a20202020202a2060756e7368696674602c2060756e7a6970602c2060756e7a697057697468602c2060757064617465602c206075706461746557697468602c206076616c756573602c0a20202020202a206076616c756573496e602c2060776974686f7574602c206077726170602c2060786f72602c2060786f724279602c2060786f7257697468602c20607a6970602c0a20202020202a20607a69704f626a656374602c20607a69704f626a65637444656570602c20616e6420607a697057697468600a20202020202a0a20202020202a205468652077726170706572206d6574686f6473207468617420617265202a2a6e6f742a2a20636861696e61626c652062792064656661756c74206172653a0a20202020202a2060616464602c2060617474656d7074602c206063616d656c43617365602c20606361706974616c697a65602c20606365696c602c2060636c616d70602c2060636c6f6e65602c0a20202020202a2060636c6f6e6544656570602c2060636c6f6e654465657057697468602c2060636c6f6e6557697468602c2060636f6e666f726d73546f602c2060646562757272602c0a20202020202a206064656661756c74546f602c2060646976696465602c206065616368602c2060656163685269676874602c2060656e647357697468602c20606571602c2060657363617065602c0a20202020202a2060657363617065526567457870602c20606576657279602c206066696e64602c206066696e64496e646578602c206066696e644b6579602c206066696e644c617374602c0a20202020202a206066696e644c617374496e646578602c206066696e644c6173744b6579602c20606669727374602c2060666c6f6f72602c2060666f7245616368602c2060666f72456163685269676874602c0a20202020202a2060666f72496e602c2060666f72496e5269676874602c2060666f724f776e602c2060666f724f776e5269676874602c2060676574602c20606774602c2060677465602c2060686173602c0a20202020202a2060686173496e602c206068656164602c20606964656e74697479602c2060696e636c75646573602c2060696e6465784f66602c2060696e52616e6765602c2060696e766f6b65602c0a20202020202a20606973417267756d656e7473602c206069734172726179602c206069734172726179427566666572602c2060697341727261794c696b65602c2060697341727261794c696b654f626a656374602c0a20202020202a20606973426f6f6c65616e602c20606973427566666572602c2060697344617465602c20606973456c656d656e74602c20606973456d707479602c20606973457175616c602c0a20202020202a20606973457175616c57697468602c206069734572726f72602c2060697346696e697465602c2060697346756e6374696f6e602c20606973496e7465676572602c206069734c656e677468602c0a20202020202a206069734d6170602c206069734d61746368602c206069734d6174636857697468602c206069734e614e602c206069734e6174697665602c206069734e696c602c206069734e756c6c602c0a20202020202a206069734e756d626572602c206069734f626a656374602c206069734f626a6563744c696b65602c20606973506c61696e4f626a656374602c20606973526567457870602c0a20202020202a2060697353616665496e7465676572602c20606973536574602c20606973537472696e67602c20606973556e646566696e6564602c2060697354797065644172726179602c0a20202020202a206069735765616b4d6170602c206069735765616b536574602c20606a6f696e602c20606b6562616243617365602c20606c617374602c20606c617374496e6465784f66602c0a20202020202a20606c6f77657243617365602c20606c6f7765724669727374602c20606c74602c20606c7465602c20606d6178602c20606d61784279602c20606d65616e602c20606d65616e4279602c0a20202020202a20606d696e602c20606d696e4279602c20606d756c7469706c79602c20606e6f436f6e666c696374602c20606e6f6f70602c20606e6f77602c20606e7468602c2060706164602c0a20202020202a2060706164456e64602c20607061645374617274602c20607061727365496e74602c2060706f70602c206072616e646f6d602c2060726564756365602c20607265647563655269676874602c0a20202020202a2060726570656174602c2060726573756c74602c2060726f756e64602c206072756e496e436f6e74657874602c206073616d706c65602c20607368696674602c206073697a65602c0a20202020202a2060736e616b6543617365602c2060736f6d65602c2060736f72746564496e646578602c2060736f72746564496e6465784279602c2060736f727465644c617374496e646578602c0a20202020202a2060736f727465644c617374496e6465784279602c2060737461727443617365602c206073746172747357697468602c2060737475624172726179602c20607374756246616c7365602c0a20202020202a2060737475624f626a656374602c206073747562537472696e67602c20607374756254727565602c20607375627472616374602c206073756d602c206073756d4279602c0a20202020202a206074656d706c617465602c206074696d6573602c2060746f46696e697465602c2060746f496e7465676572602c2060746f4a534f4e602c2060746f4c656e677468602c0a20202020202a2060746f4c6f776572602c2060746f4e756d626572602c2060746f53616665496e7465676572602c2060746f537472696e67602c2060746f5570706572602c20607472696d602c0a20202020202a20607472696d456e64602c20607472696d5374617274602c20607472756e63617465602c2060756e657363617065602c2060756e697175654964602c2060757070657243617365602c0a20202020202a206075707065724669727374602c206076616c7565602c20616e642060776f726473600a20202020202a0a20202020202a20406e616d65205f0a20202020202a2040636f6e7374727563746f720a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207772617020696e206120606c6f646173686020696e7374616e63652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20322c20335d293b0a20202020202a0a20202020202a202f2f2052657475726e7320616e20756e777261707065642076616c75652e0a20202020202a20777261707065642e726564756365285f2e616464293b0a20202020202a202f2f203d3e20360a20202020202a0a20202020202a202f2f2052657475726e73206120777261707065642076616c75652e0a20202020202a207661722073717561726573203d20777261707065642e6d617028737175617265293b0a20202020202a0a20202020202a205f2e697341727261792873717561726573293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973417272617928737175617265732e76616c75652829293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206c6f646173682876616c756529207b0a2020202020206966202869734f626a6563744c696b652876616c7565292026262021697341727261792876616c75652920262620212876616c756520696e7374616e63656f66204c617a79577261707065722929207b0a20202020202020206966202876616c756520696e7374616e63656f66204c6f646173685772617070657229207b0a2020202020202020202072657475726e2076616c75653b0a20202020202020207d0a2020202020202020696620286861734f776e50726f70657274792e63616c6c2876616c75652c20275f5f777261707065645f5f272929207b0a2020202020202020202072657475726e2077726170706572436c6f6e652876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e6577204c6f64617368577261707065722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6372656174656020776974686f757420737570706f727420666f722061737369676e696e670a20202020202a2070726f7065727469657320746f207468652063726561746564206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d2070726f746f20546865206f626a65637420746f20696e68657269742066726f6d2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a202020207661722062617365437265617465203d202866756e6374696f6e2829207b0a20202020202066756e6374696f6e206f626a6563742829207b7d0a20202020202072657475726e2066756e6374696f6e2870726f746f29207b0a2020202020202020696620282169734f626a6563742870726f746f2929207b0a2020202020202020202072657475726e207b7d3b0a20202020202020207d0a2020202020202020696620286f626a65637443726561746529207b0a2020202020202020202072657475726e206f626a6563744372656174652870726f746f293b0a20202020202020207d0a20202020202020206f626a6563742e70726f746f74797065203d2070726f746f3b0a202020202020202076617220726573756c74203d206e6577206f626a6563743b0a20202020202020206f626a6563742e70726f746f74797065203d20756e646566696e65643b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d2829293b0a0a202020202f2a2a0a20202020202a205468652066756e6374696f6e2077686f73652070726f746f7479706520636861696e2073657175656e636520777261707065727320696e68657269742066726f6d2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2f0a2020202066756e6374696f6e20626173654c6f646173682829207b0a2020202020202f2f204e6f206f7065726174696f6e20706572666f726d65642e0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520636f6e7374727563746f7220666f72206372656174696e6720606c6f64617368602077726170706572206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2040706172616d207b626f6f6c65616e7d205b636861696e416c6c5d20456e61626c65206578706c69636974206d6574686f6420636861696e2073657175656e6365732e0a20202020202a2f0a2020202066756e6374696f6e204c6f64617368577261707065722876616c75652c20636861696e416c6c29207b0a202020202020746869732e5f5f777261707065645f5f203d2076616c75653b0a202020202020746869732e5f5f616374696f6e735f5f203d205b5d3b0a202020202020746869732e5f5f636861696e5f5f203d202121636861696e416c6c3b0a202020202020746869732e5f5f696e6465785f5f203d20303b0a202020202020746869732e5f5f76616c7565735f5f203d20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2042792064656661756c742c207468652074656d706c6174652064656c696d69746572732075736564206279206c6f6461736820617265206c696b652074686f736520696e0a20202020202a20656d62656464656420527562792028455242292061732077656c6c206173204553323031352074656d706c61746520737472696e67732e204368616e6765207468650a20202020202a20666f6c6c6f77696e672074656d706c6174652073657474696e677320746f2075736520616c7465726e61746976652064656c696d69746572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204074797065207b4f626a6563747d0a20202020202a2f0a202020206c6f646173682e74656d706c61746553657474696e6773203d207b0a0a2020202020202f2a2a0a202020202020202a205573656420746f20646574656374206064617461602070726f70657274792076616c75657320746f2062652048544d4c2d657363617065642e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a20202020202027657363617065273a2072654573636170652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f2064657465637420636f646520746f206265206576616c75617465642e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a202020202020276576616c75617465273a2072654576616c756174652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f20646574656374206064617461602070726f70657274792076616c75657320746f20696e6a6563742e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a20202020202027696e746572706f6c617465273a207265496e746572706f6c6174652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f207265666572656e6365207468652064617461206f626a65637420696e207468652074656d706c61746520746578742e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b737472696e677d0a202020202020202a2f0a202020202020277661726961626c65273a2027272c0a0a2020202020202f2a2a0a202020202020202a205573656420746f20696d706f7274207661726961626c657320696e746f2074686520636f6d70696c65642074656d706c6174652e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b4f626a6563747d0a202020202020202a2f0a20202020202027696d706f727473273a207b0a0a20202020202020202f2a2a0a2020202020202020202a2041207265666572656e636520746f2074686520606c6f64617368602066756e6374696f6e2e0a2020202020202020202a0a2020202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67732e696d706f7274730a2020202020202020202a204074797065207b46756e6374696f6e7d0a2020202020202020202a2f0a2020202020202020275f273a206c6f646173680a2020202020207d0a202020207d3b0a0a202020202f2f20456e737572652077726170706572732061726520696e7374616e636573206f662060626173654c6f64617368602e0a202020206c6f646173682e70726f746f74797065203d20626173654c6f646173682e70726f746f747970653b0a202020206c6f646173682e70726f746f747970652e636f6e7374727563746f72203d206c6f646173683b0a0a202020204c6f64617368577261707065722e70726f746f74797065203d206261736543726561746528626173654c6f646173682e70726f746f74797065293b0a202020204c6f64617368577261707065722e70726f746f747970652e636f6e7374727563746f72203d204c6f64617368577261707065723b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20437265617465732061206c617a792077726170706572206f626a656374207768696368207772617073206076616c75656020746f20656e61626c65206c617a79206576616c756174696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2f0a2020202066756e6374696f6e204c617a79577261707065722876616c756529207b0a202020202020746869732e5f5f777261707065645f5f203d2076616c75653b0a202020202020746869732e5f5f616374696f6e735f5f203d205b5d3b0a202020202020746869732e5f5f6469725f5f203d20313b0a202020202020746869732e5f5f66696c74657265645f5f203d2066616c73653b0a202020202020746869732e5f5f6974657261746565735f5f203d205b5d3b0a202020202020746869732e5f5f74616b65436f756e745f5f203d204d41585f41525241595f4c454e4754483b0a202020202020746869732e5f5f76696577735f5f203d205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620746865206c617a792077726170706572206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6f6e650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e656420604c617a795772617070657260206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206c617a79436c6f6e652829207b0a20202020202076617220726573756c74203d206e6577204c617a795772617070657228746869732e5f5f777261707065645f5f293b0a202020202020726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928746869732e5f5f616374696f6e735f5f293b0a202020202020726573756c742e5f5f6469725f5f203d20746869732e5f5f6469725f5f3b0a202020202020726573756c742e5f5f66696c74657265645f5f203d20746869732e5f5f66696c74657265645f5f3b0a202020202020726573756c742e5f5f6974657261746565735f5f203d20636f7079417272617928746869732e5f5f6974657261746565735f5f293b0a202020202020726573756c742e5f5f74616b65436f756e745f5f203d20746869732e5f5f74616b65436f756e745f5f3b0a202020202020726573756c742e5f5f76696577735f5f203d20636f7079417272617928746869732e5f5f76696577735f5f293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2052657665727365732074686520646972656374696f6e206f66206c617a7920697465726174696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520726576657273650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720726576657273656420604c617a795772617070657260206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206c617a79526576657273652829207b0a20202020202069662028746869732e5f5f66696c74657265645f5f29207b0a202020202020202076617220726573756c74203d206e6577204c617a79577261707065722874686973293b0a2020202020202020726573756c742e5f5f6469725f5f203d202d313b0a2020202020202020726573756c742e5f5f66696c74657265645f5f203d20747275653b0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d20746869732e636c6f6e6528293b0a2020202020202020726573756c742e5f5f6469725f5f202a3d202d313b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2045787472616374732074686520756e777261707065642076616c75652066726f6d20697473206c617a7920777261707065722e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652076616c75650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b2a7d2052657475726e732074686520756e777261707065642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206c617a7956616c75652829207b0a202020202020766172206172726179203d20746869732e5f5f777261707065645f5f2e76616c756528292c0a20202020202020202020646972203d20746869732e5f5f6469725f5f2c0a202020202020202020206973417272203d2069734172726179286172726179292c0a2020202020202020202069735269676874203d20646972203c20302c0a202020202020202020206172724c656e677468203d206973417272203f2061727261792e6c656e677468203a20302c0a2020202020202020202076696577203d206765745669657728302c206172724c656e6774682c20746869732e5f5f76696577735f5f292c0a202020202020202020207374617274203d20766965772e73746172742c0a20202020202020202020656e64203d20766965772e656e642c0a202020202020202020206c656e677468203d20656e64202d2073746172742c0a20202020202020202020696e646578203d2069735269676874203f20656e64203a20287374617274202d2031292c0a20202020202020202020697465726174656573203d20746869732e5f5f6974657261746565735f5f2c0a20202020202020202020697465724c656e677468203d206974657261746565732e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a2020202020202020202074616b65436f756e74203d206e61746976654d696e286c656e6774682c20746869732e5f5f74616b65436f756e745f5f293b0a0a20202020202069662028216973417272207c7c20282169735269676874202626206172724c656e677468203d3d206c656e6774682026262074616b65436f756e74203d3d206c656e6774682929207b0a202020202020202072657475726e20626173655772617070657256616c75652861727261792c20746869732e5f5f616374696f6e735f5f293b0a2020202020207d0a20202020202076617220726573756c74203d205b5d3b0a0a2020202020206f757465723a0a2020202020207768696c6520286c656e6774682d2d20262620726573496e646578203c2074616b65436f756e7429207b0a2020202020202020696e646578202b3d206469723b0a0a20202020202020207661722069746572496e646578203d202d312c0a20202020202020202020202076616c7565203d2061727261795b696e6465785d3b0a0a20202020202020207768696c6520282b2b69746572496e646578203c20697465724c656e67746829207b0a202020202020202020207661722064617461203d206974657261746565735b69746572496e6465785d2c0a20202020202020202020202020206974657261746565203d20646174612e69746572617465652c0a202020202020202020202020202074797065203d20646174612e747970652c0a2020202020202020202020202020636f6d7075746564203d2069746572617465652876616c7565293b0a0a202020202020202020206966202874797065203d3d204c415a595f4d41505f464c414729207b0a20202020202020202020202076616c7565203d20636f6d70757465643b0a202020202020202020207d20656c7365206966202821636f6d707574656429207b0a2020202020202020202020206966202874797065203d3d204c415a595f46494c5445525f464c414729207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020627265616b206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2f20456e7375726520604c617a79577261707065726020697320616e20696e7374616e6365206f662060626173654c6f64617368602e0a202020204c617a79577261707065722e70726f746f74797065203d206261736543726561746528626173654c6f646173682e70726f746f74797065293b0a202020204c617a79577261707065722e70726f746f747970652e636f6e7374727563746f72203d204c617a79577261707065723b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320612068617368206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204861736828656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d2074686520686173682e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f6620486173680a20202020202a2f0a2020202066756e6374696f6e2068617368436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d206e6174697665437265617465203f206e6174697665437265617465286e756c6c29203a207b7d3b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d2074686520686173682e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b4f626a6563747d206861736820546865206861736820746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206861736844656c657465286b657929207b0a20202020202076617220726573756c74203d20746869732e686173286b6579292026262064656c65746520746869732e5f5f646174615f5f5b6b65795d3b0a202020202020746869732e73697a65202d3d20726573756c74203f2031203a20303b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520686173682076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2068617368476574286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020696620286e617469766543726561746529207b0a202020202020202076617220726573756c74203d20646174615b6b65795d3b0a202020202020202072657475726e20726573756c74203d3d3d20484153485f554e444546494e4544203f20756e646566696e6564203a20726573756c743b0a2020202020207d0a20202020202072657475726e206861734f776e50726f70657274792e63616c6c28646174612c206b657929203f20646174615b6b65795d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206120686173682076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2068617368486173286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a20202020202072657475726e206e6174697665437265617465203f2028646174615b6b65795d20213d3d20756e646566696e656429203a206861734f776e50726f70657274792e63616c6c28646174612c206b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206861736820606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206861736820696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e2068617368536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020746869732e73697a65202b3d20746869732e686173286b657929203f2030203a20313b0a202020202020646174615b6b65795d203d20286e61746976654372656174652026262076616c7565203d3d3d20756e646566696e656429203f20484153485f554e444546494e4544203a2076616c75653b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f206048617368602e0a20202020486173682e70726f746f747970652e636c656172203d2068617368436c6561723b0a20202020486173682e70726f746f747970655b2764656c657465275d203d206861736844656c6574653b0a20202020486173682e70726f746f747970652e676574203d20686173684765743b0a20202020486173682e70726f746f747970652e686173203d20686173684861733b0a20202020486173682e70726f746f747970652e736574203d20686173685365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206c697374206361636865206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204c697374436163686528656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d20746865206c6973742063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d205b5d3b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d20746865206c6973742063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206c697374436163686544656c657465286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202069662028696e646578203c203029207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020766172206c617374496e646578203d20646174612e6c656e677468202d20313b0a20202020202069662028696e646578203d3d206c617374496e64657829207b0a2020202020202020646174612e706f7028293b0a2020202020207d20656c7365207b0a202020202020202073706c6963652e63616c6c28646174612c20696e6465782c2031293b0a2020202020207d0a2020202020202d2d746869732e73697a653b0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206c6973742063616368652076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865476574286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202072657475726e20696e646578203c2030203f20756e646566696e6564203a20646174615b696e6465785d5b315d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662061206c6973742063616368652076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865486173286b657929207b0a20202020202072657475726e206173736f63496e6465784f6628746869732e5f5f646174615f5f2c206b657929203e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206c69737420636163686520606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206c69737420636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202069662028696e646578203c203029207b0a20202020202020202b2b746869732e73697a653b0a2020202020202020646174612e70757368285b6b65792c2076616c75655d293b0a2020202020207d20656c7365207b0a2020202020202020646174615b696e6465785d5b315d203d2076616c75653b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20604c6973744361636865602e0a202020204c69737443616368652e70726f746f747970652e636c656172203d206c6973744361636865436c6561723b0a202020204c69737443616368652e70726f746f747970655b2764656c657465275d203d206c697374436163686544656c6574653b0a202020204c69737443616368652e70726f746f747970652e676574203d206c69737443616368654765743b0a202020204c69737443616368652e70726f746f747970652e686173203d206c69737443616368654861733b0a202020204c69737443616368652e70726f746f747970652e736574203d206c69737443616368655365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20437265617465732061206d6170206361636865206f626a65637420746f2073746f7265206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204d6170436163686528656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d20746865206d61702e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2f0a2020202066756e6374696f6e206d61704361636865436c6561722829207b0a202020202020746869732e73697a65203d20303b0a202020202020746869732e5f5f646174615f5f203d207b0a20202020202020202768617368273a206e657720486173682c0a2020202020202020276d6170273a206e657720284d6170207c7c204c6973744361636865292c0a202020202020202027737472696e67273a206e657720486173680a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d20746865206d61702e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206d6170436163686544656c657465286b657929207b0a20202020202076617220726573756c74203d206765744d61704461746128746869732c206b6579295b2764656c657465275d286b6579293b0a202020202020746869732e73697a65202d3d20726573756c74203f2031203a20303b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206d61702076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865476574286b657929207b0a20202020202072657475726e206765744d61704461746128746869732c206b6579292e676574286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662061206d61702076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865486173286b657929207b0a20202020202072657475726e206765744d61704461746128746869732c206b6579292e686173286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206d617020606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206d617020636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865536574286b65792c2076616c756529207b0a2020202020207661722064617461203d206765744d61704461746128746869732c206b6579292c0a2020202020202020202073697a65203d20646174612e73697a653b0a0a202020202020646174612e736574286b65792c2076616c7565293b0a202020202020746869732e73697a65202b3d20646174612e73697a65203d3d2073697a65203f2030203a20313b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20604d61704361636865602e0a202020204d617043616368652e70726f746f747970652e636c656172203d206d61704361636865436c6561723b0a202020204d617043616368652e70726f746f747970655b2764656c657465275d203d206d6170436163686544656c6574653b0a202020204d617043616368652e70726f746f747970652e676574203d206d617043616368654765743b0a202020204d617043616368652e70726f746f747970652e686173203d206d617043616368654861733b0a202020204d617043616368652e70726f746f747970652e736574203d206d617043616368655365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a0a20202020202a204372656174657320616e206172726179206361636865206f626a65637420746f2073746f726520756e697175652076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b76616c7565735d205468652076616c75657320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e2053657443616368652876616c75657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2076616c756573203d3d206e756c6c203f2030203a2076616c7565732e6c656e6774683b0a0a202020202020746869732e5f5f646174615f5f203d206e6577204d617043616368653b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020746869732e6164642876616c7565735b696e6465785d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2041646473206076616c75656020746f207468652061727261792063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206164640a20202020202a20406d656d6265724f662053657443616368650a20202020202a2040616c69617320707573680a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2063616368652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e2073657443616368654164642876616c756529207b0a202020202020746869732e5f5f646174615f5f2e7365742876616c75652c20484153485f554e444546494e4544293b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320696e207468652061727261792063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f662053657443616368650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320607472756560206966206076616c75656020697320666f756e642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2073657443616368654861732876616c756529207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e6861732876616c7565293b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20605365744361636865602e0a2020202053657443616368652e70726f746f747970652e616464203d2053657443616368652e70726f746f747970652e70757368203d2073657443616368654164643b0a2020202053657443616368652e70726f746f747970652e686173203d2073657443616368654861733b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120737461636b206361636865206f626a65637420746f2073746f7265206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e20537461636b28656e747269657329207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f203d206e6577204c697374436163686528656e7472696573293b0a202020202020746869732e73697a65203d20646174612e73697a653b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d2074686520737461636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f6620537461636b0a20202020202a2f0a2020202066756e6374696f6e20737461636b436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d206e6577204c69737443616368653b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d2074686520737461636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20737461636b44656c657465286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020726573756c74203d20646174615b2764656c657465275d286b6579293b0a0a202020202020746869732e73697a65203d20646174612e73697a653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520737461636b2076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20737461636b476574286b657929207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e676574286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206120737461636b2076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20737461636b486173286b657929207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e686173286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20536574732074686520737461636b20606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520737461636b20636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e20737461636b536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020696620286461746120696e7374616e63656f66204c697374436163686529207b0a2020202020202020766172207061697273203d20646174612e5f5f646174615f5f3b0a202020202020202069662028214d6170207c7c202870616972732e6c656e677468203c204c415247455f41525241595f53495a45202d20312929207b0a2020202020202020202070616972732e70757368285b6b65792c2076616c75655d293b0a20202020202020202020746869732e73697a65203d202b2b646174612e73697a653b0a2020202020202020202072657475726e20746869733b0a20202020202020207d0a202020202020202064617461203d20746869732e5f5f646174615f5f203d206e6577204d61704361636865287061697273293b0a2020202020207d0a202020202020646174612e736574286b65792c2076616c7565293b0a202020202020746869732e73697a65203d20646174612e73697a653b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f2060537461636b602e0a20202020537461636b2e70726f746f747970652e636c656172203d20737461636b436c6561723b0a20202020537461636b2e70726f746f747970655b2764656c657465275d203d20737461636b44656c6574653b0a20202020537461636b2e70726f746f747970652e676574203d20737461636b4765743b0a20202020537461636b2e70726f746f747970652e686173203d20737461636b4861733b0a20202020537461636b2e70726f746f747970652e736574203d20737461636b5365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662074686520656e756d657261626c652070726f7065727479206e616d6573206f66207468652061727261792d6c696b65206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a2040706172616d207b626f6f6c65616e7d20696e6865726974656420537065636966792072657475726e696e6720696e686572697465642070726f7065727479206e616d65732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e2061727261794c696b654b6579732876616c75652c20696e6865726974656429207b0a202020202020766172206973417272203d20697341727261792876616c7565292c0a202020202020202020206973417267203d20216973417272202626206973417267756d656e74732876616c7565292c0a20202020202020202020697342756666203d20216973417272202626202169734172672026262069734275666665722876616c7565292c0a20202020202020202020697354797065203d20216973417272202626202169734172672026262021697342756666202626206973547970656441727261792876616c7565292c0a20202020202020202020736b6970496e6465786573203d206973417272207c7c206973417267207c7c20697342756666207c7c206973547970652c0a20202020202020202020726573756c74203d20736b6970496e6465786573203f206261736554696d65732876616c75652e6c656e6774682c20537472696e6729203a205b5d2c0a202020202020202020206c656e677468203d20726573756c742e6c656e6774683b0a0a202020202020666f722028766172206b657920696e2076616c756529207b0a20202020202020206966202828696e68657269746564207c7c206861734f776e50726f70657274792e63616c6c2876616c75652c206b657929292026260a2020202020202020202020202128736b6970496e646578657320262620280a2020202020202020202020202020202f2f2053616661726920392068617320656e756d657261626c652060617267756d656e74732e6c656e6774686020696e20737472696374206d6f64652e0a2020202020202020202020202020206b6579203d3d20276c656e67746827207c7c0a2020202020202020202020202020202f2f204e6f64652e6a7320302e31302068617320656e756d657261626c65206e6f6e2d696e6465782070726f70657274696573206f6e20627566666572732e0a2020202020202020202020202020202869734275666620262620286b6579203d3d20276f666673657427207c7c206b6579203d3d2027706172656e74272929207c7c0a2020202020202020202020202020202f2f205068616e746f6d4a5320322068617320656e756d657261626c65206e6f6e2d696e6465782070726f70657274696573206f6e207479706564206172726179732e0a2020202020202020202020202020202869735479706520262620286b6579203d3d202762756666657227207c7c206b6579203d3d2027627974654c656e67746827207c7c206b6579203d3d2027627974654f6666736574272929207c7c0a2020202020202020202020202020202f2f20536b697020696e6465782070726f706572746965732e0a2020202020202020202020202020206973496e646578286b65792c206c656e677468290a202020202020202020202020292929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73616d706c656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a2f0a2020202066756e6374696f6e20617272617953616d706c6528617272617929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2061727261795b6261736552616e646f6d28302c206c656e677468202d2031295d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73616d706c6553697a656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20617272617953616d706c6553697a652861727261792c206e29207b0a20202020202072657475726e2073687566666c6553656c6628636f70794172726179286172726179292c2062617365436c616d70286e2c20302c2061727261792e6c656e67746829293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73687566666c656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20617272617953687566666c6528617272617929207b0a20202020202072657475726e2073687566666c6553656c6628636f7079417272617928617272617929293b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b65206061737369676e56616c75656020657863657074207468617420697420646f65736e27742061737369676e0a20202020202a2060756e646566696e6564602076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e2061737369676e4d6572676556616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020696620282876616c756520213d3d20756e646566696e656420262620216571286f626a6563745b6b65795d2c2076616c75652929207c7c0a202020202020202020202876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a656374292929207b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c7565293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2041737369676e73206076616c75656020746f20606b657960206f6620606f626a6563746020696620746865206578697374696e672076616c7565206973206e6f74206571756976616c656e740a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e2061737369676e56616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d3b0a2020202020206966202821286861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929202626206571286f626a56616c75652c2076616c75652929207c7c0a202020202020202020202876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a656374292929207b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c7565293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520696e6465782061742077686963682074686520606b65796020697320666f756e6420696e2060617272617960206f66206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d206b657920546865206b657920746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a2f0a2020202066756e6374696f6e206173736f63496e6465784f662861727261792c206b657929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a2020202020207768696c6520286c656e6774682d2d29207b0a20202020202020206966202865712861727261795b6c656e6774685d5b305d2c206b65792929207b0a2020202020202020202072657475726e206c656e6774683b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a204167677265676174657320656c656d656e7473206f662060636f6c6c656374696f6e60206f6e2060616363756d756c61746f72602077697468206b657973207472616e73666f726d65640a20202020202a206279206069746572617465656020616e642076616c756573207365742062792060736574746572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c2061676772656761746564206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a20202020202a2f0a2020202066756e6374696f6e206261736541676772656761746f7228636f6c6c656374696f6e2c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a202020202020202073657474657228616363756d756c61746f722c2076616c75652c2069746572617465652876616c7565292c20636f6c6c656374696f6e293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61737369676e6020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365730a20202020202a206f722060637573746f6d697a6572602066756e6374696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a65637420262620636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61737369676e496e6020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365730a20202020202a206f722060637573746f6d697a6572602066756e6374696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e496e286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a65637420262620636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206061737369676e56616c75656020616e64206061737369676e4d6572676556616c75656020776974686f75740a20202020202a2076616c756520636865636b732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020696620286b6579203d3d20275f5f70726f746f5f5f2720262620646566696e6550726f706572747929207b0a2020202020202020646566696e6550726f7065727479286f626a6563742c206b65792c207b0a2020202020202020202027636f6e666967757261626c65273a20747275652c0a2020202020202020202027656e756d657261626c65273a20747275652c0a202020202020202020202776616c7565273a2076616c75652c0a20202020202020202020277772697461626c65273a20747275650a20202020202020207d293b0a2020202020207d20656c7365207b0a20202020202020206f626a6563745b6b65795d203d2076616c75653b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61746020776974686f757420737570706f727420666f7220696e646976696475616c2070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865207069636b656420656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20626173654174286f626a6563742c20706174687329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070617468732e6c656e6774682c0a20202020202020202020726573756c74203d204172726179286c656e677468292c0a20202020202020202020736b6970203d206f626a656374203d3d206e756c6c3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020726573756c745b696e6465785d203d20736b6970203f20756e646566696e6564203a20676574286f626a6563742c2070617468735b696e6465785d293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636c616d706020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636c616d702e0a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765725d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636c616d706564206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e2062617365436c616d70286e756d6265722c206c6f7765722c20757070657229207b0a202020202020696620286e756d626572203d3d3d206e756d62657229207b0a202020202020202069662028757070657220213d3d20756e646566696e656429207b0a202020202020202020206e756d626572203d206e756d626572203c3d207570706572203f206e756d626572203a2075707065723b0a20202020202020207d0a2020202020202020696620286c6f77657220213d3d20756e646566696e656429207b0a202020202020202020206e756d626572203d206e756d626572203e3d206c6f776572203f206e756d626572203a206c6f7765723b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e756d6265723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636c6f6e656020616e6420605f2e636c6f6e65446565706020776869636820747261636b730a20202020202a20747261766572736564206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a202031202d204465657020636c6f6e650a20202020202a202032202d20466c617474656e20696e686572697465642070726f706572746965730a20202020202a202034202d20436c6f6e652073796d626f6c730a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a2040706172616d207b737472696e677d205b6b65795d20546865206b6579206f66206076616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d2054686520706172656e74206f626a656374206f66206076616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b7320747261766572736564206f626a6563747320616e6420746865697220636c6f6e6520636f756e74657270617274732e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2062617365436c6f6e652876616c75652c206269746d61736b2c20637573746f6d697a65722c206b65792c206f626a6563742c20737461636b29207b0a20202020202076617220726573756c742c0a20202020202020202020697344656570203d206269746d61736b202620434c4f4e455f444545505f464c41472c0a202020202020202020206973466c6174203d206269746d61736b202620434c4f4e455f464c41545f464c41472c0a20202020202020202020697346756c6c203d206269746d61736b202620434c4f4e455f53594d424f4c535f464c41473b0a0a20202020202069662028637573746f6d697a657229207b0a2020202020202020726573756c74203d206f626a656374203f20637573746f6d697a65722876616c75652c206b65792c206f626a6563742c20737461636b29203a20637573746f6d697a65722876616c7565293b0a2020202020207d0a20202020202069662028726573756c7420213d3d20756e646566696e656429207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a202020202020696620282169734f626a6563742876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a202020202020766172206973417272203d20697341727261792876616c7565293b0a20202020202069662028697341727229207b0a2020202020202020726573756c74203d20696e6974436c6f6e6541727261792876616c7565293b0a2020202020202020696620282169734465657029207b0a2020202020202020202072657475726e20636f707941727261792876616c75652c20726573756c74293b0a20202020202020207d0a2020202020207d20656c7365207b0a202020202020202076617220746167203d206765745461672876616c7565292c0a202020202020202020202020697346756e63203d20746167203d3d2066756e63546167207c7c20746167203d3d2067656e5461673b0a0a20202020202020206966202869734275666665722876616c75652929207b0a2020202020202020202072657475726e20636c6f6e654275666665722876616c75652c20697344656570293b0a20202020202020207d0a202020202020202069662028746167203d3d206f626a656374546167207c7c20746167203d3d2061726773546167207c7c2028697346756e6320262620216f626a6563742929207b0a20202020202020202020726573756c74203d20286973466c6174207c7c20697346756e6329203f207b7d203a20696e6974436c6f6e654f626a6563742876616c7565293b0a20202020202020202020696620282169734465657029207b0a20202020202020202020202072657475726e206973466c61740a20202020202020202020202020203f20636f707953796d626f6c73496e2876616c75652c206261736541737369676e496e28726573756c742c2076616c756529290a20202020202020202020202020203a20636f707953796d626f6c732876616c75652c206261736541737369676e28726573756c742c2076616c756529293b0a202020202020202020207d0a20202020202020207d20656c7365207b0a202020202020202020206966202821636c6f6e6561626c65546167735b7461675d29207b0a20202020202020202020202072657475726e206f626a656374203f2076616c7565203a207b7d3b0a202020202020202020207d0a20202020202020202020726573756c74203d20696e6974436c6f6e6542795461672876616c75652c207461672c2062617365436c6f6e652c20697344656570293b0a20202020202020207d0a2020202020207d0a2020202020202f2f20436865636b20666f722063697263756c6172207265666572656e63657320616e642072657475726e2069747320636f72726573706f6e64696e6720636c6f6e652e0a202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202076617220737461636b6564203d20737461636b2e6765742876616c7565293b0a20202020202069662028737461636b656429207b0a202020202020202072657475726e20737461636b65643b0a2020202020207d0a202020202020737461636b2e7365742876616c75652c20726573756c74293b0a0a202020202020766172206b65797346756e63203d20697346756c6c0a20202020202020203f20286973466c6174203f20676574416c6c4b657973496e203a20676574416c6c4b657973290a20202020202020203a20286973466c6174203f206b657973496e203a206b657973293b0a0a2020202020207661722070726f7073203d206973417272203f20756e646566696e6564203a206b65797346756e632876616c7565293b0a2020202020206172726179456163682870726f7073207c7c2076616c75652c2066756e6374696f6e2873756256616c75652c206b657929207b0a20202020202020206966202870726f707329207b0a202020202020202020206b6579203d2073756256616c75653b0a2020202020202020202073756256616c7565203d2076616c75655b6b65795d3b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920706f70756c61746520636c6f6e6520287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a202020202020202061737369676e56616c756528726573756c742c206b65792c2062617365436c6f6e652873756256616c75652c206269746d61736b2c20637573746f6d697a65722c206b65792c2076616c75652c20737461636b29293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636f6e666f726d736020776869636820646f65736e277420636c6f6e652060736f75726365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2062617365436f6e666f726d7328736f7572636529207b0a2020202020207661722070726f7073203d206b65797328736f75726365293b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c2070726f7073293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636f6e666f726d73546f602077686963682061636365707473206070726f70736020746f20636865636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a6563746020636f6e666f726d732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c2070726f707329207b0a202020202020766172206c656e677468203d2070726f70732e6c656e6774683b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20216c656e6774683b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020766172206b6579203d2070726f70735b6c656e6774685d2c0a202020202020202020202020707265646963617465203d20736f757263655b6b65795d2c0a20202020202020202020202076616c7565203d206f626a6563745b6b65795d3b0a0a2020202020202020696620282876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a6563742929207c7c20217072656469636174652876616c75652929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e64656c61796020616e6420605f2e6465666572602077686963682061636365707473206061726773600a20202020202a20746f2070726f7669646520746f206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f2070726f7669646520746f206066756e63602e0a20202020202a204072657475726e73207b6e756d6265727c4f626a6563747d2052657475726e73207468652074696d6572206964206f722074696d656f7574206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206261736544656c61792866756e632c20776169742c206172677329207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e2073657454696d656f75742866756e6374696f6e2829207b2066756e632e6170706c7928756e646566696e65642c2061726773293b207d2c2077616974293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e646966666572656e63656020776974686f757420737570706f72740a20202020202a20666f72206578636c7564696e67206d756c7469706c6520617272617973206f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365446966666572656e63652861727261792c2076616c7565732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e636c75646573203d206172726179496e636c756465732c0a202020202020202020206973436f6d6d6f6e203d20747275652c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d205b5d2c0a2020202020202020202076616c7565734c656e677468203d2076616c7565732e6c656e6774683b0a0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202069662028697465726174656529207b0a202020202020202076616c756573203d2061727261794d61702876616c7565732c2062617365556e61727928697465726174656529293b0a2020202020207d0a20202020202069662028636f6d70617261746f7229207b0a2020202020202020696e636c75646573203d206172726179496e636c75646573576974683b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020207d0a202020202020656c7365206966202876616c7565732e6c656e677468203e3d204c415247455f41525241595f53495a4529207b0a2020202020202020696e636c75646573203d2063616368654861733b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a202020202020202076616c756573203d206e65772053657443616368652876616c756573293b0a2020202020207d0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203d3d206e756c6c203f2076616c7565203a2069746572617465652876616c7565293b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a2020202020202020696620286973436f6d6d6f6e20262620636f6d7075746564203d3d3d20636f6d707574656429207b0a202020202020202020207661722076616c756573496e646578203d2076616c7565734c656e6774683b0a202020202020202020207768696c65202876616c756573496e6465782d2d29207b0a2020202020202020202020206966202876616c7565735b76616c756573496e6465785d203d3d3d20636f6d707574656429207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020202020656c7365206966202821696e636c756465732876616c7565732c20636f6d70757465642c20636f6d70617261746f722929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f72456163686020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2f0a20202020766172206261736545616368203d2063726561746542617365456163682862617365466f724f776e293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724561636852696768746020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2f0a202020207661722062617365456163685269676874203d2063726561746542617365456163682862617365466f724f776e52696768742c2074727565293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e65766572796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365600a20202020202a2f0a2020202066756e6374696f6e2062617365457665727928636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c74203d20747275653b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020726573756c74203d2021217072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020202020202072657475726e20726573756c743b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e6d61786020616e6420605f2e6d696e60207768696368206163636570747320610a20202020202a2060636f6d70617261746f726020746f2064657465726d696e65207468652065787472656d756d2076616c75652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f72207573656420746f20636f6d706172652076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652065787472656d756d2076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206261736545787472656d756d2861727261792c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a20202020202020202020202063757272656e74203d2069746572617465652876616c7565293b0a0a20202020202020206966202863757272656e7420213d206e756c6c2026262028636f6d7075746564203d3d3d20756e646566696e65640a20202020202020202020202020203f202863757272656e74203d3d3d2063757272656e742026262021697353796d626f6c2863757272656e7429290a20202020202020202020202020203a20636f6d70617261746f722863757272656e742c20636f6d7075746564290a2020202020202020202020202929207b0a2020202020202020202076617220636f6d7075746564203d2063757272656e742c0a2020202020202020202020202020726573756c74203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696c6c6020776974686f757420616e2069746572617465652063616c6c2067756172642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2066696c6c2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2066696c6c206061727261796020776974682e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736546696c6c2861727261792c2076616c75652c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a0a2020202020207374617274203d20746f496e7465676572287374617274293b0a202020202020696620287374617274203c203029207b0a20202020202020207374617274203d202d7374617274203e206c656e677468203f2030203a20286c656e677468202b207374617274293b0a2020202020207d0a202020202020656e64203d2028656e64203d3d3d20756e646566696e6564207c7c20656e64203e206c656e67746829203f206c656e677468203a20746f496e746567657228656e64293b0a20202020202069662028656e64203c203029207b0a2020202020202020656e64202b3d206c656e6774683b0a2020202020207d0a202020202020656e64203d207374617274203e20656e64203f2030203a20746f4c656e67746828656e64293b0a2020202020207768696c6520287374617274203c20656e6429207b0a202020202020202061727261795b73746172742b2b5d203d2076616c75653b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696c7465726020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2f0a2020202066756e6374696f6e206261736546696c74657228636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c74203d205b5d3b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020696620287072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e2929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666c617474656e60207769746820737570706f727420666f72207265737472696374696e6720666c617474656e696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a2040706172616d207b6e756d6265727d20646570746820546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a2040706172616d207b626f6f6c65616e7d205b7072656469636174653d6973466c617474656e61626c655d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b69735374726963745d20526573747269637420746f2076616c7565732074686174207061737320607072656469636174656020636865636b732e0a20202020202a2040706172616d207b41727261797d205b726573756c743d5b5d5d2054686520696e697469616c20726573756c742076616c75652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365466c617474656e2861727261792c2064657074682c207072656469636174652c2069735374726963742c20726573756c7429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020707265646963617465207c7c2028707265646963617465203d206973466c617474656e61626c65293b0a202020202020726573756c74207c7c2028726573756c74203d205b5d293b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020202020696620286465707468203e2030202626207072656469636174652876616c75652929207b0a20202020202020202020696620286465707468203e203129207b0a2020202020202020202020202f2f205265637572736976656c7920666c617474656e2061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a20202020202020202020202062617365466c617474656e2876616c75652c206465707468202d20312c207072656469636174652c2069735374726963742c20726573756c74293b0a202020202020202020207d20656c7365207b0a20202020202020202020202061727261795075736828726573756c742c2076616c7565293b0a202020202020202020207d0a20202020202020207d20656c7365206966202821697353747269637429207b0a20202020202020202020726573756c745b726573756c742e6c656e6774685d203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206062617365466f724f776e60207768696368206974657261746573206f76657220606f626a656374600a20202020202a2070726f706572746965732072657475726e656420627920606b65797346756e636020616e6420696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a202020207661722062617365466f72203d2063726561746542617365466f7228293b0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b65206062617365466f7260206578636570742074686174206974206974657261746573206f7665722070726f706572746965730a20202020202a20696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a202020207661722062617365466f725269676874203d2063726561746542617365466f722874727565293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724f776e6020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365466f724f776e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f72286f626a6563742c2069746572617465652c206b657973293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724f776e52696768746020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365466f724f776e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f725269676874286f626a6563742c2069746572617465652c206b657973293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66756e6374696f6e7360207768696368206372656174657320616e206172726179206f660a20202020202a20606f626a656374602066756e6374696f6e2070726f7065727479206e616d65732066696c74657265642066726f6d206070726f7073602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f2066696c7465722e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e206261736546756e6374696f6e73286f626a6563742c2070726f707329207b0a20202020202072657475726e20617272617946696c7465722870726f70732c2066756e6374696f6e286b657929207b0a202020202020202072657475726e20697346756e6374696f6e286f626a6563745b6b65795d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6765746020776974686f757420737570706f727420666f722064656661756c742076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2062617365476574286f626a6563742c207061746829207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d20302c0a202020202020202020206c656e677468203d20706174682e6c656e6774683b0a0a2020202020207768696c6520286f626a65637420213d206e756c6c20262620696e646578203c206c656e67746829207b0a20202020202020206f626a656374203d206f626a6563745b746f4b657928706174685b696e6465782b2b5d295d3b0a2020202020207d0a20202020202072657475726e2028696e64657820262620696e646578203d3d206c656e67746829203f206f626a656374203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060676574416c6c4b6579736020616e642060676574416c6c4b657973496e6020776869636820757365730a20202020202a20606b65797346756e636020616e64206073796d626f6c7346756e636020746f206765742074686520656e756d657261626c652070726f7065727479206e616d657320616e640a20202020202a2073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a2040706172616d207b46756e6374696f6e7d2073796d626f6c7346756e63205468652066756e6374696f6e20746f20676574207468652073796d626f6c73206f6620606f626a656374602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e2062617365476574416c6c4b657973286f626a6563742c206b65797346756e632c2073796d626f6c7346756e6329207b0a20202020202076617220726573756c74203d206b65797346756e63286f626a656374293b0a20202020202072657475726e2069734172726179286f626a65637429203f20726573756c74203a2061727261795075736828726573756c742c2073796d626f6c7346756e63286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620606765745461676020776974686f75742066616c6c6261636b7320666f7220627567677920656e7669726f6e6d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652060746f537472696e67546167602e0a20202020202a2f0a2020202066756e6374696f6e20626173654765745461672876616c756529207b0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e2076616c7565203d3d3d20756e646566696e6564203f20756e646566696e6564546167203a206e756c6c5461673b0a2020202020207d0a20202020202072657475726e202873796d546f537472696e675461672026262073796d546f537472696e6754616720696e204f626a6563742876616c756529290a20202020202020203f206765745261775461672876616c7565290a20202020202020203a206f626a656374546f537472696e672876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e67746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736547742876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203e206f746865723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6861736020776974686f757420737570706f727420666f7220646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d206b657920546865206b657920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365486173286f626a6563742c206b657929207b0a20202020202072657475726e206f626a65637420213d206e756c6c202626206861734f776e50726f70657274792e63616c6c286f626a6563742c206b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e686173496e6020776974686f757420737570706f727420666f7220646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d206b657920546865206b657920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365486173496e286f626a6563742c206b657929207b0a20202020202072657475726e206f626a65637420213d206e756c6c202626206b657920696e204f626a656374286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e52616e67656020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606e756d6265726020697320696e207468652072616e67652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e52616e6765286e756d6265722c2073746172742c20656e6429207b0a20202020202072657475726e206e756d626572203e3d206e61746976654d696e2873746172742c20656e6429202626206e756d626572203c206e61746976654d61782873746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e696e74657273656374696f6e602c20776974686f757420737570706f72740a20202020202a20666f722069746572617465652073686f727468616e64732c2074686174206163636570747320616e206172726179206f662061727261797320746f20696e73706563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20617272617973205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f66207368617265642076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e74657273656374696f6e286172726179732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e636c75646573203d20636f6d70617261746f72203f206172726179496e636c7564657357697468203a206172726179496e636c756465732c0a202020202020202020206c656e677468203d206172726179735b305d2e6c656e6774682c0a202020202020202020206f74684c656e677468203d206172726179732e6c656e6774682c0a202020202020202020206f7468496e646578203d206f74684c656e6774682c0a20202020202020202020636163686573203d204172726179286f74684c656e677468292c0a202020202020202020206d61784c656e677468203d20496e66696e6974792c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520286f7468496e6465782d2d29207b0a2020202020202020766172206172726179203d206172726179735b6f7468496e6465785d3b0a2020202020202020696620286f7468496e64657820262620697465726174656529207b0a202020202020202020206172726179203d2061727261794d61702861727261792c2062617365556e61727928697465726174656529293b0a20202020202020207d0a20202020202020206d61784c656e677468203d206e61746976654d696e2861727261792e6c656e6774682c206d61784c656e677468293b0a20202020202020206361636865735b6f7468496e6465785d203d2021636f6d70617261746f7220262620286974657261746565207c7c20286c656e677468203e3d203132302026262061727261792e6c656e677468203e3d2031323029290a202020202020202020203f206e6577205365744361636865286f7468496e646578202626206172726179290a202020202020202020203a20756e646566696e65643b0a2020202020207d0a2020202020206172726179203d206172726179735b305d3b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020207365656e203d206361636865735b305d3b0a0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746820262620726573756c742e6c656e677468203c206d61784c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a20202020202020206966202821287365656e0a20202020202020202020202020203f206361636865486173287365656e2c20636f6d7075746564290a20202020202020202020202020203a20696e636c7564657328726573756c742c20636f6d70757465642c20636f6d70617261746f72290a2020202020202020202020202929207b0a202020202020202020206f7468496e646578203d206f74684c656e6774683b0a202020202020202020207768696c6520282d2d6f7468496e64657829207b0a202020202020202020202020766172206361636865203d206361636865735b6f7468496e6465785d3b0a20202020202020202020202069662028212863616368650a2020202020202020202020202020202020203f2063616368654861732863616368652c20636f6d7075746564290a2020202020202020202020202020202020203a20696e636c75646573286172726179735b6f7468496e6465785d2c20636f6d70757465642c20636f6d70617261746f7229290a2020202020202020202020202020202029207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020696620287365656e29207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e766572746020616e6420605f2e696e7665727442796020776869636820696e76657274730a20202020202a20606f626a6563746020776974682076616c756573207472616e73666f726d6564206279206069746572617465656020616e64207365742062792060736574746572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d2076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c20696e766572746564206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e766572746572286f626a6563742c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a202020202020202073657474657228616363756d756c61746f722c2069746572617465652876616c7565292c206b65792c206f626a656374293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e766f6b656020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a206d6574686f6420617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662074686520696e766f6b6564206d6574686f642e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e766f6b65286f626a6563742c20706174682c206172677329207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020206f626a656374203d20706172656e74286f626a6563742c2070617468293b0a2020202020207661722066756e63203d206f626a656374203d3d206e756c6c203f206f626a656374203a206f626a6563745b746f4b6579286c617374287061746829295d3b0a20202020202072657475726e2066756e63203d3d206e756c6c203f20756e646566696e6564203a206170706c792866756e632c206f626a6563742c2061726773293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973417267756d656e7473602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2060617267756d656e747360206f626a6563742c0a20202020202a2f0a2020202066756e6374696f6e20626173654973417267756d656e74732876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20617267735461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e697341727261794275666665726020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206172726179206275666665722c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365497341727261794275666665722876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d2061727261794275666665725461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973446174656020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612064617465206f626a6563742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973446174652876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20646174655461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973457175616c6020776869636820737570706f727473207061727469616c20636f6d70617269736f6e730a20202020202a20616e6420747261636b7320747261766572736564206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b626f6f6c65616e7d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a202031202d20556e6f72646572656420636f6d70617269736f6e0a20202020202a202032202d205061727469616c20636f6d70617269736f6e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b7320747261766572736564206076616c75656020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973457175616c2876616c75652c206f746865722c206269746d61736b2c20637573746f6d697a65722c20737461636b29207b0a2020202020206966202876616c7565203d3d3d206f7468657229207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020206966202876616c7565203d3d206e756c6c207c7c206f74686572203d3d206e756c6c207c7c20282169734f626a6563744c696b652876616c756529202626202169734f626a6563744c696b65286f74686572292929207b0a202020202020202072657475726e2076616c756520213d3d2076616c7565202626206f7468657220213d3d206f746865723b0a2020202020207d0a20202020202072657475726e20626173654973457175616c446565702876616c75652c206f746865722c206269746d61736b2c20637573746f6d697a65722c20626173654973457175616c2c20737461636b293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c6020666f722061727261797320616e64206f626a6563747320776869636820706572666f726d730a20202020202a206465657020636f6d70617269736f6e7320616e6420747261636b7320747261766572736564206f626a6563747320656e61626c696e67206f626a6563747320776974682063697263756c61720a20202020202a207265666572656e63657320746f20626520636f6d70617265642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973457175616c44656570286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a202020202020766172206f626a4973417272203d2069734172726179286f626a656374292c0a202020202020202020206f74684973417272203d2069734172726179286f74686572292c0a202020202020202020206f626a546167203d206f626a4973417272203f206172726179546167203a20676574546167286f626a656374292c0a202020202020202020206f7468546167203d206f74684973417272203f206172726179546167203a20676574546167286f74686572293b0a0a2020202020206f626a546167203d206f626a546167203d3d2061726773546167203f206f626a656374546167203a206f626a5461673b0a2020202020206f7468546167203d206f7468546167203d3d2061726773546167203f206f626a656374546167203a206f74685461673b0a0a202020202020766172206f626a49734f626a203d206f626a546167203d3d206f626a6563745461672c0a202020202020202020206f746849734f626a203d206f7468546167203d3d206f626a6563745461672c0a20202020202020202020697353616d65546167203d206f626a546167203d3d206f74685461673b0a0a20202020202069662028697353616d65546167202626206973427566666572286f626a6563742929207b0a202020202020202069662028216973427566666572286f746865722929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a20202020202020206f626a4973417272203d20747275653b0a20202020202020206f626a49734f626a203d2066616c73653b0a2020202020207d0a20202020202069662028697353616d6554616720262620216f626a49734f626a29207b0a2020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a202020202020202072657475726e20286f626a4973417272207c7c20697354797065644172726179286f626a65637429290a202020202020202020203f20657175616c417272617973286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b290a202020202020202020203a20657175616c4279546167286f626a6563742c206f746865722c206f626a5461672c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a2020202020207d0a2020202020206966202821286269746d61736b202620434f4d504152455f5041525449414c5f464c41472929207b0a2020202020202020766172206f626a497357726170706564203d206f626a49734f626a202626206861734f776e50726f70657274792e63616c6c286f626a6563742c20275f5f777261707065645f5f27292c0a2020202020202020202020206f7468497357726170706564203d206f746849734f626a202626206861734f776e50726f70657274792e63616c6c286f746865722c20275f5f777261707065645f5f27293b0a0a2020202020202020696620286f626a497357726170706564207c7c206f746849735772617070656429207b0a20202020202020202020766172206f626a556e77726170706564203d206f626a497357726170706564203f206f626a6563742e76616c75652829203a206f626a6563742c0a20202020202020202020202020206f7468556e77726170706564203d206f7468497357726170706564203f206f746865722e76616c75652829203a206f746865723b0a0a20202020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a2020202020202020202072657475726e20657175616c46756e63286f626a556e777261707065642c206f7468556e777261707065642c206269746d61736b2c20637573746f6d697a65722c20737461636b293b0a20202020202020207d0a2020202020207d0a2020202020206966202821697353616d6554616729207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202072657475726e20657175616c4f626a65637473286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734d61706020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206d61702c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734d61702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d206d61705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734d617463686020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a2040706172616d207b41727261797d206d6174636844617461205468652070726f7065727479206e616d65732c2076616c7565732c20616e6420636f6d7061726520666c61677320746f206d617463682e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734d61746368286f626a6563742c20736f757263652c206d61746368446174612c20637573746f6d697a657229207b0a20202020202076617220696e646578203d206d61746368446174612e6c656e6774682c0a202020202020202020206c656e677468203d20696e6465782c0a202020202020202020206e6f437573746f6d697a6572203d2021637573746f6d697a65723b0a0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20216c656e6774683b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a2020202020207768696c652028696e6465782d2d29207b0a20202020202020207661722064617461203d206d61746368446174615b696e6465785d3b0a202020202020202069662028286e6f437573746f6d697a657220262620646174615b325d290a20202020202020202020202020203f20646174615b315d20213d3d206f626a6563745b646174615b305d5d0a20202020202020202020202020203a202128646174615b305d20696e206f626a656374290a20202020202020202020202029207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202064617461203d206d61746368446174615b696e6465785d3b0a2020202020202020766172206b6579203d20646174615b305d2c0a2020202020202020202020206f626a56616c7565203d206f626a6563745b6b65795d2c0a20202020202020202020202073726356616c7565203d20646174615b315d3b0a0a2020202020202020696620286e6f437573746f6d697a657220262620646174615b325d29207b0a20202020202020202020696620286f626a56616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a6563742929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202076617220737461636b203d206e657720537461636b3b0a2020202020202020202069662028637573746f6d697a657229207b0a20202020202020202020202076617220726573756c74203d20637573746f6d697a6572286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b293b0a202020202020202020207d0a20202020202020202020696620282128726573756c74203d3d3d20756e646566696e65640a202020202020202020202020202020203f20626173654973457175616c2873726356616c75652c206f626a56616c75652c20434f4d504152455f5041525449414c5f464c4147207c20434f4d504152455f554e4f5244455245445f464c41472c20637573746f6d697a65722c20737461636b290a202020202020202020202020202020203a20726573756c740a20202020202020202020202020202929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734e61746976656020776974686f757420626164207368696d20636865636b732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e61746976652066756e6374696f6e2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734e61746976652876616c756529207b0a202020202020696620282169734f626a6563742876616c756529207c7c2069734d61736b65642876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020766172207061747465726e203d20697346756e6374696f6e2876616c756529203f20726549734e6174697665203a2072654973486f737443746f723b0a20202020202072657475726e207061747465726e2e7465737428746f536f757263652876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69735265674578706020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207265676578702c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549735265674578702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d207265676578705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69735365746020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207365742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549735365742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d207365745461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973547970656441727261796020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612074797065642061727261792c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973547970656441727261792876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c7565292026260a202020202020202069734c656e6774682876616c75652e6c656e6774682920262620212174797065644172726179546167735b626173654765745461672876616c7565295d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6974657261746565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d205b76616c75653d5f2e6964656e746974795d205468652076616c756520746f20636f6e7665727420746f20616e2069746572617465652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652069746572617465652e0a20202020202a2f0a2020202066756e6374696f6e206261736549746572617465652876616c756529207b0a2020202020202f2f20446f6e27742073746f7265207468652060747970656f666020726573756c7420696e2061207661726961626c6520746f2061766f69642061204a49542062756720696e2053616661726920392e0a2020202020202f2f205365652068747470733a2f2f627567732e7765626b69742e6f72672f73686f775f6275672e6367693f69643d31353630333420666f72206d6f72652064657461696c732e0a20202020202069662028747970656f662076616c7565203d3d202766756e6374696f6e2729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e206964656e746974793b0a2020202020207d0a20202020202069662028747970656f662076616c7565203d3d20276f626a6563742729207b0a202020202020202072657475726e20697341727261792876616c7565290a202020202020202020203f20626173654d61746368657350726f70657274792876616c75655b305d2c2076616c75655b315d290a202020202020202020203a20626173654d6174636865732876616c7565293b0a2020202020207d0a20202020202072657475726e2070726f70657274792876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6b6579736020776869636820646f65736e277420747265617420737061727365206172726179732061732064656e73652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e20626173654b657973286f626a65637429207b0a2020202020206966202821697350726f746f74797065286f626a6563742929207b0a202020202020202072657475726e206e61746976654b657973286f626a656374293b0a2020202020207d0a20202020202076617220726573756c74203d205b5d3b0a202020202020666f722028766172206b657920696e204f626a656374286f626a6563742929207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929202626206b657920213d2027636f6e7374727563746f722729207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6b657973496e6020776869636820646f65736e277420747265617420737061727365206172726179732061732064656e73652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e20626173654b657973496e286f626a65637429207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e206e61746976654b657973496e286f626a656374293b0a2020202020207d0a20202020202076617220697350726f746f203d20697350726f746f74797065286f626a656374292c0a20202020202020202020726573756c74203d205b5d3b0a0a202020202020666f722028766172206b657920696e206f626a65637429207b0a20202020202020206966202821286b6579203d3d2027636f6e7374727563746f72272026262028697350726f746f207c7c20216861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929292929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6c746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654c742876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203c206f746865723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d61706020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20626173654d617028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d20697341727261794c696b6528636f6c6c656374696f6e29203f20417272617928636f6c6c656374696f6e2e6c656e67746829203a205b5d3b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a2020202020202020726573756c745b2b2b696e6465785d203d2069746572617465652876616c75652c206b65792c20636f6c6c656374696f6e293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d6174636865736020776869636820646f65736e277420636c6f6e652060736f75726365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20626173654d61746368657328736f7572636529207b0a202020202020766172206d6174636844617461203d206765744d617463684461746128736f75726365293b0a202020202020696620286d61746368446174612e6c656e677468203d3d2031202626206d61746368446174615b305d5b325d29207b0a202020202020202072657475726e206d617463686573537472696374436f6d70617261626c65286d61746368446174615b305d5b305d2c206d61746368446174615b305d5b315d293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e206f626a656374203d3d3d20736f75726365207c7c206261736549734d61746368286f626a6563742c20736f757263652c206d6174636844617461293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d61746368657350726f70657274796020776869636820646f65736e277420636c6f6e65206073726356616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20626173654d61746368657350726f706572747928706174682c2073726356616c756529207b0a2020202020206966202869734b6579287061746829202626206973537472696374436f6d70617261626c652873726356616c75652929207b0a202020202020202072657475726e206d617463686573537472696374436f6d70617261626c6528746f4b65792870617468292c2073726356616c7565293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a2020202020202020766172206f626a56616c7565203d20676574286f626a6563742c2070617468293b0a202020202020202072657475726e20286f626a56616c7565203d3d3d20756e646566696e6564202626206f626a56616c7565203d3d3d2073726356616c7565290a202020202020202020203f20686173496e286f626a6563742c2070617468290a202020202020202020203a20626173654973457175616c2873726356616c75652c206f626a56616c75652c20434f4d504152455f5041525449414c5f464c4147207c20434f4d504152455f554e4f5244455245445f464c4147293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d657267656020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b6e756d6265727d20737263496e6465782054686520696e646578206f662060736f75726365602e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a65206d65726765642076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a2f0a2020202066756e6374696f6e20626173654d65726765286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a65722c20737461636b29207b0a202020202020696620286f626a656374203d3d3d20736f7572636529207b0a202020202020202072657475726e3b0a2020202020207d0a20202020202062617365466f7228736f757263652c2066756e6374696f6e2873726356616c75652c206b657929207b0a20202020202020206966202869734f626a6563742873726356616c75652929207b0a20202020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202020202020626173654d6572676544656570286f626a6563742c20736f757263652c206b65792c20737263496e6465782c20626173654d657267652c20637573746f6d697a65722c20737461636b293b0a20202020202020207d0a2020202020202020656c7365207b0a20202020202020202020766172206e657756616c7565203d20637573746f6d697a65720a2020202020202020202020203f20637573746f6d697a6572286f626a6563745b6b65795d2c2073726356616c75652c20286b6579202b202727292c206f626a6563742c20736f757263652c20737461636b290a2020202020202020202020203a20756e646566696e65643b0a0a20202020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a2020202020202020202020206e657756616c7565203d2073726356616c75653b0a202020202020202020207d0a2020202020202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d0a2020202020207d2c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654d657267656020666f722061727261797320616e64206f626a6563747320776869636820706572666f726d730a20202020202a2064656570206d657267657320616e6420747261636b7320747261766572736564206f626a6563747320656e61626c696e67206f626a6563747320776974682063697263756c61720a20202020202a207265666572656e63657320746f206265206d65726765642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206d657267652e0a20202020202a2040706172616d207b6e756d6265727d20737263496e6465782054686520696e646578206f662060736f75726365602e0a20202020202a2040706172616d207b46756e6374696f6e7d206d6572676546756e63205468652066756e6374696f6e20746f206d657267652076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a2f0a2020202066756e6374696f6e20626173654d6572676544656570286f626a6563742c20736f757263652c206b65792c20737263496e6465782c206d6572676546756e632c20637573746f6d697a65722c20737461636b29207b0a202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d2c0a2020202020202020202073726356616c7565203d20736f757263655b6b65795d2c0a20202020202020202020737461636b6564203d20737461636b2e6765742873726356616c7565293b0a0a20202020202069662028737461636b656429207b0a202020202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c20737461636b6564293b0a202020202020202072657475726e3b0a2020202020207d0a202020202020766172206e657756616c7565203d20637573746f6d697a65720a20202020202020203f20637573746f6d697a6572286f626a56616c75652c2073726356616c75652c20286b6579202b202727292c206f626a6563742c20736f757263652c20737461636b290a20202020202020203a20756e646566696e65643b0a0a202020202020766172206973436f6d6d6f6e203d206e657756616c7565203d3d3d20756e646566696e65643b0a0a202020202020696620286973436f6d6d6f6e29207b0a2020202020202020766172206973417272203d20697341727261792873726356616c7565292c0a202020202020202020202020697342756666203d202169734172722026262069734275666665722873726356616c7565292c0a20202020202020202020202069735479706564203d202169734172722026262021697342756666202626206973547970656441727261792873726356616c7565293b0a0a20202020202020206e657756616c7565203d2073726356616c75653b0a2020202020202020696620286973417272207c7c20697342756666207c7c206973547970656429207b0a202020202020202020206966202869734172726179286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d206f626a56616c75653b0a202020202020202020207d0a20202020202020202020656c73652069662028697341727261794c696b654f626a656374286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d20636f70794172726179286f626a56616c7565293b0a202020202020202020207d0a20202020202020202020656c7365206966202869734275666629207b0a2020202020202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020202020206e657756616c7565203d20636c6f6e654275666665722873726356616c75652c2074727565293b0a202020202020202020207d0a20202020202020202020656c736520696620286973547970656429207b0a2020202020202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020202020206e657756616c7565203d20636c6f6e65547970656441727261792873726356616c75652c2074727565293b0a202020202020202020207d0a20202020202020202020656c7365207b0a2020202020202020202020206e657756616c7565203d205b5d3b0a202020202020202020207d0a20202020202020207d0a2020202020202020656c736520696620286973506c61696e4f626a6563742873726356616c756529207c7c206973417267756d656e74732873726356616c75652929207b0a202020202020202020206e657756616c7565203d206f626a56616c75653b0a20202020202020202020696620286973417267756d656e7473286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d20746f506c61696e4f626a656374286f626a56616c7565293b0a202020202020202020207d0a20202020202020202020656c736520696620282169734f626a656374286f626a56616c756529207c7c2028737263496e64657820262620697346756e6374696f6e286f626a56616c7565292929207b0a2020202020202020202020206e657756616c7565203d20696e6974436c6f6e654f626a6563742873726356616c7565293b0a202020202020202020207d0a20202020202020207d0a2020202020202020656c7365207b0a202020202020202020206973436f6d6d6f6e203d2066616c73653b0a20202020202020207d0a2020202020207d0a202020202020696620286973436f6d6d6f6e29207b0a20202020202020202f2f205265637572736976656c79206d65726765206f626a6563747320616e642061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020737461636b2e7365742873726356616c75652c206e657756616c7565293b0a20202020202020206d6572676546756e63286e657756616c75652c2073726356616c75652c20737263496e6465782c20637573746f6d697a65722c20737461636b293b0a2020202020202020737461636b5b2764656c657465275d2873726356616c7565293b0a2020202020207d0a20202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c206e657756616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6e74686020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d206e2054686520696e646578206f662074686520656c656d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206e746820656c656d656e74206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20626173654e74682861727261792c206e29207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206e202b3d206e203c2030203f206c656e677468203a20303b0a20202020202072657475726e206973496e646578286e2c206c656e67746829203f2061727261795b6e5d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6f7264657242796020776974686f757420706172616d206775617264732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e5b5d7c4f626a6563745b5d7c737472696e675b5d7d20697465726174656573205468652069746572617465657320746f20736f72742062792e0a20202020202a2040706172616d207b737472696e675b5d7d206f72646572732054686520736f7274206f7264657273206f662060697465726174656573602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20626173654f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f726465727329207b0a20202020202076617220696e646578203d202d313b0a202020202020697465726174656573203d2061727261794d6170286974657261746565732e6c656e677468203f20697465726174656573203a205b6964656e746974795d2c2062617365556e617279286765744974657261746565282929293b0a0a20202020202076617220726573756c74203d20626173654d617028636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a2020202020202020766172206372697465726961203d2061727261794d6170286974657261746565732c2066756e6374696f6e28697465726174656529207b0a2020202020202020202072657475726e2069746572617465652876616c7565293b0a20202020202020207d293b0a202020202020202072657475726e207b20276372697465726961273a2063726974657269612c2027696e646578273a202b2b696e6465782c202776616c7565273a2076616c7565207d3b0a2020202020207d293b0a0a20202020202072657475726e2062617365536f7274427928726573756c742c2066756e6374696f6e286f626a6563742c206f7468657229207b0a202020202020202072657475726e20636f6d706172654d756c7469706c65286f626a6563742c206f746865722c206f7264657273293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7069636b6020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a2070726f7065727479206964656e746966696572732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655069636b286f626a6563742c20706174687329207b0a20202020202072657475726e20626173655069636b4279286f626a6563742c2070617468732c2066756e6374696f6e2876616c75652c207061746829207b0a202020202020202072657475726e20686173496e286f626a6563742c2070617468293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662020605f2e7069636b42796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655069636b4279286f626a6563742c2070617468732c2070726564696361746529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070617468732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722070617468203d2070617468735b696e6465785d2c0a20202020202020202020202076616c7565203d2062617365476574286f626a6563742c2070617468293b0a0a2020202020202020696620287072656469636174652876616c75652c20706174682929207b0a202020202020202020206261736553657428726573756c742c20636173745061746828706174682c206f626a656374292c2076616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620606261736550726f70657274796020776869636820737570706f72747320646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206261736550726f706572747944656570287061746829207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365476574286f626a6563742c2070617468293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70756c6c416c6c42796020776974686f757420737570706f727420666f722069746572617465650a20202020202a2073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736550756c6c416c6c2861727261792c2076616c7565732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e6465784f66203d20636f6d70617261746f72203f2062617365496e6465784f6657697468203a2062617365496e6465784f662c0a20202020202020202020696e646578203d202d312c0a202020202020202020206c656e677468203d2076616c7565732e6c656e6774682c0a202020202020202020207365656e203d2061727261793b0a0a202020202020696620286172726179203d3d3d2076616c75657329207b0a202020202020202076616c756573203d20636f707941727261792876616c756573293b0a2020202020207d0a20202020202069662028697465726174656529207b0a20202020202020207365656e203d2061727261794d61702861727261792c2062617365556e61727928697465726174656529293b0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722066726f6d496e646578203d20302c0a20202020202020202020202076616c7565203d2076616c7565735b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a20202020202020207768696c6520282866726f6d496e646578203d20696e6465784f66287365656e2c20636f6d70757465642c2066726f6d496e6465782c20636f6d70617261746f722929203e202d3129207b0a20202020202020202020696620287365656e20213d3d20617272617929207b0a20202020202020202020202073706c6963652e63616c6c287365656e2c2066726f6d496e6465782c2031293b0a202020202020202020207d0a2020202020202020202073706c6963652e63616c6c2861727261792c2066726f6d496e6465782c2031293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70756c6c41746020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a20696e6465786573206f7220636170747572696e67207468652072656d6f76656420656c656d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b6e756d6265725b5d7d20696e64657865732054686520696e6465786573206f6620656c656d656e747320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736550756c6c41742861727261792c20696e646578657329207b0a202020202020766172206c656e677468203d206172726179203f20696e64657865732e6c656e677468203a20302c0a202020202020202020206c617374496e646578203d206c656e677468202d20313b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202076617220696e646578203d20696e64657865735b6c656e6774685d3b0a2020202020202020696620286c656e677468203d3d206c617374496e646578207c7c20696e64657820213d3d2070726576696f757329207b0a202020202020202020207661722070726576696f7573203d20696e6465783b0a20202020202020202020696620286973496e64657828696e6465782929207b0a20202020202020202020202073706c6963652e63616c6c2861727261792c20696e6465782c2031293b0a202020202020202020207d20656c7365207b0a20202020202020202020202062617365556e7365742861727261792c20696e646578293b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e72616e646f6d6020776974686f757420737570706f727420666f722072657475726e696e670a20202020202a20666c6f6174696e672d706f696e74206e756d626572732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206c6f77657220546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652072616e646f6d206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e206261736552616e646f6d286c6f7765722c20757070657229207b0a20202020202072657475726e206c6f776572202b206e6174697665466c6f6f72286e617469766552616e646f6d2829202a20287570706572202d206c6f776572202b203129293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e72616e67656020616e6420605f2e72616e676552696768746020776869636820646f65736e27740a20202020202a20636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d2073746570205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2f0a2020202066756e6374696f6e206261736552616e67652873746172742c20656e642c20737465702c2066726f6d526967687429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d206e61746976654d6178286e61746976654365696c2828656e64202d20737461727429202f202873746570207c7c203129292c2030292c0a20202020202020202020726573756c74203d204172726179286c656e677468293b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020726573756c745b66726f6d5269676874203f206c656e677468203a202b2b696e6465785d203d2073746172743b0a20202020202020207374617274202b3d20737465703b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7265706561746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f207265706561742e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f207265706561742074686520737472696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520726570656174656420737472696e672e0a20202020202a2f0a2020202066756e6374696f6e206261736552657065617428737472696e672c206e29207b0a20202020202076617220726573756c74203d2027273b0a2020202020206966202821737472696e67207c7c206e203c2031207c7c206e203e204d41585f534146455f494e544547455229207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020202f2f204c6576657261676520746865206578706f6e656e74696174696f6e206279207371756172696e6720616c676f726974686d20666f72206120666173746572207265706561742e0a2020202020202f2f205365652068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4578706f6e656e74696174696f6e5f62795f7371756172696e6720666f72206d6f72652064657461696c732e0a202020202020646f207b0a2020202020202020696620286e2025203229207b0a20202020202020202020726573756c74202b3d20737472696e673b0a20202020202020207d0a20202020202020206e203d206e6174697665466c6f6f72286e202f2032293b0a2020202020202020696620286e29207b0a20202020202020202020737472696e67202b3d20737472696e673b0a20202020202020207d0a2020202020207d207768696c6520286e293b0a0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e726573746020776869636820646f65736e27742076616c6964617465206f7220636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2062617365526573742866756e632c20737461727429207b0a20202020202072657475726e20736574546f537472696e67286f766572526573742866756e632c2073746172742c206964656e74697479292c2066756e63202b202727293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73616d706c65602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a2f0a2020202066756e6374696f6e206261736553616d706c6528636f6c6c656374696f6e29207b0a20202020202072657475726e20617272617953616d706c652876616c75657328636f6c6c656374696f6e29293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73616d706c6553697a656020776974686f757420706172616d206775617264732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e206261736553616d706c6553697a6528636f6c6c656374696f6e2c206e29207b0a202020202020766172206172726179203d2076616c75657328636f6c6c656374696f6e293b0a20202020202072657475726e2073687566666c6553656c662861727261792c2062617365436c616d70286e2c20302c2061727261792e6c656e67746829293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652070617468206372656174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536574286f626a6563742c20706174682c2076616c75652c20637573746f6d697a657229207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e206f626a6563743b0a2020202020207d0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774682c0a202020202020202020206c617374496e646578203d206c656e677468202d20312c0a202020202020202020206e6573746564203d206f626a6563743b0a0a2020202020207768696c6520286e657374656420213d206e756c6c202626202b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d20746f4b657928706174685b696e6465785d292c0a2020202020202020202020206e657756616c7565203d2076616c75653b0a0a202020202020202069662028696e64657820213d206c617374496e64657829207b0a20202020202020202020766172206f626a56616c7565203d206e65737465645b6b65795d3b0a202020202020202020206e657756616c7565203d20637573746f6d697a6572203f20637573746f6d697a6572286f626a56616c75652c206b65792c206e657374656429203a20756e646566696e65643b0a20202020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a2020202020202020202020206e657756616c7565203d2069734f626a656374286f626a56616c7565290a20202020202020202020202020203f206f626a56616c75650a20202020202020202020202020203a20286973496e64657828706174685b696e646578202b20315d29203f205b5d203a207b7d293b0a202020202020202020207d0a20202020202020207d0a202020202020202061737369676e56616c7565286e65737465642c206b65792c206e657756616c7565293b0a20202020202020206e6573746564203d206e65737465645b6b65795d3b0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060736574446174616020776974686f757420737570706f727420666f7220686f74206c6f6f702073686f7274696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206173736f6369617465206d6574616461746120776974682e0a20202020202a2040706172616d207b2a7d206461746120546865206d657461646174612e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a20202020766172206261736553657444617461203d20216d6574614d6170203f206964656e74697479203a2066756e6374696f6e2866756e632c206461746129207b0a2020202020206d6574614d61702e7365742866756e632c2064617461293b0a20202020202072657475726e2066756e633b0a202020207d3b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060736574546f537472696e676020776974686f757420737570706f727420666f7220686f74206c6f6f702073686f7274696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d20737472696e67205468652060746f537472696e676020726573756c742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a202020207661722062617365536574546f537472696e67203d2021646566696e6550726f7065727479203f206964656e74697479203a2066756e6374696f6e2866756e632c20737472696e6729207b0a20202020202072657475726e20646566696e6550726f70657274792866756e632c2027746f537472696e67272c207b0a202020202020202027636f6e666967757261626c65273a20747275652c0a202020202020202027656e756d657261626c65273a2066616c73652c0a20202020202020202776616c7565273a20636f6e7374616e7428737472696e67292c0a2020202020202020277772697461626c65273a20747275650a2020202020207d293b0a202020207d3b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73687566666c65602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e206261736553687566666c6528636f6c6c656374696f6e29207b0a20202020202072657475726e2073687566666c6553656c662876616c75657328636f6c6c656374696f6e29293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736c6963656020776974686f757420616e2069746572617465652063616c6c2067756172642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736c6963652e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536c6963652861727261792c2073746172742c20656e6429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020696620287374617274203c203029207b0a20202020202020207374617274203d202d7374617274203e206c656e677468203f2030203a20286c656e677468202b207374617274293b0a2020202020207d0a202020202020656e64203d20656e64203e206c656e677468203f206c656e677468203a20656e643b0a20202020202069662028656e64203c203029207b0a2020202020202020656e64202b3d206c656e6774683b0a2020202020207d0a2020202020206c656e677468203d207374617274203e20656e64203f2030203a202828656e64202d20737461727429203e3e3e2030293b0a2020202020207374617274203e3e3e3d20303b0a0a20202020202076617220726573756c74203d204172726179286c656e677468293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020726573756c745b696e6465785d203d2061727261795b696e646578202b2073746172745d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f6d656020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f6d6528636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c743b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020726573756c74203d207072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020202020202072657475726e2021726573756c743b0a2020202020207d293b0a20202020202072657475726e202121726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564496e6465786020616e6420605f2e736f727465644c617374496e646578602077686963680a20202020202a20706572666f726d7320612062696e61727920736561726368206f66206061727261796020746f2064657465726d696e652074686520696e646578206174207768696368206076616c7565600a20202020202a2073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b726574486967686573745d20537065636966792072657475726e696e67207468652068696768657374207175616c696669656420696e6465782e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564496e6465782861727261792c2076616c75652c207265744869676865737429207b0a202020202020766172206c6f77203d20302c0a2020202020202020202068696768203d206172726179203d3d206e756c6c203f206c6f77203a2061727261792e6c656e6774683b0a0a20202020202069662028747970656f662076616c7565203d3d20276e756d626572272026262076616c7565203d3d3d2076616c75652026262068696768203c3d2048414c465f4d41585f41525241595f4c454e47544829207b0a20202020202020207768696c6520286c6f77203c206869676829207b0a20202020202020202020766172206d6964203d20286c6f77202b206869676829203e3e3e20312c0a2020202020202020202020202020636f6d7075746564203d2061727261795b6d69645d3b0a0a2020202020202020202069662028636f6d707574656420213d3d206e756c6c2026262021697353796d626f6c28636f6d7075746564292026260a20202020202020202020202020202872657448696768657374203f2028636f6d7075746564203c3d2076616c756529203a2028636f6d7075746564203c2076616c7565292929207b0a2020202020202020202020206c6f77203d206d6964202b20313b0a202020202020202020207d20656c7365207b0a20202020202020202020202068696768203d206d69643b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20686967683b0a2020202020207d0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c206964656e746974792c2072657448696768657374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564496e64657842796020616e6420605f2e736f727465644c617374496e6465784279600a20202020202a20776869636820696e766f6b6573206069746572617465656020666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574650a20202020202a20746865697220736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743b202876616c7565292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b726574486967686573745d20537065636966792072657475726e696e67207468652068696768657374207175616c696669656420696e6465782e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564496e64657842792861727261792c2076616c75652c2069746572617465652c207265744869676865737429207b0a20202020202076616c7565203d2069746572617465652876616c7565293b0a0a202020202020766172206c6f77203d20302c0a2020202020202020202068696768203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020202076616c49734e614e203d2076616c756520213d3d2076616c75652c0a2020202020202020202076616c49734e756c6c203d2076616c7565203d3d3d206e756c6c2c0a2020202020202020202076616c497353796d626f6c203d20697353796d626f6c2876616c7565292c0a2020202020202020202076616c4973556e646566696e6564203d2076616c7565203d3d3d20756e646566696e65643b0a0a2020202020207768696c6520286c6f77203c206869676829207b0a2020202020202020766172206d6964203d206e6174697665466c6f6f7228286c6f77202b206869676829202f2032292c0a202020202020202020202020636f6d7075746564203d2069746572617465652861727261795b6d69645d292c0a2020202020202020202020206f74684973446566696e6564203d20636f6d707574656420213d3d20756e646566696e65642c0a2020202020202020202020206f746849734e756c6c203d20636f6d7075746564203d3d3d206e756c6c2c0a2020202020202020202020206f746849735265666c6578697665203d20636f6d7075746564203d3d3d20636f6d70757465642c0a2020202020202020202020206f7468497353796d626f6c203d20697353796d626f6c28636f6d7075746564293b0a0a20202020202020206966202876616c49734e614e29207b0a20202020202020202020766172207365744c6f77203d2072657448696768657374207c7c206f746849735265666c65786976653b0a20202020202020207d20656c7365206966202876616c4973556e646566696e656429207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626202872657448696768657374207c7c206f74684973446566696e6564293b0a20202020202020207d20656c7365206966202876616c49734e756c6c29207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626206f74684973446566696e6564202626202872657448696768657374207c7c20216f746849734e756c6c293b0a20202020202020207d20656c7365206966202876616c497353796d626f6c29207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626206f74684973446566696e656420262620216f746849734e756c6c202626202872657448696768657374207c7c20216f7468497353796d626f6c293b0a20202020202020207d20656c736520696620286f746849734e756c6c207c7c206f7468497353796d626f6c29207b0a202020202020202020207365744c6f77203d2066616c73653b0a20202020202020207d20656c7365207b0a202020202020202020207365744c6f77203d2072657448696768657374203f2028636f6d7075746564203c3d2076616c756529203a2028636f6d7075746564203c2076616c7565293b0a20202020202020207d0a2020202020202020696620287365744c6f7729207b0a202020202020202020206c6f77203d206d6964202b20313b0a20202020202020207d20656c7365207b0a2020202020202020202068696768203d206d69643b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e61746976654d696e28686967682c204d41585f41525241595f494e444558293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564556e69716020616e6420605f2e736f72746564556e697142796020776974686f75740a20202020202a20737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564556e69712861727261792c20697465726174656529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a20202020202020206966202821696e646578207c7c2021657128636f6d70757465642c207365656e2929207b0a20202020202020202020766172207365656e203d20636f6d70757465643b0a20202020202020202020726573756c745b726573496e6465782b2b5d203d2076616c7565203d3d3d2030203f2030203a2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f4e756d6265726020776869636820646f65736e277420656e7375726520636f72726563740a20202020202a20636f6e76657273696f6e73206f662062696e6172792c2068657861646563696d616c2c206f72206f6374616c20737472696e672076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e2062617365546f4e756d6265722876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d20276e756d6265722729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e204e414e3b0a2020202020207d0a20202020202072657475726e202b76616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f537472696e676020776869636820646f65736e277420636f6e76657274206e756c6c6973680a20202020202a2076616c75657320746f20656d70747920737472696e67732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520737472696e672e0a20202020202a2f0a2020202066756e6374696f6e2062617365546f537472696e672876616c756529207b0a2020202020202f2f2045786974206561726c7920666f7220737472696e677320746f2061766f6964206120706572666f726d616e63652068697420696e20736f6d6520656e7669726f6e6d656e74732e0a20202020202069662028747970656f662076616c7565203d3d2027737472696e672729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697341727261792876616c75652929207b0a20202020202020202f2f205265637572736976656c7920636f6e766572742076616c75657320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a202020202020202072657475726e2061727261794d61702876616c75652c2062617365546f537472696e6729202b2027273b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e2073796d626f6c546f537472696e67203f2073796d626f6c546f537472696e672e63616c6c2876616c756529203a2027273b0a2020202020207d0a20202020202076617220726573756c74203d202876616c7565202b202727293b0a20202020202072657475726e2028726573756c74203d3d20273027202626202831202f2076616c756529203d3d202d494e46494e49545929203f20272d3027203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e697142796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365556e69712861727261792c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e636c75646573203d206172726179496e636c756465732c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206973436f6d6d6f6e203d20747275652c0a20202020202020202020726573756c74203d205b5d2c0a202020202020202020207365656e203d20726573756c743b0a0a20202020202069662028636f6d70617261746f7229207b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020696e636c75646573203d206172726179496e636c75646573576974683b0a2020202020207d0a202020202020656c736520696620286c656e677468203e3d204c415247455f41525241595f53495a4529207b0a202020202020202076617220736574203d206974657261746565203f206e756c6c203a20637265617465536574286172726179293b0a20202020202020206966202873657429207b0a2020202020202020202072657475726e20736574546f417272617928736574293b0a20202020202020207d0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020696e636c75646573203d2063616368654861733b0a20202020202020207365656e203d206e65772053657443616368653b0a2020202020207d0a202020202020656c7365207b0a20202020202020207365656e203d206974657261746565203f205b5d203a20726573756c743b0a2020202020207d0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a2020202020202020696620286973436f6d6d6f6e20262620636f6d7075746564203d3d3d20636f6d707574656429207b0a20202020202020202020766172207365656e496e646578203d207365656e2e6c656e6774683b0a202020202020202020207768696c6520287365656e496e6465782d2d29207b0a202020202020202020202020696620287365656e5b7365656e496e6465785d203d3d3d20636f6d707574656429207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a2020202020202020202069662028697465726174656529207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020202020656c7365206966202821696e636c75646573287365656e2c20636f6d70757465642c20636f6d70617261746f722929207b0a20202020202020202020696620287365656e20213d3d20726573756c7429207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070726f7065727479207061746820746f20756e7365742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652070726f70657274792069732064656c657465642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365556e736574286f626a6563742c207061746829207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020206f626a656374203d20706172656e74286f626a6563742c2070617468293b0a20202020202072657475726e206f626a656374203d3d206e756c6c207c7c2064656c657465206f626a6563745b746f4b6579286c617374287061746829295d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e757064617465602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207570646174652e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652070617468206372656174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365557064617465286f626a6563742c20706174682c20757064617465722c20637573746f6d697a657229207b0a20202020202072657475726e2062617365536574286f626a6563742c20706174682c20757064617465722862617365476574286f626a6563742c207061746829292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e64726f705768696c656020616e6420605f2e74616b655768696c65600a20202020202a20776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b697344726f705d20537065636966792064726f7070696e6720656c656d656e747320696e7374656164206f662074616b696e67207468656d2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20626173655768696c652861727261792c207072656469636174652c20697344726f702c2066726f6d526967687429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020696e646578203d2066726f6d5269676874203f206c656e677468203a202d313b0a0a2020202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e677468292026260a20202020202020207072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b7d0a0a20202020202072657475726e20697344726f700a20202020202020203f2062617365536c6963652861727261792c202866726f6d5269676874203f2030203a20696e646578292c202866726f6d5269676874203f20696e646578202b2031203a206c656e67746829290a20202020202020203a2062617365536c6963652861727261792c202866726f6d5269676874203f20696e646578202b2031203a2030292c202866726f6d5269676874203f206c656e677468203a20696e64657829293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620607772617070657256616c7565602077686963682072657475726e732074686520726573756c74206f660a20202020202a20706572666f726d696e6720612073657175656e6365206f6620616374696f6e73206f6e2074686520756e77726170706564206076616c7565602c20776865726520656163680a20202020202a207375636365737369766520616374696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c75652054686520756e777261707065642076616c75652e0a20202020202a2040706172616d207b41727261797d20616374696f6e7320416374696f6e7320746f20706572666f726d20746f207265736f6c76652074686520756e777261707065642076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20626173655772617070657256616c75652876616c75652c20616374696f6e7329207b0a20202020202076617220726573756c74203d2076616c75653b0a20202020202069662028726573756c7420696e7374616e63656f66204c617a795772617070657229207b0a2020202020202020726573756c74203d20726573756c742e76616c756528293b0a2020202020207d0a20202020202072657475726e20617272617952656475636528616374696f6e732c2066756e6374696f6e28726573756c742c20616374696f6e29207b0a202020202020202072657475726e20616374696f6e2e66756e632e6170706c7928616374696f6e2e746869734172672c20617272617950757368285b726573756c745d2c20616374696f6e2e6172677329293b0a2020202020207d2c20726573756c74293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e786f72602c20776974686f757420737570706f727420666f720a20202020202a2069746572617465652073686f727468616e64732c2074686174206163636570747320616e206172726179206f662061727261797320746f20696e73706563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20617272617973205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365586f72286172726179732c2069746572617465652c20636f6d70617261746f7229207b0a202020202020766172206c656e677468203d206172726179732e6c656e6774683b0a202020202020696620286c656e677468203c203229207b0a202020202020202072657475726e206c656e677468203f2062617365556e6971286172726179735b305d29203a205b5d3b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d204172726179286c656e677468293b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206172726179203d206172726179735b696e6465785d2c0a2020202020202020202020206f7468496e646578203d202d313b0a0a20202020202020207768696c6520282b2b6f7468496e646578203c206c656e67746829207b0a20202020202020202020696620286f7468496e64657820213d20696e64657829207b0a202020202020202020202020726573756c745b696e6465785d203d2062617365446966666572656e636528726573756c745b696e6465785d207c7c2061727261792c206172726179735b6f7468496e6465785d2c2069746572617465652c20636f6d70617261746f72293b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e2062617365556e69712862617365466c617474656e28726573756c742c2031292c2069746572617465652c20636f6d70617261746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206261736520696d706c656d656e746174696f6e206f6620605f2e7a69704f626a656374602077686963682061737369676e732076616c756573207573696e67206061737369676e46756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652070726f70657274792076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2061737369676e46756e63205468652066756e6374696f6e20746f2061737369676e2076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655a69704f626a6563742870726f70732c2076616c7565732c2061737369676e46756e6329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070726f70732e6c656e6774682c0a2020202020202020202076616c734c656e677468203d2076616c7565732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d20696e646578203c2076616c734c656e677468203f2076616c7565735b696e6465785d203a20756e646566696e65643b0a202020202020202061737369676e46756e6328726573756c742c2070726f70735b696e6465785d2c2076616c7565293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f20616e20656d7074792061727261792069662069742773206e6f7420616e206172726179206c696b65206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732074686520636173742061727261792d6c696b65206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206361737441727261794c696b654f626a6563742876616c756529207b0a20202020202072657475726e20697341727261794c696b654f626a6563742876616c756529203f2076616c7565203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f20606964656e74697479602069662069742773206e6f7420612066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320636173742066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206361737446756e6374696f6e2876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d202766756e6374696f6e27203f2076616c7565203a206964656e746974793b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f206120706174682061727261792069662069742773206e6f74206f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f207175657279206b657973206f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636173742070726f706572747920706174682061727261792e0a20202020202a2f0a2020202066756e6374696f6e2063617374506174682876616c75652c206f626a65637429207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202072657475726e2069734b65792876616c75652c206f626a65637429203f205b76616c75655d203a20737472696e67546f5061746828746f537472696e672876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a2041206062617365526573746020616c6961732077686963682063616e206265207265706c61636564207769746820606964656e7469747960206279206d6f64756c650a20202020202a207265706c6163656d656e7420706c7567696e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a204074797065207b46756e6374696f6e7d0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a20202020766172206361737452657374203d2062617365526573743b0a0a202020202f2a2a0a20202020202a204361737473206061727261796020746f206120736c6963652069662069742773206e65656465642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b6e756d6265727d2073746172742054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206361737420736c6963652e0a20202020202a2f0a2020202066756e6374696f6e2063617374536c6963652861727261792c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a202020202020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e677468203a20656e643b0a20202020202072657475726e202821737461727420262620656e64203e3d206c656e67746829203f206172726179203a2062617365536c6963652861727261792c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a20412073696d706c6520777261707065722061726f756e642074686520676c6f62616c205b60636c65617254696d656f7574605d2868747470733a2f2f6d646e2e696f2f636c65617254696d656f7574292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727c4f626a6563747d206964205468652074696d6572206964206f722074696d656f7574206f626a656374206f66207468652074696d657220746f20636c6561722e0a20202020202a2f0a2020202076617220636c65617254696d656f7574203d20637478436c65617254696d656f7574207c7c2066756e6374696f6e28696429207b0a20202020202072657475726e20726f6f742e636c65617254696d656f7574286964293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66202060627566666572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4275666665727d20627566666572205468652062756666657220746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4275666665727d2052657475726e732074686520636c6f6e6564206275666665722e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65427566666572286275666665722c2069734465657029207b0a2020202020206966202869734465657029207b0a202020202020202072657475726e206275666665722e736c69636528293b0a2020202020207d0a202020202020766172206c656e677468203d206275666665722e6c656e6774682c0a20202020202020202020726573756c74203d20616c6c6f63556e73616665203f20616c6c6f63556e73616665286c656e67746829203a206e6577206275666665722e636f6e7374727563746f72286c656e677468293b0a0a2020202020206275666665722e636f707928726573756c74293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606172726179427566666572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261794275666665727d206172726179427566666572205468652061727261792062756666657220746f20636c6f6e652e0a20202020202a204072657475726e73207b41727261794275666665727d2052657475726e732074686520636c6f6e6564206172726179206275666665722e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65417272617942756666657228617272617942756666657229207b0a20202020202076617220726573756c74203d206e65772061727261794275666665722e636f6e7374727563746f722861727261794275666665722e627974654c656e677468293b0a2020202020206e65772055696e7438417272617928726573756c74292e736574286e65772055696e7438417272617928617272617942756666657229293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606461746156696577602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206461746156696577205468652064617461207669657720746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564206461746120766965772e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6544617461566965772864617461566965772c2069734465657029207b0a20202020202076617220627566666572203d20697344656570203f20636c6f6e6541727261794275666665722864617461566965772e62756666657229203a2064617461566965772e6275666665723b0a20202020202072657475726e206e65772064617461566965772e636f6e7374727563746f72286275666665722c2064617461566965772e627974654f66667365742c2064617461566965772e627974654c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606d6170602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564206d61702e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e654d6170286d61702c206973446565702c20636c6f6e6546756e6329207b0a202020202020766172206172726179203d20697344656570203f20636c6f6e6546756e63286d6170546f4172726179286d6170292c20434c4f4e455f444545505f464c414729203a206d6170546f4172726179286d6170293b0a20202020202072657475726e2061727261795265647563652861727261792c206164644d6170456e7472792c206e6577206d61702e636f6e7374727563746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662060726567657870602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20726567657870205468652072656765787020746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564207265676578702e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e655265674578702872656765787029207b0a20202020202076617220726573756c74203d206e6577207265676578702e636f6e7374727563746f72287265676578702e736f757263652c207265466c6167732e657865632872656765787029293b0a202020202020726573756c742e6c617374496e646578203d207265676578702e6c617374496e6465783b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662060736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564207365742e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65536574287365742c206973446565702c20636c6f6e6546756e6329207b0a202020202020766172206172726179203d20697344656570203f20636c6f6e6546756e6328736574546f417272617928736574292c20434c4f4e455f444545505f464c414729203a20736574546f417272617928736574293b0a20202020202072657475726e2061727261795265647563652861727261792c20616464536574456e7472792c206e6577207365742e636f6e7374727563746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620746865206073796d626f6c60206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d2073796d626f6c205468652073796d626f6c206f626a65637420746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e65642073796d626f6c206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6553796d626f6c2873796d626f6c29207b0a20202020202072657475726e2073796d626f6c56616c75654f66203f204f626a6563742873796d626f6c56616c75654f662e63616c6c2873796d626f6c2929203a207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66206074797065644172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20747970656441727261792054686520747970656420617272617920746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e65642074797065642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e655479706564417272617928747970656441727261792c2069734465657029207b0a20202020202076617220627566666572203d20697344656570203f20636c6f6e65417272617942756666657228747970656441727261792e62756666657229203a20747970656441727261792e6275666665723b0a20202020202072657475726e206e657720747970656441727261792e636f6e7374727563746f72286275666665722c20747970656441727261792e627974654f66667365742c20747970656441727261792e6c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d70617265732076616c75657320746f20736f7274207468656d20696e20617363656e64696e67206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520736f7274206f7264657220696e64696361746f7220666f72206076616c7565602e0a20202020202a2f0a2020202066756e6374696f6e20636f6d70617265417363656e64696e672876616c75652c206f7468657229207b0a2020202020206966202876616c756520213d3d206f7468657229207b0a20202020202020207661722076616c4973446566696e6564203d2076616c756520213d3d20756e646566696e65642c0a20202020202020202020202076616c49734e756c6c203d2076616c7565203d3d3d206e756c6c2c0a20202020202020202020202076616c49735265666c6578697665203d2076616c7565203d3d3d2076616c75652c0a20202020202020202020202076616c497353796d626f6c203d20697353796d626f6c2876616c7565293b0a0a2020202020202020766172206f74684973446566696e6564203d206f7468657220213d3d20756e646566696e65642c0a2020202020202020202020206f746849734e756c6c203d206f74686572203d3d3d206e756c6c2c0a2020202020202020202020206f746849735265666c6578697665203d206f74686572203d3d3d206f746865722c0a2020202020202020202020206f7468497353796d626f6c203d20697353796d626f6c286f74686572293b0a0a20202020202020206966202828216f746849734e756c6c20262620216f7468497353796d626f6c202626202176616c497353796d626f6c2026262076616c7565203e206f7468657229207c7c0a2020202020202020202020202876616c497353796d626f6c202626206f74684973446566696e6564202626206f746849735265666c657869766520262620216f746849734e756c6c20262620216f7468497353796d626f6c29207c7c0a2020202020202020202020202876616c49734e756c6c202626206f74684973446566696e6564202626206f746849735265666c657869766529207c7c0a202020202020202020202020282176616c4973446566696e6564202626206f746849735265666c657869766529207c7c0a2020202020202020202020202176616c49735265666c657869766529207b0a2020202020202020202072657475726e20313b0a20202020202020207d0a202020202020202069662028282176616c49734e756c6c202626202176616c497353796d626f6c20262620216f7468497353796d626f6c2026262076616c7565203c206f7468657229207c7c0a202020202020202020202020286f7468497353796d626f6c2026262076616c4973446566696e65642026262076616c49735265666c6578697665202626202176616c49734e756c6c202626202176616c497353796d626f6c29207c7c0a202020202020202020202020286f746849734e756c6c2026262076616c4973446566696e65642026262076616c49735265666c657869766529207c7c0a20202020202020202020202028216f74684973446566696e65642026262076616c49735265666c657869766529207c7c0a202020202020202020202020216f746849735265666c657869766529207b0a2020202020202020202072657475726e202d313b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20303b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e6f7264657242796020746f20636f6d70617265206d756c7469706c652070726f70657274696573206f6620612076616c756520746f20616e6f746865720a20202020202a20616e6420737461626c6520736f7274207468656d2e0a20202020202a0a20202020202a20496620606f72646572736020697320756e7370656369666965642c20616c6c2076616c7565732061726520736f7274656420696e20617363656e64696e67206f726465722e204f74686572776973652c0a20202020202a207370656369667920616e206f72646572206f662022646573632220666f722064657363656e64696e67206f7220226173632220666f7220617363656e64696e6720736f7274206f726465720a20202020202a206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b626f6f6c65616e5b5d7c737472696e675b5d7d206f726465727320546865206f7264657220746f20736f727420627920666f7220656163682070726f70657274792e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520736f7274206f7264657220696e64696361746f7220666f7220606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706172654d756c7469706c65286f626a6563742c206f746865722c206f726465727329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206f626a4372697465726961203d206f626a6563742e63726974657269612c0a202020202020202020206f74684372697465726961203d206f746865722e63726974657269612c0a202020202020202020206c656e677468203d206f626a43726974657269612e6c656e6774682c0a202020202020202020206f72646572734c656e677468203d206f72646572732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220726573756c74203d20636f6d70617265417363656e64696e67286f626a43726974657269615b696e6465785d2c206f746843726974657269615b696e6465785d293b0a202020202020202069662028726573756c7429207b0a2020202020202020202069662028696e646578203e3d206f72646572734c656e67746829207b0a20202020202020202020202072657475726e20726573756c743b0a202020202020202020207d0a20202020202020202020766172206f72646572203d206f72646572735b696e6465785d3b0a2020202020202020202072657475726e20726573756c74202a20286f72646572203d3d20276465736327203f202d31203a2031293b0a20202020202020207d0a2020202020207d0a2020202020202f2f20466978657320616e2060417272617923736f7274602062756720696e20746865204a5320656e67696e6520656d62656464656420696e2041646f6265206170706c69636174696f6e730a2020202020202f2f2074686174206361757365732069742c20756e646572206365727461696e2063697263756d7374616e6365732c20746f2070726f76696465207468652073616d652076616c756520666f720a2020202020202f2f20606f626a6563746020616e6420606f74686572602e205365652068747470733a2f2f6769746875622e636f6d2f6a6173686b656e61732f756e64657273636f72652f70756c6c2f313234370a2020202020202f2f20666f72206d6f72652064657461696c732e0a2020202020202f2f0a2020202020202f2f205468697320616c736f20656e7375726573206120737461626c6520736f727420696e20563820616e64206f7468657220656e67696e65732e0a2020202020202f2f205365652068747470733a2f2f627567732e6368726f6d69756d2e6f72672f702f76382f6973737565732f64657461696c3f69643d393020666f72206d6f72652064657461696c732e0a20202020202072657475726e206f626a6563742e696e646578202d206f746865722e696e6465783b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e20617272617920746861742069732074686520636f6d706f736974696f6e206f66207061727469616c6c79206170706c69656420617267756d656e74732c0a20202020202a20706c616365686f6c646572732c20616e642070726f766964656420617267756d656e747320696e746f20612073696e676c65206172726179206f6620617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061726773205468652070726f766964656420617267756d656e74732e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f76696465642e0a20202020202a2040706172616d207b41727261797d20686f6c646572732054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d73207b626f6f6c65616e7d205b6973437572726965645d205370656369667920636f6d706f73696e6720666f72206120637572726965642066756e6374696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d706f73656420617267756d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706f73654172677328617267732c207061727469616c732c20686f6c646572732c2069734375727269656429207b0a2020202020207661722061726773496e646578203d202d312c0a20202020202020202020617267734c656e677468203d20617267732e6c656e6774682c0a20202020202020202020686f6c646572734c656e677468203d20686f6c646572732e6c656e6774682c0a202020202020202020206c656674496e646578203d202d312c0a202020202020202020206c6566744c656e677468203d207061727469616c732e6c656e6774682c0a2020202020202020202072616e67654c656e677468203d206e61746976654d617828617267734c656e677468202d20686f6c646572734c656e6774682c2030292c0a20202020202020202020726573756c74203d204172726179286c6566744c656e677468202b2072616e67654c656e677468292c0a202020202020202020206973556e63757272696564203d20216973437572726965643b0a0a2020202020207768696c6520282b2b6c656674496e646578203c206c6566744c656e67746829207b0a2020202020202020726573756c745b6c656674496e6465785d203d207061727469616c735b6c656674496e6465785d3b0a2020202020207d0a2020202020207768696c6520282b2b61726773496e646578203c20686f6c646572734c656e67746829207b0a2020202020202020696620286973556e63757272696564207c7c2061726773496e646578203c20617267734c656e67746829207b0a20202020202020202020726573756c745b686f6c646572735b61726773496e6465785d5d203d20617267735b61726773496e6465785d3b0a20202020202020207d0a2020202020207d0a2020202020207768696c65202872616e67654c656e6774682d2d29207b0a2020202020202020726573756c745b6c656674496e6465782b2b5d203d20617267735b61726773496e6465782b2b5d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b652060636f6d706f736541726773602065786365707420746861742074686520617267756d656e747320636f6d706f736974696f6e0a20202020202a206973207461696c6f72656420666f7220605f2e7061727469616c5269676874602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061726773205468652070726f766964656420617267756d656e74732e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f20617070656e6420746f2074686f73652070726f76696465642e0a20202020202a2040706172616d207b41727261797d20686f6c646572732054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d73207b626f6f6c65616e7d205b6973437572726965645d205370656369667920636f6d706f73696e6720666f72206120637572726965642066756e6374696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d706f73656420617267756d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706f736541726773526967687428617267732c207061727469616c732c20686f6c646572732c2069734375727269656429207b0a2020202020207661722061726773496e646578203d202d312c0a20202020202020202020617267734c656e677468203d20617267732e6c656e6774682c0a20202020202020202020686f6c64657273496e646578203d202d312c0a20202020202020202020686f6c646572734c656e677468203d20686f6c646572732e6c656e6774682c0a202020202020202020207269676874496e646578203d202d312c0a2020202020202020202072696768744c656e677468203d207061727469616c732e6c656e6774682c0a2020202020202020202072616e67654c656e677468203d206e61746976654d617828617267734c656e677468202d20686f6c646572734c656e6774682c2030292c0a20202020202020202020726573756c74203d2041727261792872616e67654c656e677468202b2072696768744c656e677468292c0a202020202020202020206973556e63757272696564203d20216973437572726965643b0a0a2020202020207768696c6520282b2b61726773496e646578203c2072616e67654c656e67746829207b0a2020202020202020726573756c745b61726773496e6465785d203d20617267735b61726773496e6465785d3b0a2020202020207d0a202020202020766172206f6666736574203d2061726773496e6465783b0a2020202020207768696c6520282b2b7269676874496e646578203c2072696768744c656e67746829207b0a2020202020202020726573756c745b6f6666736574202b207269676874496e6465785d203d207061727469616c735b7269676874496e6465785d3b0a2020202020207d0a2020202020207768696c6520282b2b686f6c64657273496e646578203c20686f6c646572734c656e67746829207b0a2020202020202020696620286973556e63757272696564207c7c2061726773496e646578203c20617267734c656e67746829207b0a20202020202020202020726573756c745b6f6666736574202b20686f6c646572735b686f6c64657273496e6465785d5d203d20617267735b61726773496e6465782b2b5d3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573207468652076616c756573206f662060736f757263656020746f20606172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20736f757263652054686520617272617920746f20636f70792076616c7565732066726f6d2e0a20202020202a2040706172616d207b41727261797d205b61727261793d5b5d5d2054686520617272617920746f20636f70792076616c75657320746f2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20636f7079417272617928736f757263652c20617272617929207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20736f757263652e6c656e6774683b0a0a2020202020206172726179207c7c20286172726179203d204172726179286c656e67746829293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202061727261795b696e6465785d203d20736f757263655b696e6465785d3b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20436f706965732070726f70657274696573206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792070726f706572746965732066726f6d2e0a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206964656e7469666965727320746f20636f70792e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792070726f7065727469657320746f2e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f706965642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f70794f626a65637428736f757263652c2070726f70732c206f626a6563742c20637573746f6d697a657229207b0a2020202020207661722069734e6577203d20216f626a6563743b0a2020202020206f626a656374207c7c20286f626a656374203d207b7d293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070726f70732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d2070726f70735b696e6465785d3b0a0a2020202020202020766172206e657756616c7565203d20637573746f6d697a65720a202020202020202020203f20637573746f6d697a6572286f626a6563745b6b65795d2c20736f757263655b6b65795d2c206b65792c206f626a6563742c20736f75726365290a202020202020202020203a20756e646566696e65643b0a0a2020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a202020202020202020206e657756616c7565203d20736f757263655b6b65795d3b0a20202020202020207d0a20202020202020206966202869734e657729207b0a202020202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d20656c7365207b0a2020202020202020202061737369676e56616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573206f776e2073796d626f6c73206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792073796d626f6c732066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792073796d626f6c7320746f2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f707953796d626f6c7328736f757263652c206f626a65637429207b0a20202020202072657475726e20636f70794f626a65637428736f757263652c2067657453796d626f6c7328736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573206f776e20616e6420696e686572697465642073796d626f6c73206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792073796d626f6c732066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792073796d626f6c7320746f2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f707953796d626f6c73496e28736f757263652c206f626a65637429207b0a20202020202072657475726e20636f70794f626a65637428736f757263652c2067657453796d626f6c73496e28736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e67726f75704279602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f2073657420616363756d756c61746f722076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b696e697469616c697a65725d2054686520616363756d756c61746f72206f626a65637420696e697469616c697a65722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772061676772656761746f722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746541676772656761746f72287365747465722c20696e697469616c697a657229207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c20697465726174656529207b0a20202020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617941676772656761746f72203a206261736541676772656761746f722c0a202020202020202020202020616363756d756c61746f72203d20696e697469616c697a6572203f20696e697469616c697a65722829203a207b7d3b0a0a202020202020202072657475726e2066756e6328636f6c6c656374696f6e2c207365747465722c2067657449746572617465652869746572617465652c2032292c20616363756d756c61746f72293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e61737369676e602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2061737369676e6572205468652066756e6374696f6e20746f2061737369676e2076616c7565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772061737369676e65722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746541737369676e65722861737369676e657229207b0a20202020202072657475726e2062617365526573742866756e6374696f6e286f626a6563742c20736f757263657329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206c656e677468203d20736f75726365732e6c656e6774682c0a202020202020202020202020637573746f6d697a6572203d206c656e677468203e2031203f20736f75726365735b6c656e677468202d20315d203a20756e646566696e65642c0a2020202020202020202020206775617264203d206c656e677468203e2032203f20736f75726365735b325d203a20756e646566696e65643b0a0a2020202020202020637573746f6d697a6572203d202861737369676e65722e6c656e677468203e203320262620747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27290a202020202020202020203f20286c656e6774682d2d2c20637573746f6d697a6572290a202020202020202020203a20756e646566696e65643b0a0a2020202020202020696620286775617264202626206973497465726174656543616c6c28736f75726365735b305d2c20736f75726365735b315d2c2067756172642929207b0a20202020202020202020637573746f6d697a6572203d206c656e677468203c2033203f20756e646566696e6564203a20637573746f6d697a65723b0a202020202020202020206c656e677468203d20313b0a20202020202020207d0a20202020202020206f626a656374203d204f626a656374286f626a656374293b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202076617220736f75726365203d20736f75726365735b696e6465785d3b0a2020202020202020202069662028736f7572636529207b0a20202020202020202020202061737369676e6572286f626a6563742c20736f757263652c20696e6465782c20637573746f6d697a6572293b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e206f626a6563743b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612060626173654561636860206f72206062617365456163685269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f766572206120636f6c6c656374696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654261736545616368286561636846756e632c2066726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c20697465726174656529207b0a202020202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a2020202020202020202072657475726e20636f6c6c656374696f6e3b0a20202020202020207d0a20202020202020206966202821697341727261794c696b6528636f6c6c656374696f6e2929207b0a2020202020202020202072657475726e206561636846756e6328636f6c6c656374696f6e2c206974657261746565293b0a20202020202020207d0a2020202020202020766172206c656e677468203d20636f6c6c656374696f6e2e6c656e6774682c0a202020202020202020202020696e646578203d2066726f6d5269676874203f206c656e677468203a202d312c0a2020202020202020202020206974657261626c65203d204f626a65637428636f6c6c656374696f6e293b0a0a20202020202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e6774682929207b0a20202020202020202020696620286974657261746565286974657261626c655b696e6465785d2c20696e6465782c206974657261626c6529203d3d3d2066616c736529207b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20636f6c6c656374696f6e3b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120626173652066756e6374696f6e20666f72206d6574686f6473206c696b6520605f2e666f72496e6020616e6420605f2e666f724f776e602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746542617365466f722866726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e286f626a6563742c2069746572617465652c206b65797346756e6329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206974657261626c65203d204f626a656374286f626a656374292c0a20202020202020202020202070726f7073203d206b65797346756e63286f626a656374292c0a2020202020202020202020206c656e677468203d2070726f70732e6c656e6774683b0a0a20202020202020207768696c6520286c656e6774682d2d29207b0a20202020202020202020766172206b6579203d2070726f70735b66726f6d5269676874203f206c656e677468203a202b2b696e6465785d3b0a20202020202020202020696620286974657261746565286974657261626c655b6b65795d2c206b65792c206974657261626c6529203d3d3d2066616c736529207b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e206f626a6563743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b65206974207769746820746865206f7074696f6e616c206074686973600a20202020202a2062696e64696e67206f66206074686973417267602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746542696e642866756e632c206269746d61736b2c207468697341726729207b0a20202020202076617220697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a2020202020202020202043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a202020202020202076617220666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a202020202020202072657475726e20666e2e6170706c7928697342696e64203f2074686973417267203a20746869732c20617267756d656e7473293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e6c6f7765724669727374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206d6574686f644e616d6520546865206e616d65206f66207468652060537472696e67602063617365206d6574686f6420746f207573652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465436173654669727374286d6574686f644e616d6529207b0a20202020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020202020737472696e67203d20746f537472696e6728737472696e67293b0a0a20202020202020207661722073747253796d626f6c73203d20686173556e69636f646528737472696e67290a202020202020202020203f20737472696e67546f417272617928737472696e67290a202020202020202020203a20756e646566696e65643b0a0a202020202020202076617220636872203d2073747253796d626f6c730a202020202020202020203f2073747253796d626f6c735b305d0a202020202020202020203a20737472696e672e6368617241742830293b0a0a202020202020202076617220747261696c696e67203d2073747253796d626f6c730a202020202020202020203f2063617374536c6963652873747253796d626f6c732c2031292e6a6f696e282727290a202020202020202020203a20737472696e672e736c6963652831293b0a0a202020202020202072657475726e206368725b6d6574686f644e616d655d2829202b20747261696c696e673b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e63616d656c43617365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e20746f20636f6d62696e65206561636820776f72642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f756e6465722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465436f6d706f756e6465722863616c6c6261636b29207b0a20202020202072657475726e2066756e6374696f6e28737472696e6729207b0a202020202020202072657475726e20617272617952656475636528776f7264732864656275727228737472696e67292e7265706c61636528726541706f732c20272729292c2063616c6c6261636b2c202727293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742070726f647563657320616e20696e7374616e6365206f66206043746f7260207265676172646c657373206f660a20202020202a20776865746865722069742077617320696e766f6b65642061732070617274206f66206120606e6577602065787072657373696f6e206f72206279206063616c6c60206f7220606170706c79602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2043746f722054686520636f6e7374727563746f7220746f20777261702e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746543746f722843746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020202f2f2055736520612060737769746368602073746174656d656e7420746f20776f726b207769746820636c61737320636f6e7374727563746f72732e205365650a20202020202020202f2f20687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d65636d617363726970742d66756e6374696f6e2d6f626a656374732d63616c6c2d74686973617267756d656e742d617267756d656e74736c6973740a20202020202020202f2f20666f72206d6f72652064657461696c732e0a20202020202020207661722061726773203d20617267756d656e74733b0a20202020202020207377697463682028617267732e6c656e67746829207b0a202020202020202020206361736520303a2072657475726e206e65772043746f723b0a202020202020202020206361736520313a2072657475726e206e65772043746f7228617267735b305d293b0a202020202020202020206361736520323a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d293b0a202020202020202020206361736520333a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d293b0a202020202020202020206361736520343a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d293b0a202020202020202020206361736520353a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d293b0a202020202020202020206361736520363a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d2c20617267735b355d293b0a202020202020202020206361736520373a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d2c20617267735b355d2c20617267735b365d293b0a20202020202020207d0a2020202020202020766172207468697342696e64696e67203d20626173654372656174652843746f722e70726f746f74797065292c0a202020202020202020202020726573756c74203d2043746f722e6170706c79287468697342696e64696e672c2061726773293b0a0a20202020202020202f2f204d696d69632074686520636f6e7374727563746f722773206072657475726e60206265686176696f722e0a20202020202020202f2f205365652068747470733a2f2f6573352e6769746875622e696f2f237831332e322e3220666f72206d6f72652064657461696c732e0a202020202020202072657475726e2069734f626a65637428726573756c7429203f20726573756c74203a207468697342696e64696e673b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20656e61626c65206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b6e756d6265727d20617269747920546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746543757272792866756e632c206269746d61736b2c20617269747929207b0a2020202020207661722043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a2020202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c656e677468292c0a202020202020202020202020696e646578203d206c656e6774682c0a202020202020202020202020706c616365686f6c646572203d20676574486f6c6465722877726170706572293b0a0a20202020202020207768696c652028696e6465782d2d29207b0a20202020202020202020617267735b696e6465785d203d20617267756d656e74735b696e6465785d3b0a20202020202020207d0a202020202020202076617220686f6c64657273203d20286c656e677468203c203320262620617267735b305d20213d3d20706c616365686f6c64657220262620617267735b6c656e677468202d20315d20213d3d20706c616365686f6c646572290a202020202020202020203f205b5d0a202020202020202020203a207265706c616365486f6c6465727328617267732c20706c616365686f6c646572293b0a0a20202020202020206c656e677468202d3d20686f6c646572732e6c656e6774683b0a2020202020202020696620286c656e677468203c20617269747929207b0a2020202020202020202072657475726e2063726561746552656375727279280a20202020202020202020202066756e632c206269746d61736b2c206372656174654879627269642c20777261707065722e706c616365686f6c6465722c20756e646566696e65642c0a202020202020202020202020617267732c20686f6c646572732c20756e646566696e65642c20756e646566696e65642c206172697479202d206c656e677468293b0a20202020202020207d0a202020202020202076617220666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a202020202020202072657475726e206170706c7928666e2c20746869732c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e66696e6460206f7220605f2e66696e644c617374602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066696e64496e64657846756e63205468652066756e6374696f6e20746f2066696e642074686520636f6c6c656374696f6e20696e6465782e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066696e642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746546696e642866696e64496e64657846756e6329207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c207072656469636174652c2066726f6d496e64657829207b0a2020202020202020766172206974657261626c65203d204f626a65637428636f6c6c656374696f6e293b0a20202020202020206966202821697341727261794c696b6528636f6c6c656374696f6e2929207b0a20202020202020202020766172206974657261746565203d206765744974657261746565287072656469636174652c2033293b0a20202020202020202020636f6c6c656374696f6e203d206b65797328636f6c6c656374696f6e293b0a20202020202020202020707265646963617465203d2066756e6374696f6e286b657929207b2072657475726e206974657261746565286974657261626c655b6b65795d2c206b65792c206974657261626c65293b207d3b0a20202020202020207d0a202020202020202076617220696e646578203d2066696e64496e64657846756e6328636f6c6c656374696f6e2c207072656469636174652c2066726f6d496e646578293b0a202020202020202072657475726e20696e646578203e202d31203f206974657261626c655b6974657261746565203f20636f6c6c656374696f6e5b696e6465785d203a20696e6465785d203a20756e646566696e65643b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e666c6f7760206f7220605f2e666c6f775269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720666c6f772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465466c6f772866726f6d526967687429207b0a20202020202072657475726e20666c6174526573742866756e6374696f6e2866756e637329207b0a2020202020202020766172206c656e677468203d2066756e63732e6c656e6774682c0a202020202020202020202020696e646578203d206c656e6774682c0a202020202020202020202020707265726571203d204c6f64617368577261707065722e70726f746f747970652e746872753b0a0a20202020202020206966202866726f6d526967687429207b0a2020202020202020202066756e63732e7265766572736528293b0a20202020202020207d0a20202020202020207768696c652028696e6465782d2d29207b0a202020202020202020207661722066756e63203d2066756e63735b696e6465785d3b0a2020202020202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a2020202020202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a202020202020202020207d0a20202020202020202020696620287072657265712026262021777261707065722026262067657446756e634e616d652866756e6329203d3d2027777261707065722729207b0a2020202020202020202020207661722077726170706572203d206e6577204c6f6461736857726170706572285b5d2c2074727565293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696e646578203d2077726170706572203f20696e646578203a206c656e6774683b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202066756e63203d2066756e63735b696e6465785d3b0a0a202020202020202020207661722066756e634e616d65203d2067657446756e634e616d652866756e63292c0a202020202020202020202020202064617461203d2066756e634e616d65203d3d20277772617070657227203f20676574446174612866756e6329203a20756e646566696e65643b0a0a2020202020202020202069662028646174612026262069734c617a6961626c6528646174615b305d292026260a20202020202020202020202020202020646174615b315d203d3d2028575241505f4152595f464c4147207c20575241505f43555252595f464c4147207c20575241505f5041525449414c5f464c4147207c20575241505f52454152475f464c4147292026260a2020202020202020202020202020202021646174615b345d2e6c656e67746820262620646174615b395d203d3d20310a202020202020202020202020202029207b0a20202020202020202020202077726170706572203d20777261707065725b67657446756e634e616d6528646174615b305d295d2e6170706c7928777261707065722c20646174615b335d293b0a202020202020202020207d20656c7365207b0a20202020202020202020202077726170706572203d202866756e632e6c656e677468203d3d20312026262069734c617a6961626c652866756e6329290a20202020202020202020202020203f20777261707065725b66756e634e616d655d28290a20202020202020202020202020203a20777261707065722e746872752866756e63293b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e2066756e6374696f6e2829207b0a202020202020202020207661722061726773203d20617267756d656e74732c0a202020202020202020202020202076616c7565203d20617267735b305d3b0a0a20202020202020202020696620287772617070657220262620617267732e6c656e677468203d3d203120262620697341727261792876616c75652929207b0a20202020202020202020202072657475726e20777261707065722e706c616e742876616c7565292e76616c756528293b0a202020202020202020207d0a2020202020202020202076617220696e646578203d20302c0a2020202020202020202020202020726573756c74203d206c656e677468203f2066756e63735b696e6465785d2e6170706c7928746869732c206172677329203a2076616c75653b0a0a202020202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202020202020726573756c74203d2066756e63735b696e6465785d2e63616c6c28746869732c20726573756c74293b0a202020202020202020207d0a2020202020202020202072657475726e20726573756c743b0a20202020202020207d3b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b652069742077697468206f7074696f6e616c206074686973600a20202020202a2062696e64696e67206f66206074686973417267602c207061727469616c206170706c69636174696f6e2c20616e64206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d2066756e63205468652066756e6374696f6e206f72206d6574686f64206e616d6520746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b7061727469616c7352696768745d2054686520617267756d656e747320746f20617070656e6420746f2074686f73652070726f76696465640a20202020202a2020746f20746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c6465727352696768745d2054686520607061727469616c7352696768746020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654879627269642866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c207061727469616c7352696768742c20686f6c6465727352696768742c20617267506f732c206172792c20617269747929207b0a202020202020766172206973417279203d206269746d61736b202620575241505f4152595f464c41472c0a20202020202020202020697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a20202020202020202020697342696e644b6579203d206269746d61736b202620575241505f42494e445f4b45595f464c41472c0a20202020202020202020697343757272696564203d206269746d61736b20262028575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c4147292c0a202020202020202020206973466c6970203d206269746d61736b202620575241505f464c49505f464c41472c0a2020202020202020202043746f72203d20697342696e644b6579203f20756e646566696e6564203a2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a2020202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c656e677468292c0a202020202020202020202020696e646578203d206c656e6774683b0a0a20202020202020207768696c652028696e6465782d2d29207b0a20202020202020202020617267735b696e6465785d203d20617267756d656e74735b696e6465785d3b0a20202020202020207d0a20202020202020206966202869734375727269656429207b0a2020202020202020202076617220706c616365686f6c646572203d20676574486f6c6465722877726170706572292c0a2020202020202020202020202020686f6c64657273436f756e74203d20636f756e74486f6c6465727328617267732c20706c616365686f6c646572293b0a20202020202020207d0a2020202020202020696620287061727469616c7329207b0a2020202020202020202061726773203d20636f6d706f73654172677328617267732c207061727469616c732c20686f6c646572732c20697343757272696564293b0a20202020202020207d0a2020202020202020696620287061727469616c73526967687429207b0a2020202020202020202061726773203d20636f6d706f736541726773526967687428617267732c207061727469616c7352696768742c20686f6c6465727352696768742c20697343757272696564293b0a20202020202020207d0a20202020202020206c656e677468202d3d20686f6c64657273436f756e743b0a202020202020202069662028697343757272696564202626206c656e677468203c20617269747929207b0a20202020202020202020766172206e6577486f6c64657273203d207265706c616365486f6c6465727328617267732c20706c616365686f6c646572293b0a2020202020202020202072657475726e2063726561746552656375727279280a20202020202020202020202066756e632c206269746d61736b2c206372656174654879627269642c20777261707065722e706c616365686f6c6465722c20746869734172672c0a202020202020202020202020617267732c206e6577486f6c646572732c20617267506f732c206172792c206172697479202d206c656e6774680a20202020202020202020293b0a20202020202020207d0a2020202020202020766172207468697342696e64696e67203d20697342696e64203f2074686973417267203a20746869732c0a202020202020202020202020666e203d20697342696e644b6579203f207468697342696e64696e675b66756e635d203a2066756e633b0a0a20202020202020206c656e677468203d20617267732e6c656e6774683b0a202020202020202069662028617267506f7329207b0a2020202020202020202061726773203d2072656f7264657228617267732c20617267506f73293b0a20202020202020207d20656c736520696620286973466c6970202626206c656e677468203e203129207b0a20202020202020202020617267732e7265766572736528293b0a20202020202020207d0a202020202020202069662028697341727920262620617279203c206c656e67746829207b0a20202020202020202020617267732e6c656e677468203d206172793b0a20202020202020207d0a20202020202020206966202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229207b0a20202020202020202020666e203d2043746f72207c7c2063726561746543746f7228666e293b0a20202020202020207d0a202020202020202072657475726e20666e2e6170706c79287468697342696e64696e672c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e696e766572744279602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f2073657420616363756d756c61746f722076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d20746f4974657261746565205468652066756e6374696f6e20746f207265736f6c7665206974657261746565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e7665727465722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465496e766572746572287365747465722c20746f497465726174656529207b0a20202020202072657475726e2066756e6374696f6e286f626a6563742c20697465726174656529207b0a202020202020202072657475726e2062617365496e766572746572286f626a6563742c207365747465722c20746f4974657261746565286974657261746565292c207b7d293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061206d617468656d61746963616c206f7065726174696f6e206f6e2074776f2076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206f70657261746f72205468652066756e6374696f6e20746f20706572666f726d20746865206f7065726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b64656661756c7456616c75655d205468652076616c7565207573656420666f722060756e646566696e65646020617267756d656e74732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d617468656d61746963616c206f7065726174696f6e2066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654d6174684f7065726174696f6e286f70657261746f722c2064656661756c7456616c756529207b0a20202020202072657475726e2066756e6374696f6e2876616c75652c206f7468657229207b0a202020202020202076617220726573756c743b0a20202020202020206966202876616c7565203d3d3d20756e646566696e6564202626206f74686572203d3d3d20756e646566696e656429207b0a2020202020202020202072657475726e2064656661756c7456616c75653b0a20202020202020207d0a20202020202020206966202876616c756520213d3d20756e646566696e656429207b0a20202020202020202020726573756c74203d2076616c75653b0a20202020202020207d0a2020202020202020696620286f7468657220213d3d20756e646566696e656429207b0a2020202020202020202069662028726573756c74203d3d3d20756e646566696e656429207b0a20202020202020202020202072657475726e206f746865723b0a202020202020202020207d0a2020202020202020202069662028747970656f662076616c7565203d3d2027737472696e6727207c7c20747970656f66206f74686572203d3d2027737472696e672729207b0a20202020202020202020202076616c7565203d2062617365546f537472696e672876616c7565293b0a2020202020202020202020206f74686572203d2062617365546f537472696e67286f74686572293b0a202020202020202020207d20656c7365207b0a20202020202020202020202076616c7565203d2062617365546f4e756d6265722876616c7565293b0a2020202020202020202020206f74686572203d2062617365546f4e756d626572286f74686572293b0a202020202020202020207d0a20202020202020202020726573756c74203d206f70657261746f722876616c75652c206f74686572293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e6f766572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20617272617946756e63205468652066756e6374696f6e20746f2069746572617465206f766572206974657261746565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206f7665722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654f76657228617272617946756e6329207b0a20202020202072657475726e20666c6174526573742866756e6374696f6e2869746572617465657329207b0a2020202020202020697465726174656573203d2061727261794d6170286974657261746565732c2062617365556e617279286765744974657261746565282929293b0a202020202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202020207661722074686973417267203d20746869733b0a2020202020202020202072657475726e20617272617946756e63286974657261746565732c2066756e6374696f6e28697465726174656529207b0a20202020202020202020202072657475726e206170706c792869746572617465652c20746869734172672c2061726773293b0a202020202020202020207d293b0a20202020202020207d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573207468652070616464696e6720666f722060737472696e6760206261736564206f6e20606c656e677468602e20546865206063686172736020737472696e670a20202020202a206973207472756e636174656420696620746865206e756d626572206f662063686172616374657273206578636565647320606c656e677468602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206c656e677468205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464696e6720666f722060737472696e67602e0a20202020202a2f0a2020202066756e6374696f6e2063726561746550616464696e67286c656e6774682c20636861727329207b0a2020202020206368617273203d206368617273203d3d3d20756e646566696e6564203f20272027203a2062617365546f537472696e67286368617273293b0a0a2020202020207661722063686172734c656e677468203d2063686172732e6c656e6774683b0a2020202020206966202863686172734c656e677468203c203229207b0a202020202020202072657475726e2063686172734c656e677468203f20626173655265706561742863686172732c206c656e67746829203a2063686172733b0a2020202020207d0a20202020202076617220726573756c74203d20626173655265706561742863686172732c206e61746976654365696c286c656e677468202f20737472696e6753697a652863686172732929293b0a20202020202072657475726e20686173556e69636f6465286368617273290a20202020202020203f2063617374536c69636528737472696e67546f417272617928726573756c74292c20302c206c656e677468292e6a6f696e282727290a20202020202020203a20726573756c742e736c69636528302c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b65206974207769746820746865206074686973602062696e64696e670a20202020202a206f662060746869734172676020616e6420607061727469616c73602070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174655061727469616c2866756e632c206269746d61736b2c20746869734172672c207061727469616c7329207b0a20202020202076617220697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a2020202020202020202043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a20202020202020207661722061726773496e646578203d202d312c0a202020202020202020202020617267734c656e677468203d20617267756d656e74732e6c656e6774682c0a2020202020202020202020206c656674496e646578203d202d312c0a2020202020202020202020206c6566744c656e677468203d207061727469616c732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c6566744c656e677468202b20617267734c656e677468292c0a202020202020202020202020666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a0a20202020202020207768696c6520282b2b6c656674496e646578203c206c6566744c656e67746829207b0a20202020202020202020617267735b6c656674496e6465785d203d207061727469616c735b6c656674496e6465785d3b0a20202020202020207d0a20202020202020207768696c652028617267734c656e6774682d2d29207b0a20202020202020202020617267735b6c656674496e6465782b2b5d203d20617267756d656e74735b2b2b61726773496e6465785d3b0a20202020202020207d0a202020202020202072657475726e206170706c7928666e2c20697342696e64203f2074686973417267203a20746869732c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e72616e676560206f7220605f2e72616e67655269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772072616e67652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746552616e67652866726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e2873746172742c20656e642c207374657029207b0a2020202020202020696620287374657020262620747970656f66207374657020213d20276e756d62657227202626206973497465726174656543616c6c2873746172742c20656e642c20737465702929207b0a20202020202020202020656e64203d2073746570203d20756e646566696e65643b0a20202020202020207d0a20202020202020202f2f20456e7375726520746865207369676e206f6620602d3060206973207072657365727665642e0a20202020202020207374617274203d20746f46696e697465287374617274293b0a202020202020202069662028656e64203d3d3d20756e646566696e656429207b0a20202020202020202020656e64203d2073746172743b0a202020202020202020207374617274203d20303b0a20202020202020207d20656c7365207b0a20202020202020202020656e64203d20746f46696e69746528656e64293b0a20202020202020207d0a202020202020202073746570203d2073746570203d3d3d20756e646566696e6564203f20287374617274203c20656e64203f2031203a202d3129203a20746f46696e6974652873746570293b0a202020202020202072657475726e206261736552616e67652873746172742c20656e642c20737465702c2066726f6d5269676874293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d7320612072656c6174696f6e616c206f7065726174696f6e206f6e2074776f2076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206f70657261746f72205468652066756e6374696f6e20746f20706572666f726d20746865206f7065726174696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772072656c6174696f6e616c206f7065726174696f6e2066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746552656c6174696f6e616c4f7065726174696f6e286f70657261746f7229207b0a20202020202072657475726e2066756e6374696f6e2876616c75652c206f7468657229207b0a2020202020202020696620282128747970656f662076616c7565203d3d2027737472696e672720262620747970656f66206f74686572203d3d2027737472696e67272929207b0a2020202020202020202076616c7565203d20746f4e756d6265722876616c7565293b0a202020202020202020206f74686572203d20746f4e756d626572286f74686572293b0a20202020202020207d0a202020202020202072657475726e206f70657261746f722876616c75652c206f74686572293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20636f6e74696e7565206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d207772617046756e63205468652066756e6374696f6e20746f2063726561746520746865206066756e636020777261707065722e0a20202020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c6465722076616c75652e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465526563757272792866756e632c206269746d61736b2c207772617046756e632c20706c616365686f6c6465722c20746869734172672c207061727469616c732c20686f6c646572732c20617267506f732c206172792c20617269747929207b0a2020202020207661722069734375727279203d206269746d61736b202620575241505f43555252595f464c41472c0a202020202020202020206e6577486f6c64657273203d2069734375727279203f20686f6c64657273203a20756e646566696e65642c0a202020202020202020206e6577486f6c646572735269676874203d2069734375727279203f20756e646566696e6564203a20686f6c646572732c0a202020202020202020206e65775061727469616c73203d2069734375727279203f207061727469616c73203a20756e646566696e65642c0a202020202020202020206e65775061727469616c735269676874203d2069734375727279203f20756e646566696e6564203a207061727469616c733b0a0a2020202020206269746d61736b207c3d202869734375727279203f20575241505f5041525449414c5f464c4147203a20575241505f5041525449414c5f52494748545f464c4147293b0a2020202020206269746d61736b20263d207e2869734375727279203f20575241505f5041525449414c5f52494748545f464c4147203a20575241505f5041525449414c5f464c4147293b0a0a2020202020206966202821286269746d61736b202620575241505f43555252595f424f554e445f464c41472929207b0a20202020202020206269746d61736b20263d207e28575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c4147293b0a2020202020207d0a202020202020766172206e657744617461203d205b0a202020202020202066756e632c206269746d61736b2c20746869734172672c206e65775061727469616c732c206e6577486f6c646572732c206e65775061727469616c7352696768742c0a20202020202020206e6577486f6c6465727352696768742c20617267506f732c206172792c2061726974790a2020202020205d3b0a0a20202020202076617220726573756c74203d207772617046756e632e6170706c7928756e646566696e65642c206e657744617461293b0a2020202020206966202869734c617a6961626c652866756e632929207b0a20202020202020207365744461746128726573756c742c206e657744617461293b0a2020202020207d0a202020202020726573756c742e706c616365686f6c646572203d20706c616365686f6c6465723b0a20202020202072657475726e2073657457726170546f537472696e6728726573756c742c2066756e632c206269746d61736b293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e726f756e64602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206d6574686f644e616d6520546865206e616d65206f662074686520604d61746860206d6574686f6420746f20757365207768656e20726f756e64696e672e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726f756e642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465526f756e64286d6574686f644e616d6529207b0a2020202020207661722066756e63203d204d6174685b6d6574686f644e616d655d3b0a20202020202072657475726e2066756e6374696f6e286e756d6265722c20707265636973696f6e29207b0a20202020202020206e756d626572203d20746f4e756d626572286e756d626572293b0a2020202020202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f2030203a206e61746976654d696e28746f496e746567657228707265636973696f6e292c20323932293b0a202020202020202069662028707265636973696f6e29207b0a202020202020202020202f2f2053686966742077697468206578706f6e656e7469616c206e6f746174696f6e20746f2061766f696420666c6f6174696e672d706f696e74206973737565732e0a202020202020202020202f2f20536565205b4d444e5d2868747470733a2f2f6d646e2e696f2f726f756e64234578616d706c65732920666f72206d6f72652064657461696c732e0a202020202020202020207661722070616972203d2028746f537472696e67286e756d62657229202b20276527292e73706c697428276527292c0a202020202020202020202020202076616c7565203d2066756e6328706169725b305d202b20276527202b20282b706169725b315d202b20707265636973696f6e29293b0a0a2020202020202020202070616972203d2028746f537472696e672876616c756529202b20276527292e73706c697428276527293b0a2020202020202020202072657475726e202b28706169725b305d202b20276527202b20282b706169725b315d202d20707265636973696f6e29293b0a20202020202020207d0a202020202020202072657475726e2066756e63286e756d626572293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736574206f626a656374206f66206076616c756573602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2061646420746f20746865207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577207365742e0a20202020202a2f0a2020202076617220637265617465536574203d202128536574202626202831202f20736574546f4172726179286e657720536574285b2c2d305d29295b315d29203d3d20494e46494e49545929203f206e6f6f70203a2066756e6374696f6e2876616c75657329207b0a20202020202072657475726e206e6577205365742876616c756573293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e746f506169727360206f7220605f2e746f5061697273496e602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f66206120676976656e206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772070616972732066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465546f5061697273286b65797346756e6329207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202076617220746167203d20676574546167286f626a656374293b0a202020202020202069662028746167203d3d206d617054616729207b0a2020202020202020202072657475726e206d6170546f4172726179286f626a656374293b0a20202020202020207d0a202020202020202069662028746167203d3d2073657454616729207b0a2020202020202020202072657475726e20736574546f5061697273286f626a656374293b0a20202020202020207d0a202020202020202072657475726e2062617365546f5061697273286f626a6563742c206b65797346756e63286f626a65637429293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206569746865722063757272696573206f7220696e766f6b6573206066756e63602077697468206f7074696f6e616c0a20202020202a206074686973602062696e64696e6720616e64207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d2066756e63205468652066756e6374696f6e206f72206d6574686f64206e616d6520746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a2020202031202d20605f2e62696e64600a20202020202a2020202032202d20605f2e62696e644b6579600a20202020202a2020202034202d20605f2e637572727960206f7220605f2e6375727279526967687460206f66206120626f756e642066756e6374696f6e0a20202020202a2020202038202d20605f2e6375727279600a20202020202a2020203136202d20605f2e63757272795269676874600a20202020202a2020203332202d20605f2e7061727469616c600a20202020202a2020203634202d20605f2e7061727469616c5269676874600a20202020202a2020313238202d20605f2e7265617267600a20202020202a2020323536202d20605f2e617279600a20202020202a2020353132202d20605f2e666c6970600a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465577261702866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c20617267506f732c206172792c20617269747929207b0a20202020202076617220697342696e644b6579203d206269746d61736b202620575241505f42494e445f4b45595f464c41473b0a2020202020206966202821697342696e644b657920262620747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a202020202020766172206c656e677468203d207061727469616c73203f207061727469616c732e6c656e677468203a20303b0a20202020202069662028216c656e67746829207b0a20202020202020206269746d61736b20263d207e28575241505f5041525449414c5f464c4147207c20575241505f5041525449414c5f52494748545f464c4147293b0a20202020202020207061727469616c73203d20686f6c64657273203d20756e646566696e65643b0a2020202020207d0a202020202020617279203d20617279203d3d3d20756e646566696e6564203f20617279203a206e61746976654d617828746f496e746567657228617279292c2030293b0a2020202020206172697479203d206172697479203d3d3d20756e646566696e6564203f206172697479203a20746f496e7465676572286172697479293b0a2020202020206c656e677468202d3d20686f6c64657273203f20686f6c646572732e6c656e677468203a20303b0a0a202020202020696620286269746d61736b202620575241505f5041525449414c5f52494748545f464c414729207b0a2020202020202020766172207061727469616c735269676874203d207061727469616c732c0a202020202020202020202020686f6c646572735269676874203d20686f6c646572733b0a0a20202020202020207061727469616c73203d20686f6c64657273203d20756e646566696e65643b0a2020202020207d0a2020202020207661722064617461203d20697342696e644b6579203f20756e646566696e6564203a20676574446174612866756e63293b0a0a202020202020766172206e657744617461203d205b0a202020202020202066756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c207061727469616c7352696768742c20686f6c6465727352696768742c0a2020202020202020617267506f732c206172792c2061726974790a2020202020205d3b0a0a202020202020696620286461746129207b0a20202020202020206d6572676544617461286e6577446174612c2064617461293b0a2020202020207d0a20202020202066756e63203d206e6577446174615b305d3b0a2020202020206269746d61736b203d206e6577446174615b315d3b0a20202020202074686973417267203d206e6577446174615b325d3b0a2020202020207061727469616c73203d206e6577446174615b335d3b0a202020202020686f6c64657273203d206e6577446174615b345d3b0a2020202020206172697479203d206e6577446174615b395d203d206e6577446174615b395d203d3d3d20756e646566696e65640a20202020202020203f2028697342696e644b6579203f2030203a2066756e632e6c656e677468290a20202020202020203a206e61746976654d6178286e6577446174615b395d202d206c656e6774682c2030293b0a0a20202020202069662028216172697479202626206269746d61736b20262028575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c41472929207b0a20202020202020206269746d61736b20263d207e28575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c4147293b0a2020202020207d0a20202020202069662028216269746d61736b207c7c206269746d61736b203d3d20575241505f42494e445f464c414729207b0a202020202020202076617220726573756c74203d2063726561746542696e642866756e632c206269746d61736b2c2074686973417267293b0a2020202020207d20656c736520696620286269746d61736b203d3d20575241505f43555252595f464c4147207c7c206269746d61736b203d3d20575241505f43555252595f52494748545f464c414729207b0a2020202020202020726573756c74203d2063726561746543757272792866756e632c206269746d61736b2c206172697479293b0a2020202020207d20656c73652069662028286269746d61736b203d3d20575241505f5041525449414c5f464c4147207c7c206269746d61736b203d3d2028575241505f42494e445f464c4147207c20575241505f5041525449414c5f464c414729292026262021686f6c646572732e6c656e67746829207b0a2020202020202020726573756c74203d206372656174655061727469616c2866756e632c206269746d61736b2c20746869734172672c207061727469616c73293b0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d206372656174654879627269642e6170706c7928756e646566696e65642c206e657744617461293b0a2020202020207d0a20202020202076617220736574746572203d2064617461203f206261736553657444617461203a20736574446174613b0a20202020202072657475726e2073657457726170546f537472696e672873657474657228726573756c742c206e657744617461292c2066756e632c206269746d61736b293b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e64656661756c74736020746f20637573746f6d697a652069747320605f2e61737369676e496e602075736520746f2061737369676e2070726f706572746965730a20202020202a206f6620736f75726365206f626a6563747320746f207468652064657374696e6174696f6e206f626a65637420666f7220616c6c2064657374696e6174696f6e2070726f706572746965730a20202020202a2074686174207265736f6c766520746f2060756e646566696e6564602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d206f626a56616c7565205468652064657374696e6174696f6e2076616c75652e0a20202020202a2040706172616d207b2a7d2073726356616c75652054686520736f757263652076616c75652e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520706172656e74206f626a656374206f6620606f626a56616c7565602e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d44656661756c747341737369676e496e286f626a56616c75652c2073726356616c75652c206b65792c206f626a65637429207b0a202020202020696620286f626a56616c7565203d3d3d20756e646566696e6564207c7c0a20202020202020202020286571286f626a56616c75652c206f626a65637450726f746f5b6b65795d2920262620216861734f776e50726f70657274792e63616c6c286f626a6563742c206b6579292929207b0a202020202020202072657475726e2073726356616c75653b0a2020202020207d0a20202020202072657475726e206f626a56616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e64656661756c7473446565706020746f20637573746f6d697a652069747320605f2e6d65726765602075736520746f206d6572676520736f757263650a20202020202a206f626a6563747320696e746f2064657374696e6174696f6e206f626a656374732074686174206172652070617373656420746872752e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d206f626a56616c7565205468652064657374696e6174696f6e2076616c75652e0a20202020202a2040706172616d207b2a7d2073726356616c75652054686520736f757263652076616c75652e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206d657267652e0a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520706172656e74206f626a656374206f6620606f626a56616c7565602e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520706172656e74206f626a656374206f66206073726356616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d44656661756c74734d65726765286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b29207b0a2020202020206966202869734f626a656374286f626a56616c7565292026262069734f626a6563742873726356616c75652929207b0a20202020202020202f2f205265637572736976656c79206d65726765206f626a6563747320616e642061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020737461636b2e7365742873726356616c75652c206f626a56616c7565293b0a2020202020202020626173654d65726765286f626a56616c75652c2073726356616c75652c20756e646566696e65642c20637573746f6d44656661756c74734d657267652c20737461636b293b0a2020202020202020737461636b5b2764656c657465275d2873726356616c7565293b0a2020202020207d0a20202020202072657475726e206f626a56616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e6f6d69746020746f20637573746f6d697a652069747320605f2e636c6f6e6544656570602075736520746f206f6e6c7920636c6f6e6520706c61696e0a20202020202a206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f20696e73706563742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520756e636c6f6e65642076616c7565206f722060756e646566696e65646020746f20646566657220636c6f6e696e6720746f20605f2e636c6f6e6544656570602e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d4f6d6974436c6f6e652876616c756529207b0a20202020202072657475726e206973506c61696e4f626a6563742876616c756529203f20756e646566696e6564203a2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f7220617272617973207769746820737570706f727420666f720a20202020202a207061727469616c206465657020636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6d706172652e0a20202020202a2040706172616d207b41727261797d206f7468657220546865206f7468657220617272617920746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b7320747261766572736564206061727261796020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652061727261797320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4172726179732861727261792c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a2020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41472c0a202020202020202020206172724c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206f74684c656e677468203d206f746865722e6c656e6774683b0a0a202020202020696620286172724c656e67746820213d206f74684c656e67746820262620212869735061727469616c202626206f74684c656e677468203e206172724c656e6774682929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a20202020202076617220737461636b6564203d20737461636b2e676574286172726179293b0a20202020202069662028737461636b656420262620737461636b2e676574286f746865722929207b0a202020202020202072657475726e20737461636b6564203d3d206f746865723b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d20747275652c0a202020202020202020207365656e203d20286269746d61736b202620434f4d504152455f554e4f5244455245445f464c414729203f206e6577205365744361636865203a20756e646566696e65643b0a0a202020202020737461636b2e7365742861727261792c206f74686572293b0a202020202020737461636b2e736574286f746865722c206172726179293b0a0a2020202020202f2f2049676e6f7265206e6f6e2d696e6465782070726f706572746965732e0a2020202020207768696c6520282b2b696e646578203c206172724c656e67746829207b0a20202020202020207661722061727256616c7565203d2061727261795b696e6465785d2c0a2020202020202020202020206f746856616c7565203d206f746865725b696e6465785d3b0a0a202020202020202069662028637573746f6d697a657229207b0a2020202020202020202076617220636f6d7061726564203d2069735061727469616c0a2020202020202020202020203f20637573746f6d697a6572286f746856616c75652c2061727256616c75652c20696e6465782c206f746865722c2061727261792c20737461636b290a2020202020202020202020203a20637573746f6d697a65722861727256616c75652c206f746856616c75652c20696e6465782c2061727261792c206f746865722c20737461636b293b0a20202020202020207d0a202020202020202069662028636f6d706172656420213d3d20756e646566696e656429207b0a2020202020202020202069662028636f6d706172656429207b0a202020202020202020202020636f6e74696e75653b0a202020202020202020207d0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920636f6d706172652061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020696620287365656e29207b0a2020202020202020202069662028216172726179536f6d65286f746865722c2066756e6374696f6e286f746856616c75652c206f7468496e64657829207b0a2020202020202020202020202020202069662028216361636865486173287365656e2c206f7468496e646578292026260a20202020202020202020202020202020202020202861727256616c7565203d3d3d206f746856616c7565207c7c20657175616c46756e632861727256616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b292929207b0a20202020202020202020202020202020202072657475726e207365656e2e70757368286f7468496e646578293b0a202020202020202020202020202020207d0a20202020202020202020202020207d2929207b0a202020202020202020202020726573756c74203d2066616c73653b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d20656c7365206966202821280a202020202020202020202020202061727256616c7565203d3d3d206f746856616c7565207c7c0a20202020202020202020202020202020657175616c46756e632861727256616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b290a2020202020202020202020202929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020202020737461636b5b2764656c657465275d286172726179293b0a202020202020737461636b5b2764656c657465275d286f74686572293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f7220636f6d706172696e67206f626a65637473206f660a20202020202a207468652073616d652060746f537472696e67546167602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546869732066756e6374696f6e206f6e6c7920737570706f72747320636f6d706172696e672076616c75657320776974682074616773206f660a20202020202a2060426f6f6c65616e602c206044617465602c20604572726f72602c20604e756d626572602c2060526567457870602c206f722060537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b737472696e677d20746167205468652060746f537472696e6754616760206f6620746865206f626a6563747320746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4279546167286f626a6563742c206f746865722c207461672c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a202020202020737769746368202874616729207b0a2020202020202020636173652064617461566965775461673a0a2020202020202020202069662028286f626a6563742e627974654c656e67746820213d206f746865722e627974654c656e67746829207c7c0a2020202020202020202020202020286f626a6563742e627974654f666673657420213d206f746865722e627974654f66667365742929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a202020202020202020206f626a656374203d206f626a6563742e6275666665723b0a202020202020202020206f74686572203d206f746865722e6275666665723b0a0a2020202020202020636173652061727261794275666665725461673a0a2020202020202020202069662028286f626a6563742e627974654c656e67746820213d206f746865722e627974654c656e67746829207c7c0a202020202020202020202020202021657175616c46756e63286e65772055696e74384172726179286f626a656374292c206e65772055696e74384172726179286f74686572292929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a2020202020202020202072657475726e20747275653b0a0a20202020202020206361736520626f6f6c5461673a0a20202020202020206361736520646174655461673a0a202020202020202063617365206e756d6265725461673a0a202020202020202020202f2f20436f6572636520626f6f6c65616e7320746f20603160206f722060306020616e6420646174657320746f206d696c6c697365636f6e64732e0a202020202020202020202f2f20496e76616c69642064617465732061726520636f657263656420746f20604e614e602e0a2020202020202020202072657475726e206571282b6f626a6563742c202b6f74686572293b0a0a202020202020202063617365206572726f725461673a0a2020202020202020202072657475726e206f626a6563742e6e616d65203d3d206f746865722e6e616d65202626206f626a6563742e6d657373616765203d3d206f746865722e6d6573736167653b0a0a202020202020202063617365207265676578705461673a0a20202020202020206361736520737472696e675461673a0a202020202020202020202f2f20436f65726365207265676578657320746f20737472696e677320616e6420747265617420737472696e67732c207072696d69746976657320616e64206f626a656374732c0a202020202020202020202f2f20617320657175616c2e2053656520687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d7265676578702e70726f746f747970652e746f737472696e670a202020202020202020202f2f20666f72206d6f72652064657461696c732e0a2020202020202020202072657475726e206f626a656374203d3d20286f74686572202b202727293b0a0a202020202020202063617365206d61705461673a0a2020202020202020202076617220636f6e76657274203d206d6170546f41727261793b0a0a202020202020202063617365207365745461673a0a202020202020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41473b0a20202020202020202020636f6e76657274207c7c2028636f6e76657274203d20736574546f4172726179293b0a0a20202020202020202020696620286f626a6563742e73697a6520213d206f746865722e73697a65202626202169735061727469616c29207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a202020202020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a2020202020202020202076617220737461636b6564203d20737461636b2e676574286f626a656374293b0a2020202020202020202069662028737461636b656429207b0a20202020202020202020202072657475726e20737461636b6564203d3d206f746865723b0a202020202020202020207d0a202020202020202020206269746d61736b207c3d20434f4d504152455f554e4f5244455245445f464c41473b0a0a202020202020202020202f2f205265637572736976656c7920636f6d70617265206f626a6563747320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a20202020202020202020737461636b2e736574286f626a6563742c206f74686572293b0a2020202020202020202076617220726573756c74203d20657175616c41727261797328636f6e76657274286f626a656374292c20636f6e76657274286f74686572292c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a20202020202020202020737461636b5b2764656c657465275d286f626a656374293b0a2020202020202020202072657475726e20726573756c743b0a0a2020202020202020636173652073796d626f6c5461673a0a202020202020202020206966202873796d626f6c56616c75654f6629207b0a20202020202020202020202072657475726e2073796d626f6c56616c75654f662e63616c6c286f626a65637429203d3d2073796d626f6c56616c75654f662e63616c6c286f74686572293b0a202020202020202020207d0a2020202020207d0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f72206f626a65637473207769746820737570706f727420666f720a20202020202a207061727469616c206465657020636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4f626a65637473286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a2020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41472c0a202020202020202020206f626a50726f7073203d20676574416c6c4b657973286f626a656374292c0a202020202020202020206f626a4c656e677468203d206f626a50726f70732e6c656e6774682c0a202020202020202020206f746850726f7073203d20676574416c6c4b657973286f74686572292c0a202020202020202020206f74684c656e677468203d206f746850726f70732e6c656e6774683b0a0a202020202020696620286f626a4c656e67746820213d206f74684c656e677468202626202169735061727469616c29207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a20202020202076617220696e646578203d206f626a4c656e6774683b0a2020202020207768696c652028696e6465782d2d29207b0a2020202020202020766172206b6579203d206f626a50726f70735b696e6465785d3b0a202020202020202069662028212869735061727469616c203f206b657920696e206f74686572203a206861734f776e50726f70657274792e63616c6c286f746865722c206b6579292929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a2020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a20202020202076617220737461636b6564203d20737461636b2e676574286f626a656374293b0a20202020202069662028737461636b656420262620737461636b2e676574286f746865722929207b0a202020202020202072657475726e20737461636b6564203d3d206f746865723b0a2020202020207d0a20202020202076617220726573756c74203d20747275653b0a202020202020737461636b2e736574286f626a6563742c206f74686572293b0a202020202020737461636b2e736574286f746865722c206f626a656374293b0a0a20202020202076617220736b697043746f72203d2069735061727469616c3b0a2020202020207768696c6520282b2b696e646578203c206f626a4c656e67746829207b0a20202020202020206b6579203d206f626a50726f70735b696e6465785d3b0a2020202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d2c0a2020202020202020202020206f746856616c7565203d206f746865725b6b65795d3b0a0a202020202020202069662028637573746f6d697a657229207b0a2020202020202020202076617220636f6d7061726564203d2069735061727469616c0a2020202020202020202020203f20637573746f6d697a6572286f746856616c75652c206f626a56616c75652c206b65792c206f746865722c206f626a6563742c20737461636b290a2020202020202020202020203a20637573746f6d697a6572286f626a56616c75652c206f746856616c75652c206b65792c206f626a6563742c206f746865722c20737461636b293b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920636f6d70617265206f626a6563747320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020696620282128636f6d7061726564203d3d3d20756e646566696e65640a20202020202020202020202020203f20286f626a56616c7565203d3d3d206f746856616c7565207c7c20657175616c46756e63286f626a56616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b29290a20202020202020202020202020203a20636f6d70617265640a2020202020202020202020202929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020736b697043746f72207c7c2028736b697043746f72203d206b6579203d3d2027636f6e7374727563746f7227293b0a2020202020207d0a20202020202069662028726573756c742026262021736b697043746f7229207b0a2020202020202020766172206f626a43746f72203d206f626a6563742e636f6e7374727563746f722c0a2020202020202020202020206f746843746f72203d206f746865722e636f6e7374727563746f723b0a0a20202020202020202f2f204e6f6e20604f626a65637460206f626a65637420696e7374616e636573207769746820646966666572656e7420636f6e7374727563746f727320617265206e6f7420657175616c2e0a2020202020202020696620286f626a43746f7220213d206f746843746f722026260a2020202020202020202020202827636f6e7374727563746f722720696e206f626a6563742026262027636f6e7374727563746f722720696e206f74686572292026260a2020202020202020202020202128747970656f66206f626a43746f72203d3d202766756e6374696f6e27202626206f626a43746f7220696e7374616e63656f66206f626a43746f722026260a2020202020202020202020202020747970656f66206f746843746f72203d3d202766756e6374696f6e27202626206f746843746f7220696e7374616e63656f66206f746843746f722929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020207d0a2020202020207d0a202020202020737461636b5b2764656c657465275d286f626a656374293b0a202020202020737461636b5b2764656c657465275d286f74686572293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f66206062617365526573746020776869636820666c617474656e732074686520726573742061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20666c6174526573742866756e6329207b0a20202020202072657475726e20736574546f537472696e67286f766572526573742866756e632c20756e646566696e65642c20666c617474656e292c2066756e63202b202727293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20656e756d657261626c652070726f7065727479206e616d657320616e642073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e20676574416c6c4b657973286f626a65637429207b0a20202020202072657475726e2062617365476574416c6c4b657973286f626a6563742c206b6579732c2067657453796d626f6c73293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479206e616d657320616e640a20202020202a2073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e20676574416c6c4b657973496e286f626a65637429207b0a20202020202072657475726e2062617365476574416c6c4b657973286f626a6563742c206b657973496e2c2067657453796d626f6c73496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473206d6574616461746120666f72206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6574616461746120666f72206066756e63602e0a20202020202a2f0a202020207661722067657444617461203d20216d6574614d6170203f206e6f6f70203a2066756e6374696f6e2866756e6329207b0a20202020202072657475726e206d6574614d61702e6765742866756e63293b0a202020207d3b0a0a202020202f2a2a0a20202020202a204765747320746865206e616d65206f66206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652066756e6374696f6e206e616d652e0a20202020202a2f0a2020202066756e6374696f6e2067657446756e634e616d652866756e6329207b0a20202020202076617220726573756c74203d202866756e632e6e616d65202b202727292c0a202020202020202020206172726179203d207265616c4e616d65735b726573756c745d2c0a202020202020202020206c656e677468203d206861734f776e50726f70657274792e63616c6c287265616c4e616d65732c20726573756c7429203f2061727261792e6c656e677468203a20303b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a20202020202020207661722064617461203d2061727261795b6c656e6774685d2c0a2020202020202020202020206f7468657246756e63203d20646174612e66756e633b0a2020202020202020696620286f7468657246756e63203d3d206e756c6c207c7c206f7468657246756e63203d3d2066756e6329207b0a2020202020202020202072657475726e20646174612e6e616d653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520617267756d656e7420706c616365686f6c6465722076616c756520666f72206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20696e73706563742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520706c616365686f6c6465722076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20676574486f6c6465722866756e6329207b0a202020202020766172206f626a656374203d206861734f776e50726f70657274792e63616c6c286c6f646173682c2027706c616365686f6c6465722729203f206c6f64617368203a2066756e633b0a20202020202072657475726e206f626a6563742e706c616365686f6c6465723b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520617070726f70726961746520226974657261746565222066756e6374696f6e2e20496620605f2e69746572617465656020697320637573746f6d697a65642c0a20202020202a20746869732066756e6374696f6e2072657475726e732074686520637573746f6d206d6574686f642c206f74686572776973652069742072657475726e732060626173654974657261746565602e0a20202020202a20496620617267756d656e7473206172652070726f76696465642c207468652063686f73656e2066756e6374696f6e20697320696e766f6b65642077697468207468656d20616e640a20202020202a2069747320726573756c742069732072657475726e65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d205b76616c75655d205468652076616c756520746f20636f6e7665727420746f20616e2069746572617465652e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f662074686520637265617465642069746572617465652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652063686f73656e2066756e6374696f6e206f722069747320726573756c742e0a20202020202a2f0a2020202066756e6374696f6e2067657449746572617465652829207b0a20202020202076617220726573756c74203d206c6f646173682e6974657261746565207c7c2069746572617465653b0a202020202020726573756c74203d20726573756c74203d3d3d206974657261746565203f20626173654974657261746565203a20726573756c743b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20726573756c7428617267756d656e74735b305d2c20617267756d656e74735b315d29203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206461746120666f7220606d6170602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f2071756572792e0a20202020202a2040706172616d207b737472696e677d206b657920546865207265666572656e6365206b65792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d617020646174612e0a20202020202a2f0a2020202066756e6374696f6e206765744d617044617461286d61702c206b657929207b0a2020202020207661722064617461203d206d61702e5f5f646174615f5f3b0a20202020202072657475726e2069734b657961626c65286b6579290a20202020202020203f20646174615b747970656f66206b6579203d3d2027737472696e6727203f2027737472696e6727203a202768617368275d0a20202020202020203a20646174612e6d61703b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652070726f7065727479206e616d65732c2076616c7565732c20616e6420636f6d7061726520666c616773206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206d617463682064617461206f6620606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206765744d6174636844617461286f626a65637429207b0a20202020202076617220726573756c74203d206b657973286f626a656374292c0a202020202020202020206c656e677468203d20726573756c742e6c656e6774683b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020766172206b6579203d20726573756c745b6c656e6774685d2c0a20202020202020202020202076616c7565203d206f626a6563745b6b65795d3b0a0a2020202020202020726573756c745b6c656e6774685d203d205b6b65792c2076616c75652c206973537472696374436f6d70617261626c652876616c7565295d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206e61746976652066756e6374696f6e20617420606b657960206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f6620746865206d6574686f6420746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652066756e6374696f6e2069662069742773206e61746976652c20656c73652060756e646566696e6564602e0a20202020202a2f0a2020202066756e6374696f6e206765744e6174697665286f626a6563742c206b657929207b0a2020202020207661722076616c7565203d2067657456616c7565286f626a6563742c206b6579293b0a20202020202072657475726e206261736549734e61746976652876616c756529203f2076616c7565203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f66206062617365476574546167602077686963682069676e6f726573206053796d626f6c2e746f537472696e67546167602076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207261772060746f537472696e67546167602e0a20202020202a2f0a2020202066756e6374696f6e206765745261775461672876616c756529207b0a2020202020207661722069734f776e203d206861734f776e50726f70657274792e63616c6c2876616c75652c2073796d546f537472696e67546167292c0a20202020202020202020746167203d2076616c75655b73796d546f537472696e675461675d3b0a0a202020202020747279207b0a202020202020202076616c75655b73796d546f537472696e675461675d203d20756e646566696e65643b0a202020202020202076617220756e6d61736b6564203d20747275653b0a2020202020207d20636174636820286529207b7d0a0a20202020202076617220726573756c74203d206e61746976654f626a656374546f537472696e672e63616c6c2876616c7565293b0a20202020202069662028756e6d61736b656429207b0a20202020202020206966202869734f776e29207b0a2020202020202020202076616c75655b73796d546f537472696e675461675d203d207461673b0a20202020202020207d20656c7365207b0a2020202020202020202064656c6574652076616c75655b73796d546f537472696e675461675d3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c652073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662073796d626f6c732e0a20202020202a2f0a202020207661722067657453796d626f6c73203d20216e617469766547657453796d626f6c73203f20737475624172726179203a2066756e6374696f6e286f626a65637429207b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a20202020202072657475726e20617272617946696c746572286e617469766547657453796d626f6c73286f626a656374292c2066756e6374696f6e2873796d626f6c29207b0a202020202020202072657475726e2070726f70657274794973456e756d657261626c652e63616c6c286f626a6563742c2073796d626f6c293b0a2020202020207d293b0a202020207d3b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c652073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662073796d626f6c732e0a20202020202a2f0a202020207661722067657453796d626f6c73496e203d20216e617469766547657453796d626f6c73203f20737475624172726179203a2066756e6374696f6e286f626a65637429207b0a20202020202076617220726573756c74203d205b5d3b0a2020202020207768696c6520286f626a65637429207b0a202020202020202061727261795075736828726573756c742c2067657453796d626f6c73286f626a65637429293b0a20202020202020206f626a656374203d2067657450726f746f74797065286f626a656374293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d3b0a0a202020202f2a2a0a20202020202a2047657473207468652060746f537472696e6754616760206f66206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652060746f537472696e67546167602e0a20202020202a2f0a2020202076617220676574546167203d20626173654765745461673b0a0a202020202f2f2046616c6c6261636b20666f7220646174612076696577732c206d6170732c20736574732c20616e64207765616b206d61707320696e20494520313120616e642070726f6d6973657320696e204e6f64652e6a73203c20362e0a202020206966202828446174615669657720262620676574546167286e6577204461746156696577286e6577204172726179427566666572283129292920213d20646174615669657754616729207c7c0a2020202020202020284d617020262620676574546167286e6577204d61702920213d206d617054616729207c7c0a20202020202020202850726f6d697365202626206765745461672850726f6d6973652e7265736f6c766528292920213d2070726f6d69736554616729207c7c0a20202020202020202853657420262620676574546167286e6577205365742920213d2073657454616729207c7c0a2020202020202020285765616b4d617020262620676574546167286e6577205765616b4d61702920213d207765616b4d61705461672929207b0a202020202020676574546167203d2066756e6374696f6e2876616c756529207b0a202020202020202076617220726573756c74203d20626173654765745461672876616c7565292c0a20202020202020202020202043746f72203d20726573756c74203d3d206f626a656374546167203f2076616c75652e636f6e7374727563746f72203a20756e646566696e65642c0a20202020202020202020202063746f72537472696e67203d2043746f72203f20746f536f757263652843746f7229203a2027273b0a0a20202020202020206966202863746f72537472696e6729207b0a20202020202020202020737769746368202863746f72537472696e6729207b0a2020202020202020202020206361736520646174615669657743746f72537472696e673a2072657475726e2064617461566965775461673b0a20202020202020202020202063617365206d617043746f72537472696e673a2072657475726e206d61705461673b0a202020202020202020202020636173652070726f6d69736543746f72537472696e673a2072657475726e2070726f6d6973655461673b0a202020202020202020202020636173652073657443746f72537472696e673a2072657475726e207365745461673b0a20202020202020202020202063617365207765616b4d617043746f72537472696e673a2072657475726e207765616b4d61705461673b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520766965772c206170706c79696e6720616e7920607472616e73666f726d736020746f20746865206073746172746020616e642060656e646020706f736974696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f662074686520766965772e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f662074686520766965772e0a20202020202a2040706172616d207b41727261797d207472616e73666f726d7320546865207472616e73666f726d6174696f6e7320746f206170706c7920746f2074686520766965772e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320616e206f626a65637420636f6e7461696e696e6720746865206073746172746020616e642060656e64600a20202020202a2020706f736974696f6e73206f662074686520766965772e0a20202020202a2f0a2020202066756e6374696f6e20676574566965772873746172742c20656e642c207472616e73666f726d7329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d207472616e73666f726d732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722064617461203d207472616e73666f726d735b696e6465785d2c0a20202020202020202020202073697a65203d20646174612e73697a653b0a0a20202020202020207377697463682028646174612e7479706529207b0a2020202020202020202063617365202764726f70273a2020202020207374617274202b3d2073697a653b20627265616b3b0a2020202020202020202063617365202764726f705269676874273a20656e64202d3d2073697a653b20627265616b3b0a2020202020202020202063617365202774616b65273a202020202020656e64203d206e61746976654d696e28656e642c207374617274202b2073697a65293b20627265616b3b0a2020202020202020202063617365202774616b655269676874273a207374617274203d206e61746976654d61782873746172742c20656e64202d2073697a65293b20627265616b3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e207b20277374617274273a2073746172742c2027656e64273a20656e64207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20457874726163747320777261707065722064657461696c732066726f6d207468652060736f757263656020626f647920636f6d6d656e742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20736f757263652054686520736f7572636520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520777261707065722064657461696c732e0a20202020202a2f0a2020202066756e6374696f6e206765745772617044657461696c7328736f7572636529207b0a202020202020766172206d61746368203d20736f757263652e6d617463682872655772617044657461696c73293b0a20202020202072657475726e206d61746368203f206d617463685b315d2e73706c697428726553706c697444657461696c7329203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060706174686020657869737473206f6e20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a2040706172616d207b46756e6374696f6e7d2068617346756e63205468652066756e6374696f6e20746f20636865636b2070726f706572746965732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2068617350617468286f626a6563742c20706174682c2068617346756e6329207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774682c0a20202020202020202020726573756c74203d2066616c73653b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d20746f4b657928706174685b696e6465785d293b0a2020202020202020696620282128726573756c74203d206f626a65637420213d206e756c6c2026262068617346756e63286f626a6563742c206b6579292929207b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206f626a656374203d206f626a6563745b6b65795d3b0a2020202020207d0a20202020202069662028726573756c74207c7c202b2b696e64657820213d206c656e67746829207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020206c656e677468203d206f626a656374203d3d206e756c6c203f2030203a206f626a6563742e6c656e6774683b0a20202020202072657475726e2021216c656e6774682026262069734c656e677468286c656e67746829202626206973496e646578286b65792c206c656e677468292026260a20202020202020202869734172726179286f626a65637429207c7c206973417267756d656e7473286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e20617272617920636c6f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636c6f6e652e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e65417272617928617272617929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d2061727261792e636f6e7374727563746f72286c656e677468293b0a0a2020202020202f2f204164642070726f706572746965732061737369676e656420627920605265674578702365786563602e0a202020202020696620286c656e67746820262620747970656f662061727261795b305d203d3d2027737472696e6727202626206861734f776e50726f70657274792e63616c6c2861727261792c2027696e646578272929207b0a2020202020202020726573756c742e696e646578203d2061727261792e696e6465783b0a2020202020202020726573756c742e696e707574203d2061727261792e696e7075743b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e206f626a65637420636c6f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e654f626a656374286f626a65637429207b0a20202020202072657475726e2028747970656f66206f626a6563742e636f6e7374727563746f72203d3d202766756e6374696f6e272026262021697350726f746f74797065286f626a65637429290a20202020202020203f20626173654372656174652867657450726f746f74797065286f626a65637429290a20202020202020203a207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e206f626a65637420636c6f6e65206261736564206f6e206974732060746f537472696e67546167602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546869732066756e6374696f6e206f6e6c7920737570706f72747320636c6f6e696e672076616c75657320776974682074616773206f660a20202020202a2060426f6f6c65616e602c206044617465602c20604572726f72602c20604e756d626572602c2060526567457870602c206f722060537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636c6f6e652e0a20202020202a2040706172616d207b737472696e677d20746167205468652060746f537472696e6754616760206f6620746865206f626a65637420746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e654279546167286f626a6563742c207461672c20636c6f6e6546756e632c2069734465657029207b0a2020202020207661722043746f72203d206f626a6563742e636f6e7374727563746f723b0a202020202020737769746368202874616729207b0a2020202020202020636173652061727261794275666665725461673a0a2020202020202020202072657475726e20636c6f6e654172726179427566666572286f626a656374293b0a0a20202020202020206361736520626f6f6c5461673a0a20202020202020206361736520646174655461673a0a2020202020202020202072657475726e206e65772043746f72282b6f626a656374293b0a0a2020202020202020636173652064617461566965775461673a0a2020202020202020202072657475726e20636c6f6e654461746156696577286f626a6563742c20697344656570293b0a0a20202020202020206361736520666c6f617433325461673a206361736520666c6f617436345461673a0a20202020202020206361736520696e74385461673a206361736520696e7431365461673a206361736520696e7433325461673a0a2020202020202020636173652075696e74385461673a20636173652075696e7438436c616d7065645461673a20636173652075696e7431365461673a20636173652075696e7433325461673a0a2020202020202020202072657475726e20636c6f6e6554797065644172726179286f626a6563742c20697344656570293b0a0a202020202020202063617365206d61705461673a0a2020202020202020202072657475726e20636c6f6e654d6170286f626a6563742c206973446565702c20636c6f6e6546756e63293b0a0a202020202020202063617365206e756d6265725461673a0a20202020202020206361736520737472696e675461673a0a2020202020202020202072657475726e206e65772043746f72286f626a656374293b0a0a202020202020202063617365207265676578705461673a0a2020202020202020202072657475726e20636c6f6e65526567457870286f626a656374293b0a0a202020202020202063617365207365745461673a0a2020202020202020202072657475726e20636c6f6e65536574286f626a6563742c206973446565702c20636c6f6e6546756e63293b0a0a2020202020202020636173652073796d626f6c5461673a0a2020202020202020202072657475726e20636c6f6e6553796d626f6c286f626a656374293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20496e73657274732077726170706572206064657461696c736020696e206120636f6d6d656e742061742074686520746f70206f66207468652060736f757263656020626f64792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20736f757263652054686520736f7572636520746f206d6f646966792e0a20202020202a204072657475726e73207b41727261797d2064657461696c73205468652064657461696c7320746f20696e736572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206d6f64696669656420736f757263652e0a20202020202a2f0a2020202066756e6374696f6e20696e736572745772617044657461696c7328736f757263652c2064657461696c7329207b0a202020202020766172206c656e677468203d2064657461696c732e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e20736f757263653b0a2020202020207d0a202020202020766172206c617374496e646578203d206c656e677468202d20313b0a20202020202064657461696c735b6c617374496e6465785d203d20286c656e677468203e2031203f2027262027203a20272729202b2064657461696c735b6c617374496e6465785d3b0a20202020202064657461696c73203d2064657461696c732e6a6f696e286c656e677468203e2032203f20272c2027203a20272027293b0a20202020202072657475726e20736f757263652e7265706c61636528726557726170436f6d6d656e742c20277b5c6e2f2a205b7772617070656420776974682027202b2064657461696c73202b20275d202a2f5c6e27293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206120666c617474656e61626c652060617267756d656e747360206f626a656374206f722061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320666c617474656e61626c652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973466c617474656e61626c652876616c756529207b0a20202020202072657475726e20697341727261792876616c756529207c7c206973417267756d656e74732876616c756529207c7c0a202020202020202021212873707265616461626c6553796d626f6c2026262076616c75652026262076616c75655b73707265616461626c6553796d626f6c5d293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612076616c69642061727261792d6c696b6520696e6465782e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d4d41585f534146455f494e54454745525d2054686520757070657220626f756e6473206f6620612076616c696420696e6465782e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612076616c696420696e6465782c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973496e6465782876616c75652c206c656e67746829207b0a2020202020206c656e677468203d206c656e677468203d3d206e756c6c203f204d41585f534146455f494e5445474552203a206c656e6774683b0a20202020202072657475726e2021216c656e6774682026260a202020202020202028747970656f662076616c7565203d3d20276e756d62657227207c7c207265497355696e742e746573742876616c756529292026260a20202020202020202876616c7565203e202d312026262076616c756520252031203d3d20302026262076616c7565203c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662074686520676976656e20617267756d656e7473206172652066726f6d20616e2069746572617465652063616c6c2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c75652054686520706f74656e7469616c2069746572617465652076616c756520617267756d656e742e0a20202020202a2040706172616d207b2a7d20696e6465782054686520706f74656e7469616c20697465726174656520696e646578206f72206b657920617267756d656e742e0a20202020202a2040706172616d207b2a7d206f626a6563742054686520706f74656e7469616c206974657261746565206f626a65637420617267756d656e742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520617267756d656e7473206172652066726f6d20616e2069746572617465652063616c6c2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973497465726174656543616c6c2876616c75652c20696e6465782c206f626a65637429207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722074797065203d20747970656f6620696e6465783b0a2020202020206966202874797065203d3d20276e756d626572270a2020202020202020202020203f2028697341727261794c696b65286f626a65637429202626206973496e64657828696e6465782c206f626a6563742e6c656e67746829290a2020202020202020202020203a202874797065203d3d2027737472696e672720262620696e64657820696e206f626a656374290a2020202020202020202029207b0a202020202020202072657475726e206571286f626a6563745b696e6465785d2c2076616c7565293b0a2020202020207d0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612070726f7065727479206e616d6520616e64206e6f7420612070726f706572747920706174682e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f207175657279206b657973206f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612070726f7065727479206e616d652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734b65792876616c75652c206f626a65637429207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722074797065203d20747970656f662076616c75653b0a2020202020206966202874797065203d3d20276e756d62657227207c7c2074797065203d3d202773796d626f6c27207c7c2074797065203d3d2027626f6f6c65616e27207c7c0a2020202020202020202076616c7565203d3d206e756c6c207c7c20697353796d626f6c2876616c75652929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a20202020202072657475726e2072654973506c61696e50726f702e746573742876616c756529207c7c2021726549734465657050726f702e746573742876616c756529207c7c0a2020202020202020286f626a65637420213d206e756c6c2026262076616c756520696e204f626a656374286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207375697461626c6520666f722075736520617320756e69717565206f626a656374206b65792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973207375697461626c652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734b657961626c652876616c756529207b0a2020202020207661722074797065203d20747970656f662076616c75653b0a20202020202072657475726e202874797065203d3d2027737472696e6727207c7c2074797065203d3d20276e756d62657227207c7c2074797065203d3d202773796d626f6c27207c7c2074797065203d3d2027626f6f6c65616e27290a20202020202020203f202876616c756520213d3d20275f5f70726f746f5f5f27290a20202020202020203a202876616c7565203d3d3d206e756c6c293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e6360206861732061206c617a7920636f756e746572706172742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206861732061206c617a7920636f756e746572706172742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734c617a6961626c652866756e6329207b0a2020202020207661722066756e634e616d65203d2067657446756e634e616d652866756e63292c0a202020202020202020206f74686572203d206c6f646173685b66756e634e616d655d3b0a0a20202020202069662028747970656f66206f7468657220213d202766756e6374696f6e27207c7c20212866756e634e616d6520696e204c617a79577261707065722e70726f746f747970652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020206966202866756e63203d3d3d206f7468657229207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020207661722064617461203d2067657444617461286f74686572293b0a20202020202072657475726e202121646174612026262066756e63203d3d3d20646174615b305d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e6360206861732069747320736f75726365206d61736b65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206973206d61736b65642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734d61736b65642866756e6329207b0a20202020202072657475726e2021216d61736b5372634b657920262620286d61736b5372634b657920696e2066756e63293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e63602069732063617061626c65206f66206265696e67206d61736b65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206973206d61736b61626c652c20656c7365206066616c7365602e0a20202020202a2f0a202020207661722069734d61736b61626c65203d20636f72654a7344617461203f20697346756e6374696f6e203a207374756246616c73653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c7920612070726f746f74797065206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612070726f746f747970652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20697350726f746f747970652876616c756529207b0a2020202020207661722043746f72203d2076616c75652026262076616c75652e636f6e7374727563746f722c0a2020202020202020202070726f746f203d2028747970656f662043746f72203d3d202766756e6374696f6e272026262043746f722e70726f746f7479706529207c7c206f626a65637450726f746f3b0a0a20202020202072657475726e2076616c7565203d3d3d2070726f746f3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207375697461626c6520666f722073747269637420657175616c69747920636f6d70617269736f6e732c20692e652e20603d3d3d602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206966207375697461626c6520666f72207374726963740a20202020202a2020657175616c69747920636f6d70617269736f6e732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973537472696374436f6d70617261626c652876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d2076616c7565202626202169734f626a6563742876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620606d61746368657350726f70657274796020666f7220736f757263652076616c756573207375697461626c650a20202020202a20666f722073747269637420657175616c69747920636f6d70617269736f6e732c20692e652e20603d3d3d602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206d617463686573537472696374436f6d70617261626c65286b65792c2073726356616c756529207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a2020202020202020696620286f626a656374203d3d206e756c6c29207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a202020202020202072657475726e206f626a6563745b6b65795d203d3d3d2073726356616c75652026260a202020202020202020202873726356616c756520213d3d20756e646566696e6564207c7c20286b657920696e204f626a656374286f626a6563742929293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6d656d6f697a656020776869636820636c6561727320746865206d656d6f697a65642066756e6374696f6e27730a20202020202a206361636865207768656e206974206578636565647320604d41585f4d454d4f495a455f53495a45602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206861766520697473206f7574707574206d656d6f697a65642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d656d6f697a65642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206d656d6f697a654361707065642866756e6329207b0a20202020202076617220726573756c74203d206d656d6f697a652866756e632c2066756e6374696f6e286b657929207b0a20202020202020206966202863616368652e73697a65203d3d3d204d41585f4d454d4f495a455f53495a4529207b0a2020202020202020202063616368652e636c65617228293b0a20202020202020207d0a202020202020202072657475726e206b65793b0a2020202020207d293b0a0a202020202020766172206361636865203d20726573756c742e63616368653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204d6572676573207468652066756e6374696f6e206d65746164617461206f662060736f757263656020696e746f206064617461602e0a20202020202a0a20202020202a204d657267696e67206d65746164617461207265647563657320746865206e756d626572206f66207772617070657273207573656420746f20696e766f6b6520612066756e6374696f6e2e0a20202020202a205468697320697320706f737369626c652062656361757365206d6574686f6473206c696b6520605f2e62696e64602c20605f2e6375727279602c20616e6420605f2e7061727469616c600a20202020202a206d6179206265206170706c696564207265676172646c657373206f6620657865637574696f6e206f726465722e204d6574686f6473206c696b6520605f2e6172796020616e640a20202020202a20605f2e726561726760206d6f646966792066756e6374696f6e20617267756d656e74732c206d616b696e6720746865206f7264657220696e2077686963682074686579206172650a20202020202a20657865637574656420696d706f7274616e742c2070726576656e74696e6720746865206d657267696e67206f66206d657461646174612e20486f77657665722c207765206d616b650a20202020202a20616e20657863657074696f6e20666f722061207361666520636f6d62696e6564206361736520776865726520637572726965642066756e6374696f6e73206861766520605f2e617279600a20202020202a20616e64206f7220605f2e726561726760206170706c6965642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2064617461205468652064657374696e6174696f6e206d657461646174612e0a20202020202a2040706172616d207b41727261797d20736f757263652054686520736f75726365206d657461646174612e0a20202020202a204072657475726e73207b41727261797d2052657475726e73206064617461602e0a20202020202a2f0a2020202066756e6374696f6e206d657267654461746128646174612c20736f7572636529207b0a202020202020766172206269746d61736b203d20646174615b315d2c0a202020202020202020207372634269746d61736b203d20736f757263655b315d2c0a202020202020202020206e65774269746d61736b203d206269746d61736b207c207372634269746d61736b2c0a202020202020202020206973436f6d6d6f6e203d206e65774269746d61736b203c2028575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c4147207c20575241505f4152595f464c4147293b0a0a202020202020766172206973436f6d626f203d0a202020202020202028287372634269746d61736b203d3d20575241505f4152595f464c41472920262620286269746d61736b203d3d20575241505f43555252595f464c41472929207c7c0a202020202020202028287372634269746d61736b203d3d20575241505f4152595f464c41472920262620286269746d61736b203d3d20575241505f52454152475f464c4147292026262028646174615b375d2e6c656e677468203c3d20736f757263655b385d2929207c7c0a202020202020202028287372634269746d61736b203d3d2028575241505f4152595f464c4147207c20575241505f52454152475f464c414729292026262028736f757263655b375d2e6c656e677468203c3d20736f757263655b385d2920262620286269746d61736b203d3d20575241505f43555252595f464c414729293b0a0a2020202020202f2f2045786974206561726c79206966206d657461646174612063616e2774206265206d65726765642e0a2020202020206966202821286973436f6d6d6f6e207c7c206973436f6d626f2929207b0a202020202020202072657475726e20646174613b0a2020202020207d0a2020202020202f2f2055736520736f757263652060746869734172676020696620617661696c61626c652e0a202020202020696620287372634269746d61736b202620575241505f42494e445f464c414729207b0a2020202020202020646174615b325d203d20736f757263655b325d3b0a20202020202020202f2f20536574207768656e206375727279696e67206120626f756e642066756e6374696f6e2e0a20202020202020206e65774269746d61736b207c3d206269746d61736b202620575241505f42494e445f464c4147203f2030203a20575241505f43555252595f424f554e445f464c41473b0a2020202020207d0a2020202020202f2f20436f6d706f7365207061727469616c20617267756d656e74732e0a2020202020207661722076616c7565203d20736f757263655b335d3b0a2020202020206966202876616c756529207b0a2020202020202020766172207061727469616c73203d20646174615b335d3b0a2020202020202020646174615b335d203d207061727469616c73203f20636f6d706f736541726773287061727469616c732c2076616c75652c20736f757263655b345d29203a2076616c75653b0a2020202020202020646174615b345d203d207061727469616c73203f207265706c616365486f6c6465727328646174615b335d2c20504c414345484f4c44455229203a20736f757263655b345d3b0a2020202020207d0a2020202020202f2f20436f6d706f7365207061727469616c20726967687420617267756d656e74732e0a20202020202076616c7565203d20736f757263655b355d3b0a2020202020206966202876616c756529207b0a20202020202020207061727469616c73203d20646174615b355d3b0a2020202020202020646174615b355d203d207061727469616c73203f20636f6d706f7365417267735269676874287061727469616c732c2076616c75652c20736f757263655b365d29203a2076616c75653b0a2020202020202020646174615b365d203d207061727469616c73203f207265706c616365486f6c6465727328646174615b355d2c20504c414345484f4c44455229203a20736f757263655b365d3b0a2020202020207d0a2020202020202f2f2055736520736f757263652060617267506f736020696620617661696c61626c652e0a20202020202076616c7565203d20736f757263655b375d3b0a2020202020206966202876616c756529207b0a2020202020202020646174615b375d203d2076616c75653b0a2020202020207d0a2020202020202f2f2055736520736f75726365206061727960206966206974277320736d616c6c65722e0a202020202020696620287372634269746d61736b202620575241505f4152595f464c414729207b0a2020202020202020646174615b385d203d20646174615b385d203d3d206e756c6c203f20736f757263655b385d203a206e61746976654d696e28646174615b385d2c20736f757263655b385d293b0a2020202020207d0a2020202020202f2f2055736520736f757263652060617269747960206966206f6e65206973206e6f742070726f76696465642e0a20202020202069662028646174615b395d203d3d206e756c6c29207b0a2020202020202020646174615b395d203d20736f757263655b395d3b0a2020202020207d0a2020202020202f2f2055736520736f75726365206066756e636020616e64206d65726765206269746d61736b732e0a202020202020646174615b305d203d20736f757263655b305d3b0a202020202020646174615b315d203d206e65774269746d61736b3b0a0a20202020202072657475726e20646174613b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b650a20202020202a205b604f626a6563742e6b657973605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e6b657973290a20202020202a20657863657074207468617420697420696e636c7564657320696e6865726974656420656e756d657261626c652070726f706572746965732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e206e61746976654b657973496e286f626a65637429207b0a20202020202076617220726573756c74203d205b5d3b0a202020202020696620286f626a65637420213d206e756c6c29207b0a2020202020202020666f722028766172206b657920696e204f626a656374286f626a6563742929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e67207573696e6720604f626a6563742e70726f746f747970652e746f537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a2f0a2020202066756e6374696f6e206f626a656374546f537472696e672876616c756529207b0a20202020202072657475726e206e61746976654f626a656374546f537472696e672e63616c6c2876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173655265737460207768696368207472616e73666f726d732074686520726573742061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a2040706172616d207b46756e6374696f6e7d207472616e73666f726d205468652072657374206172726179207472616e73666f726d2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206f766572526573742866756e632c2073746172742c207472616e73666f726d29207b0a2020202020207374617274203d206e61746976654d6178287374617274203d3d3d20756e646566696e6564203f202866756e632e6c656e677468202d203129203a2073746172742c2030293b0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74732c0a202020202020202020202020696e646578203d202d312c0a2020202020202020202020206c656e677468203d206e61746976654d617828617267732e6c656e677468202d2073746172742c2030292c0a2020202020202020202020206172726179203d204172726179286c656e677468293b0a0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202061727261795b696e6465785d203d20617267735b7374617274202b20696e6465785d3b0a20202020202020207d0a2020202020202020696e646578203d202d313b0a2020202020202020766172206f7468657241726773203d204172726179287374617274202b2031293b0a20202020202020207768696c6520282b2b696e646578203c20737461727429207b0a202020202020202020206f74686572417267735b696e6465785d203d20617267735b696e6465785d3b0a20202020202020207d0a20202020202020206f74686572417267735b73746172745d203d207472616e73666f726d286172726179293b0a202020202020202072657475726e206170706c792866756e632c20746869732c206f7468657241726773293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520706172656e742076616c756520617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797d207061746820546865207061746820746f206765742074686520706172656e742076616c7565206f662e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520706172656e742076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20706172656e74286f626a6563742c207061746829207b0a20202020202072657475726e20706174682e6c656e677468203c2032203f206f626a656374203a2062617365476574286f626a6563742c2062617365536c69636528706174682c20302c202d3129293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656f726465722060617272617960206163636f7264696e6720746f207468652073706563696669656420696e64657865732077686572652074686520656c656d656e742061740a20202020202a2074686520666972737420696e6465782069732061737369676e65642061732074686520666972737420656c656d656e742c2074686520656c656d656e742061740a20202020202a20746865207365636f6e6420696e6465782069732061737369676e656420617320746865207365636f6e6420656c656d656e742c20616e6420736f206f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2072656f726465722e0a20202020202a2040706172616d207b41727261797d20696e64657865732054686520617272616e67656420617272617920696e64657865732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2072656f726465722861727261792c20696e646578657329207b0a202020202020766172206172724c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206c656e677468203d206e61746976654d696e28696e64657865732e6c656e6774682c206172724c656e677468292c0a202020202020202020206f6c644172726179203d20636f70794172726179286172726179293b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202076617220696e646578203d20696e64657865735b6c656e6774685d3b0a202020202020202061727261795b6c656e6774685d203d206973496e64657828696e6465782c206172724c656e67746829203f206f6c6441727261795b696e6465785d203a20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2053657473206d6574616461746120666f72206066756e63602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620746869732066756e6374696f6e206265636f6d657320686f742c20692e652e20697320696e766f6b65642061206c6f7420696e20612073686f72740a20202020202a20706572696f64206f662074696d652c2069742077696c6c20747269702069747320627265616b657220616e64207472616e736974696f6e20746f20616e206964656e746974790a20202020202a2066756e6374696f6e20746f2061766f6964206761726261676520636f6c6c656374696f6e2070617573657320696e2056382e205365650a20202020202a205b563820697373756520323037305d2868747470733a2f2f627567732e6368726f6d69756d2e6f72672f702f76382f6973737565732f64657461696c3f69643d32303730290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206173736f6369617465206d6574616461746120776974682e0a20202020202a2040706172616d207b2a7d206461746120546865206d657461646174612e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a202020207661722073657444617461203d2073686f72744f7574286261736553657444617461293b0a0a202020202f2a2a0a20202020202a20412073696d706c6520777261707065722061726f756e642074686520676c6f62616c205b6073657454696d656f7574605d2868747470733a2f2f6d646e2e696f2f73657454696d656f7574292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a204072657475726e73207b6e756d6265727c4f626a6563747d2052657475726e73207468652074696d6572206964206f722074696d656f7574206f626a6563742e0a20202020202a2f0a202020207661722073657454696d656f7574203d2063747853657454696d656f7574207c7c2066756e6374696f6e2866756e632c207761697429207b0a20202020202072657475726e20726f6f742e73657454696d656f75742866756e632c2077616974293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2053657473207468652060746f537472696e6760206d6574686f64206f66206066756e636020746f2072657475726e2060737472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d20737472696e67205468652060746f537472696e676020726573756c742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a2020202076617220736574546f537472696e67203d2073686f72744f75742862617365536574546f537472696e67293b0a0a202020202f2a2a0a20202020202a2053657473207468652060746f537472696e6760206d6574686f64206f662060777261707065726020746f206d696d69632074686520736f75726365206f6620607265666572656e6365600a20202020202a207769746820777261707065722064657461696c7320696e206120636f6d6d656e742061742074686520746f70206f662074686520736f7572636520626f64792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2077726170706572205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d207265666572656e636520546865207265666572656e63652066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206077726170706572602e0a20202020202a2f0a2020202066756e6374696f6e2073657457726170546f537472696e6728777261707065722c207265666572656e63652c206269746d61736b29207b0a20202020202076617220736f75726365203d20287265666572656e6365202b202727293b0a20202020202072657475726e20736574546f537472696e6728777261707065722c20696e736572745772617044657461696c7328736f757263652c207570646174655772617044657461696c73286765745772617044657461696c7328736f75726365292c206269746d61736b2929293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174276c6c2073686f7274206f757420616e6420696e766f6b6520606964656e746974796020696e73746561640a20202020202a206f66206066756e6360207768656e20697427732063616c6c65642060484f545f434f554e5460206f72206d6f72652074696d657320696e2060484f545f5350414e600a20202020202a206d696c6c697365636f6e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772073686f727461626c652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2073686f72744f75742866756e6329207b0a20202020202076617220636f756e74203d20302c0a202020202020202020206c61737443616c6c6564203d20303b0a0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020766172207374616d70203d206e61746976654e6f7728292c0a20202020202020202020202072656d61696e696e67203d20484f545f5350414e202d20287374616d70202d206c61737443616c6c6564293b0a0a20202020202020206c61737443616c6c6564203d207374616d703b0a20202020202020206966202872656d61696e696e67203e203029207b0a20202020202020202020696620282b2b636f756e74203e3d20484f545f434f554e5429207b0a20202020202020202020202072657475726e20617267756d656e74735b305d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020636f756e74203d20303b0a20202020202020207d0a202020202020202072657475726e2066756e632e6170706c7928756e646566696e65642c20617267756d656e7473293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73687566666c6560207768696368206d75746174657320616e642073657473207468652073697a65206f6620606172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073687566666c652e0a20202020202a2040706172616d207b6e756d6265727d205b73697a653d61727261792e6c656e6774685d205468652073697a65206f6620606172726179602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2073687566666c6553656c662861727261792c2073697a6529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206c617374496e646578203d206c656e677468202d20313b0a0a20202020202073697a65203d2073697a65203d3d3d20756e646566696e6564203f206c656e677468203a2073697a653b0a2020202020207768696c6520282b2b696e646578203c2073697a6529207b0a20202020202020207661722072616e64203d206261736552616e646f6d28696e6465782c206c617374496e646578292c0a20202020202020202020202076616c7565203d2061727261795b72616e645d3b0a0a202020202020202061727261795b72616e645d203d2061727261795b696e6465785d3b0a202020202020202061727261795b696e6465785d203d2076616c75653b0a2020202020207d0a20202020202061727261792e6c656e677468203d2073697a653b0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f20612070726f706572747920706174682061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652070726f706572747920706174682061727261792e0a20202020202a2f0a2020202076617220737472696e67546f50617468203d206d656d6f697a654361707065642866756e6374696f6e28737472696e6729207b0a20202020202076617220726573756c74203d205b5d3b0a2020202020206966202872654c656164696e67446f742e7465737428737472696e672929207b0a2020202020202020726573756c742e70757368282727293b0a2020202020207d0a202020202020737472696e672e7265706c61636528726550726f704e616d652c2066756e6374696f6e286d617463682c206e756d6265722c2071756f74652c20737472696e6729207b0a2020202020202020726573756c742e707573682871756f7465203f20737472696e672e7265706c616365287265457363617065436861722c202724312729203a20286e756d626572207c7c206d6174636829293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e67206b65792069662069742773206e6f74206120737472696e67206f722073796d626f6c2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b737472696e677c73796d626f6c7d2052657475726e7320746865206b65792e0a20202020202a2f0a2020202066756e6374696f6e20746f4b65792876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d2027737472696e6727207c7c20697353796d626f6c2876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202076617220726573756c74203d202876616c7565202b202727293b0a20202020202072657475726e2028726573756c74203d3d20273027202626202831202f2076616c756529203d3d202d494e46494e49545929203f20272d3027203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206066756e636020746f2069747320736f7572636520636f64652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520736f7572636520636f64652e0a20202020202a2f0a2020202066756e6374696f6e20746f536f757263652866756e6329207b0a2020202020206966202866756e6320213d206e756c6c29207b0a2020202020202020747279207b0a2020202020202020202072657475726e2066756e63546f537472696e672e63616c6c2866756e63293b0a20202020202020207d20636174636820286529207b7d0a2020202020202020747279207b0a2020202020202020202072657475726e202866756e63202b202727293b0a20202020202020207d20636174636820286529207b7d0a2020202020207d0a20202020202072657475726e2027273b0a202020207d0a0a202020202f2a2a0a20202020202a20557064617465732077726170706572206064657461696c7360206261736564206f6e20606269746d61736b6020666c6167732e0a20202020202a0a20202020202a2040707269766174650a20202020202a204072657475726e73207b41727261797d2064657461696c73205468652064657461696c7320746f206d6f646966792e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a204072657475726e73207b41727261797d2052657475726e73206064657461696c73602e0a20202020202a2f0a2020202066756e6374696f6e207570646174655772617044657461696c732864657461696c732c206269746d61736b29207b0a2020202020206172726179456163682877726170466c6167732c2066756e6374696f6e287061697229207b0a20202020202020207661722076616c7565203d20275f2e27202b20706169725b305d3b0a202020202020202069662028286269746d61736b202620706169725b315d2920262620216172726179496e636c756465732864657461696c732c2076616c75652929207b0a2020202020202020202064657461696c732e707573682876616c7565293b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e2064657461696c732e736f727428293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66206077726170706572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d207772617070657220546865207772617070657220746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e656420777261707065722e0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436c6f6e65287772617070657229207b0a202020202020696620287772617070657220696e7374616e63656f66204c617a795772617070657229207b0a202020202020202072657475726e20777261707065722e636c6f6e6528293b0a2020202020207d0a20202020202076617220726573756c74203d206e6577204c6f646173685772617070657228777261707065722e5f5f777261707065645f5f2c20777261707065722e5f5f636861696e5f5f293b0a202020202020726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928777261707065722e5f5f616374696f6e735f5f293b0a202020202020726573756c742e5f5f696e6465785f5f20203d20777261707065722e5f5f696e6465785f5f3b0a202020202020726573756c742e5f5f76616c7565735f5f203d20777261707065722e5f5f76616c7565735f5f3b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732073706c697420696e746f2067726f75707320746865206c656e677468206f66206073697a65602e0a20202020202a20496620606172726179602063616e27742062652073706c6974206576656e6c792c207468652066696e616c206368756e6b2077696c6c206265207468652072656d61696e696e670a20202020202a20656c656d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2070726f636573732e0a20202020202a2040706172616d207b6e756d6265727d205b73697a653d315d20546865206c656e677468206f662065616368206368756e6b0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f66206368756e6b732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6368756e6b285b2761272c202762272c202763272c202764275d2c2032293b0a20202020202a202f2f203d3e205b5b2761272c202762275d2c205b2763272c202764275d5d0a20202020202a0a20202020202a205f2e6368756e6b285b2761272c202762272c202763272c202764275d2c2033293b0a20202020202a202f2f203d3e205b5b2761272c202762272c202763275d2c205b2764275d5d0a20202020202a2f0a2020202066756e6374696f6e206368756e6b2861727261792c2073697a652c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c2861727261792c2073697a652c20677561726429203a2073697a65203d3d3d20756e646566696e65642929207b0a202020202020202073697a65203d20313b0a2020202020207d20656c7365207b0a202020202020202073697a65203d206e61746976654d617828746f496e74656765722873697a65292c2030293b0a2020202020207d0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e677468207c7c2073697a65203c203129207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220696e646578203d20302c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d204172726179286e61746976654365696c286c656e677468202f2073697a6529293b0a0a2020202020207768696c652028696e646578203c206c656e67746829207b0a2020202020202020726573756c745b726573496e6465782b2b5d203d2062617365536c6963652861727261792c20696e6465782c2028696e646578202b3d2073697a6529293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179207769746820616c6c2066616c7365792076616c7565732072656d6f7665642e205468652076616c756573206066616c7365602c20606e756c6c602c0a20202020202a206030602c20602222602c2060756e646566696e6564602c20616e6420604e614e60206172652066616c7365792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6d706163742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636f6d70616374285b302c20312c2066616c73652c20322c2027272c20335d293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e20636f6d7061637428617272617929207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a20202020202020206966202876616c756529207b0a20202020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061206e657720617272617920636f6e636174656e6174696e672060617272617960207769746820616e79206164646974696f6e616c206172726179730a20202020202a20616e642f6f722076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6e636174656e6174652e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f20636f6e636174656e6174652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720636f6e636174656e617465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b315d3b0a20202020202a20766172206f74686572203d205f2e636f6e6361742861727261792c20322c205b335d2c205b5b345d5d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f74686572293b0a20202020202a202f2f203d3e205b312c20322c20332c205b345d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b315d0a20202020202a2f0a2020202066756e6374696f6e20636f6e6361742829207b0a202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020207661722061726773203d204172726179286c656e677468202d2031292c0a202020202020202020206172726179203d20617267756d656e74735b305d2c0a20202020202020202020696e646578203d206c656e6774683b0a0a2020202020207768696c652028696e6465782d2d29207b0a2020202020202020617267735b696e646578202d20315d203d20617267756d656e74735b696e6465785d3b0a2020202020207d0a20202020202072657475726e20617272617950757368286973417272617928617272617929203f20636f7079417272617928617272617929203a205b61727261795d2c2062617365466c617474656e28617267732c203129293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620606172726179602076616c756573206e6f7420696e636c7564656420696e20746865206f7468657220676976656e206172726179730a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e776974686f75742c205f2e786f720a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646966666572656e6365285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b315d0a20202020202a2f0a2020202076617220646966666572656e6365203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c207472756529290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e646966666572656e636560206578636570742074686174206974206163636570747320606974657261746565602077686963680a20202020202a20697320696e766f6b656420666f72206561636820656c656d656e74206f66206061727261796020616e64206076616c7565736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c4279602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646966666572656e63654279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e646966666572656e63654279285b7b202778273a2032207d2c207b202778273a2031207d5d2c205b7b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202076617220646966666572656e63654279203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a202020202020766172206974657261746565203d206c6173742876616c756573293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c2074727565292c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e646966666572656e63656020657863657074207468617420697420616363657074732060636f6d70617261746f72600a20202020202a20776869636820697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f66206061727261796020746f206076616c756573602e20546865206f7264657220616e640a20202020202a207265666572656e636573206f6620726573756c742076616c756573206172652064657465726d696e6564206279207468652066697273742061727261792e2054686520636f6d70617261746f720a20202020202a20697320696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c57697468602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a0a20202020202a205f2e646966666572656e636557697468286f626a656374732c205b7b202778273a20312c202779273a2032207d5d2c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20322c202779273a2031207d5d0a20202020202a2f0a2020202076617220646966666572656e636557697468203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202076617220636f6d70617261746f72203d206c6173742876616c756573293b0a20202020202069662028697341727261794c696b654f626a65637428636f6d70617261746f722929207b0a2020202020202020636f6d70617261746f72203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c2074727565292c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732064726f707065642066726f6d2074686520626567696e6e696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2064726f702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b335d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2064726f702861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a20202020202072657475726e2062617365536c6963652861727261792c206e203c2030203f2030203a206e2c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732064726f707065642066726f6d2074686520656e642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2064726f702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2064726f7052696768742861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a2020202020206e203d206c656e677468202d206e3b0a20202020202072657475726e2062617365536c6963652861727261792c20302c206e203c2030203f2030203a206e293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960206578636c7564696e6720656c656d656e74732064726f707065642066726f6d2074686520656e642e0a20202020202a20456c656d656e7473206172652064726f7070656420756e74696c2060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e64726f7052696768745768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e2064726f7052696768745768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c20747275652c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960206578636c7564696e6720656c656d656e74732064726f707065642066726f6d2074686520626567696e6e696e672e0a20202020202a20456c656d656e7473206172652064726f7070656420756e74696c2060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e64726f705768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e2064726f705768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2046696c6c7320656c656d656e7473206f6620606172726179602077697468206076616c7565602066726f6d206073746172746020757020746f2c20627574206e6f740a20202020202a20696e636c7564696e672c2060656e64602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2066696c6c2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2066696c6c206061727261796020776974682e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f2e66696c6c2861727261792c20276127293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2761272c202761272c202761275d0a20202020202a0a20202020202a205f2e66696c6c2841727261792833292c2032293b0a20202020202a202f2f203d3e205b322c20322c20325d0a20202020202a0a20202020202a205f2e66696c6c285b342c20362c20382c2031305d2c20272a272c20312c2033293b0a20202020202a202f2f203d3e205b342c20272a272c20272a272c2031305d0a20202020202a2f0a2020202066756e6374696f6e2066696c6c2861727261792c2076616c75652c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028737461727420262620747970656f6620737461727420213d20276e756d62657227202626206973497465726174656543616c6c2861727261792c2076616c75652c2073746172742929207b0a20202020202020207374617274203d20303b0a2020202020202020656e64203d206c656e6774683b0a2020202020207d0a20202020202072657475726e206261736546696c6c2861727261792c2076616c75652c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64602065786365707420746861742069742072657475726e732074686520696e646578206f66207468652066697273740a20202020202a20656c656d656e742060707265646963617465602072657475726e732074727574687920666f7220696e7374656164206f662074686520656c656d656e7420697473656c662e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666f756e6420656c656d656e742c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e64496e6465782875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e75736572203d3d20276261726e6579273b207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c207b202775736572273a202766726564272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c202761637469766527293b0a20202020202a202f2f203d3e20320a20202020202a2f0a2020202066756e6374696f6e2066696e64496e6465782861727261792c207072656469636174652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d2066726f6d496e646578203d3d206e756c6c203f2030203a20746f496e74656765722866726f6d496e646578293b0a20202020202069662028696e646578203c203029207b0a2020202020202020696e646578203d206e61746976654d6178286c656e677468202b20696e6465782c2030293b0a2020202020207d0a20202020202072657475726e206261736546696e64496e6465782861727261792c206765744974657261746565287072656469636174652c2033292c20696e646578293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64496e64657860206578636570742074686174206974206974657261746573206f76657220656c656d656e74730a20202020202a206f662060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d61727261792e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666f756e6420656c656d656e742c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e644c617374496e6465782875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e75736572203d3d2027706562626c6573273b207d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c202761637469766527293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e2066696e644c617374496e6465782861727261792c207072656469636174652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d206c656e677468202d20313b0a2020202020206966202866726f6d496e64657820213d3d20756e646566696e656429207b0a2020202020202020696e646578203d20746f496e74656765722866726f6d496e646578293b0a2020202020202020696e646578203d2066726f6d496e646578203c20300a202020202020202020203f206e61746976654d6178286c656e677468202b20696e6465782c2030290a202020202020202020203a206e61746976654d696e28696e6465782c206c656e677468202d2031293b0a2020202020207d0a20202020202072657475726e206261736546696e64496e6465782861727261792c206765744974657261746565287072656469636174652c2033292c20696e6465782c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a20466c617474656e73206061727261796020612073696e676c65206c6576656c20646565702e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c617474656e285b312c205b322c205b332c205b345d5d2c20355d5d293b0a20202020202a202f2f203d3e205b312c20322c205b332c205b345d5d2c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365466c617474656e2861727261792c203129203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a205265637572736976656c7920666c617474656e7320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c617474656e44656570285b312c205b322c205b332c205b345d5d2c20355d5d293b0a20202020202a202f2f203d3e205b312c20322c20332c20342c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e4465657028617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365466c617474656e2861727261792c20494e46494e49545929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a205265637572736976656c7920666c617474656e206061727261796020757020746f20606465707468602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a2040706172616d207b6e756d6265727d205b64657074683d315d20546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c205b322c205b332c205b345d5d2c20355d5d3b0a20202020202a0a20202020202a205f2e666c617474656e44657074682861727261792c2031293b0a20202020202a202f2f203d3e205b312c20322c205b332c205b345d5d2c20355d0a20202020202a0a20202020202a205f2e666c617474656e44657074682861727261792c2032293b0a20202020202a202f2f203d3e205b312c20322c20332c205b345d2c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e44657074682861727261792c20646570746829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206465707468203d206465707468203d3d3d20756e646566696e6564203f2031203a20746f496e7465676572286465707468293b0a20202020202072657475726e2062617365466c617474656e2861727261792c206465707468293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686520696e7665727365206f6620605f2e746f5061697273603b2074686973206d6574686f642072657475726e7320616e206f626a65637420636f6d706f7365640a20202020202a2066726f6d206b65792d76616c756520607061697273602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20706169727320546865206b65792d76616c75652070616972732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e66726f6d5061697273285b5b2761272c20315d2c205b2762272c20325d5d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a2020202066756e6374696f6e2066726f6d506169727328706169727329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d207061697273203d3d206e756c6c203f2030203a2070616972732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722070616972203d2070616972735b696e6465785d3b0a2020202020202020726573756c745b706169725b305d5d203d20706169725b315d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c6961732066697273740a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e68656164285b312c20322c20335d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a205f2e68656164285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206865616428617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2061727261795b305d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520696e64657820617420776869636820746865206669727374206f6363757272656e6365206f66206076616c75656020697320666f756e6420696e20606172726179600a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e204966206066726f6d496e64657860206973206e656761746976652c20697427732075736564206173207468650a20202020202a206f66667365742066726f6d2074686520656e64206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e6465784f66285b312c20322c20312c20325d2c2032293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f205365617263682066726f6d20746865206066726f6d496e646578602e0a20202020202a205f2e696e6465784f66285b312c20322c20312c20325d2c20322c2032293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20696e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d2066726f6d496e646578203d3d206e756c6c203f2030203a20746f496e74656765722866726f6d496e646578293b0a20202020202069662028696e646578203c203029207b0a2020202020202020696e646578203d206e61746976654d6178286c656e677468202b20696e6465782c2030293b0a2020202020207d0a20202020202072657475726e2062617365496e6465784f662861727261792c2076616c75652c20696e646578293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320616c6c2062757420746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e697469616c285b312c20322c20335d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e20696e697469616c28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365536c6963652861727261792c20302c202d3129203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c75657320746861742061726520696e636c7564656420696e20616c6c20676976656e206172726179730a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e74657273656374696f6e285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b325d0a20202020202a2f0a2020202076617220696e74657273656374696f6e203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d6170706564290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e74657273656374696f6e60206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e74657273656374696f6e4279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e315d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e696e74657273656374696f6e4279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d5d0a20202020202a2f0a2020202076617220696e74657273656374696f6e4279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973292c0a202020202020202020206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a0a202020202020696620286974657261746565203d3d3d206c617374286d61707065642929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d20656c7365207b0a20202020202020206d61707065642e706f7028293b0a2020202020207d0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d61707065642c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e74657273656374696f6e6020657863657074207468617420697420616363657074732060636f6d70617261746f72600a20202020202a20776869636820697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20546865206f7264657220616e64207265666572656e6365730a20202020202a206f6620726573756c742076616c756573206172652064657465726d696e6564206279207468652066697273742061727261792e2054686520636f6d70617261746f722069730a20202020202a20696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e696e74657273656374696f6e57697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d5d0a20202020202a2f0a2020202076617220696e74657273656374696f6e57697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973292c0a202020202020202020206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202069662028636f6d70617261746f7229207b0a20202020202020206d61707065642e706f7028293b0a2020202020207d0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d61707065642c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e766572747320616c6c20656c656d656e747320696e206061727261796020696e746f206120737472696e67207365706172617465642062792060736570617261746f72602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6e766572742e0a20202020202a2040706172616d207b737472696e677d205b736570617261746f723d272c275d2054686520656c656d656e7420736570617261746f722e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206a6f696e656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6a6f696e285b2761272c202762272c202763275d2c20277e27293b0a20202020202a202f2f203d3e2027617e627e63270a20202020202a2f0a2020202066756e6374696f6e206a6f696e2861727261792c20736570617261746f7229207b0a20202020202072657475726e206172726179203d3d206e756c6c203f202727203a206e61746976654a6f696e2e63616c6c2861727261792c20736570617261746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c617374285b312c20322c20335d293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e206c61737428617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2061727261795b6c656e677468202d20315d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e6465784f6660206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a20606172726179602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d61727261792e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c617374496e6465784f66285b312c20322c20312c20325d2c2032293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a202f2f205365617263682066726f6d20746865206066726f6d496e646578602e0a20202020202a205f2e6c617374496e6465784f66285b312c20322c20312c20325d2c20322c2032293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e206c617374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d206c656e6774683b0a2020202020206966202866726f6d496e64657820213d3d20756e646566696e656429207b0a2020202020202020696e646578203d20746f496e74656765722866726f6d496e646578293b0a2020202020202020696e646578203d20696e646578203c2030203f206e61746976654d6178286c656e677468202b20696e6465782c203029203a206e61746976654d696e28696e6465782c206c656e677468202d2031293b0a2020202020207d0a20202020202072657475726e2076616c7565203d3d3d2076616c75650a20202020202020203f207374726963744c617374496e6465784f662861727261792c2076616c75652c20696e646578290a20202020202020203a206261736546696e64496e6465782861727261792c206261736549734e614e2c20696e6465782c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520656c656d656e7420617420696e64657820606e60206f6620606172726179602e20496620606e60206973206e656761746976652c20746865206e74680a20202020202a20656c656d656e742066726f6d2074686520656e642069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d305d2054686520696e646578206f662074686520656c656d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206e746820656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202764275d3b0a20202020202a0a20202020202a205f2e6e74682861727261792c2031293b0a20202020202a202f2f203d3e202762270a20202020202a0a20202020202a205f2e6e74682861727261792c202d32293b0a20202020202a202f2f203d3e202763273b0a20202020202a2f0a2020202066756e6374696f6e206e74682861727261792c206e29207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f20626173654e74682861727261792c20746f496e7465676572286e2929203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c20676976656e2076616c7565732066726f6d2060617272617960207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e776974686f7574602c2074686973206d6574686f64206d75746174657320606172726179602e2055736520605f2e72656d6f7665600a20202020202a20746f2072656d6f766520656c656d656e74732066726f6d20616e206172726179206279207072656469636174652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202761272c202762272c202763275d3b0a20202020202a0a20202020202a205f2e70756c6c2861727261792c202761272c20276327293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2762272c202762275d0a20202020202a2f0a202020207661722070756c6c203d2062617365526573742870756c6c416c6c293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c60206578636570742074686174206974206163636570747320616e206172726179206f662076616c75657320746f2072656d6f76652e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e6365602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202761272c202762272c202763275d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c2861727261792c205b2761272c202763275d293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2762272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c2861727261792c2076616c75657329207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c756573290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c416c6c60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206061727261796020616e64206076616c7565736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e63654279602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b7b202778273a2031207d2c207b202778273a2032207d2c207b202778273a2033207d2c207b202778273a2031207d5d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c42792861727261792c205b7b202778273a2031207d2c207b202778273a2033207d5d2c20277827293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c42792861727261792c2076616c7565732c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c7565732c2067657449746572617465652869746572617465652c203229290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c416c6c6020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f66206061727261796020746f206076616c756573602e2054686520636f6d70617261746f722069730a20202020202a20696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e636557697468602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20332c202779273a2034207d2c207b202778273a20352c202779273a2036207d5d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c576974682861727261792c205b7b202778273a20332c202779273a2034207d5d2c205f2e6973457175616c293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20352c202779273a2036207d5d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c576974682861727261792c2076616c7565732c20636f6d70617261746f7229207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c7565732c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320656c656d656e74732066726f6d206061727261796020636f72726573706f6e64696e6720746f2060696e64657865736020616e642072657475726e7320616e0a20202020202a206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e6174602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b2e2e2e286e756d6265727c6e756d6265725b5d297d205b696e64657865735d2054686520696e6465786573206f6620656c656d656e747320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202764275d3b0a20202020202a207661722070756c6c6564203d205f2e70756c6c41742861727261792c205b312c20335d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2761272c202763275d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f672870756c6c6564293b0a20202020202a202f2f203d3e205b2762272c202764275d0a20202020202a2f0a202020207661722070756c6c4174203d20666c6174526573742866756e6374696f6e2861727261792c20696e646578657329207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d206261736541742861727261792c20696e6465786573293b0a0a2020202020206261736550756c6c41742861727261792c2061727261794d617028696e64657865732c2066756e6374696f6e28696e64657829207b0a202020202020202072657475726e206973496e64657828696e6465782c206c656e67746829203f202b696e646578203a20696e6465783b0a2020202020207d292e736f727428636f6d70617265417363656e64696e6729293b0a0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c20656c656d656e74732066726f6d206061727261796020746861742060707265646963617465602072657475726e732074727574687920666f720a20202020202a20616e642072657475726e7320616e206172726179206f66207468652072656d6f76656420656c656d656e74732e205468652070726564696361746520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e66696c746572602c2074686973206d6574686f64206d75746174657320606172726179602e2055736520605f2e70756c6c600a20202020202a20746f2070756c6c20656c656d656e74732066726f6d20616e2061727261792062792076616c75652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20332c20345d3b0a20202020202a20766172206576656e73203d205f2e72656d6f76652861727261792c2066756e6374696f6e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20335d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286576656e73293b0a20202020202a202f2f203d3e205b322c20345d0a20202020202a2f0a2020202066756e6374696f6e2072656d6f76652861727261792c2070726564696361746529207b0a20202020202076617220726573756c74203d205b5d3b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e6465786573203d205b5d2c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020707265646963617465203d206765744974657261746565287072656469636174652c2033293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020202020696620287072656469636174652876616c75652c20696e6465782c2061727261792929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020202020696e64657865732e7075736828696e646578293b0a20202020202020207d0a2020202020207d0a2020202020206261736550756c6c41742861727261792c20696e6465786573293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a205265766572736573206061727261796020736f20746861742074686520666972737420656c656d656e74206265636f6d657320746865206c6173742c20746865207365636f6e640a20202020202a20656c656d656e74206265636f6d657320746865207365636f6e6420746f206c6173742c20616e6420736f206f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d757461746573206061727261796020616e64206973206261736564206f6e0a20202020202a205b6041727261792372657665727365605d2868747470733a2f2f6d646e2e696f2f41727261792f72657665727365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f2e72657665727365286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a2f0a2020202066756e6374696f6e207265766572736528617272617929207b0a20202020202072657475726e206172726179203d3d206e756c6c203f206172726179203a206e6174697665526576657273652e63616c6c286172726179293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f6620606172726179602066726f6d206073746172746020757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973207573656420696e7374656164206f660a20202020202a205b60417272617923736c696365605d2868747470733a2f2f6d646e2e696f2f41727261792f736c6963652920746f20656e737572652064656e736520617272617973206172650a20202020202a2072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736c6963652e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20736c6963652861727261792c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028656e6420262620747970656f6620656e6420213d20276e756d62657227202626206973497465726174656543616c6c2861727261792c2073746172742c20656e642929207b0a20202020202020207374617274203d20303b0a2020202020202020656e64203d206c656e6774683b0a2020202020207d0a202020202020656c7365207b0a20202020202020207374617274203d207374617274203d3d206e756c6c203f2030203a20746f496e7465676572287374617274293b0a2020202020202020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e677468203a20746f496e746567657228656e64293b0a2020202020207d0a20202020202072657475726e2062617365536c6963652861727261792c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a205573657320612062696e6172792073656172636820746f2064657465726d696e6520746865206c6f7765737420696e646578206174207768696368206076616c7565600a20202020202a2073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564496e646578285b33302c2035305d2c203430293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e6465782861727261792c2076616c756529207b0a20202020202072657475726e2062617365536f72746564496e6465782861727261792c2076616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f72746564496e64657860206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574652074686569720a20202020202a20736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a2034207d2c207b202778273a2035207d5d3b0a20202020202a0a20202020202a205f2e736f72746564496e6465784279286f626a656374732c207b202778273a2034207d2c2066756e6374696f6e286f29207b2072657475726e206f2e783b207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f72746564496e6465784279286f626a656374732c207b202778273a2034207d2c20277827293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e64657842792861727261792c2076616c75652c20697465726174656529207b0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c2067657449746572617465652869746572617465652c203229293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e6465784f666020657863657074207468617420697420706572666f726d7320612062696e6172790a20202020202a20736561726368206f6e206120736f7274656420606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564496e6465784f66285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e6465784f662861727261792c2076616c756529207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a202020202020696620286c656e67746829207b0a202020202020202076617220696e646578203d2062617365536f72746564496e6465782861727261792c2076616c7565293b0a202020202020202069662028696e646578203c206c656e6774682026262065712861727261795b696e6465785d2c2076616c75652929207b0a2020202020202020202072657475726e20696e6465783b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f72746564496e646578602065786365707420746861742069742072657475726e732074686520686967686573740a20202020202a20696e646578206174207768696368206076616c7565602073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f0a20202020202a206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f727465644c617374496e646578285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20340a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e6465782861727261792c2076616c756529207b0a20202020202072657475726e2062617365536f72746564496e6465782861727261792c2076616c75652c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f727465644c617374496e64657860206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574652074686569720a20202020202a20736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a2034207d2c207b202778273a2035207d5d3b0a20202020202a0a20202020202a205f2e736f727465644c617374496e6465784279286f626a656374732c207b202778273a2034207d2c2066756e6374696f6e286f29207b2072657475726e206f2e783b207d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f727465644c617374496e6465784279286f626a656374732c207b202778273a2034207d2c20277827293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e64657842792861727261792c2076616c75652c20697465726174656529207b0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c2067657449746572617465652869746572617465652c2032292c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6c617374496e6465784f666020657863657074207468617420697420706572666f726d7320612062696e6172790a20202020202a20736561726368206f6e206120736f7274656420606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f727465644c617374496e6465784f66285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e6465784f662861727261792c2076616c756529207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a202020202020696620286c656e67746829207b0a202020202020202076617220696e646578203d2062617365536f72746564496e6465782861727261792c2076616c75652c207472756529202d20313b0a20202020202020206966202865712861727261795b696e6465785d2c2076616c75652929207b0a2020202020202020202072657475726e20696e6465783b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e69716020657863657074207468617420697427732064657369676e656420616e64206f7074696d697a65640a20202020202a20666f7220736f72746564206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564556e6971285b312c20312c20325d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e20736f72746564556e697128617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f2062617365536f72746564556e6971286172726179290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e697142796020657863657074207468617420697427732064657369676e656420616e64206f7074696d697a65640a20202020202a20666f7220736f72746564206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564556e69714279285b312e312c20312e322c20322e332c20322e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e312c20322e335d0a20202020202a2f0a2020202066756e6374696f6e20736f72746564556e697142792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f2062617365536f72746564556e69712861727261792c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320616c6c206275742074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7461696c285b312c20322c20335d293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a2f0a2020202066756e6374696f6e207461696c28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365536c6963652861727261792c20312c206c656e67746829203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732074616b656e2066726f6d2074686520626567696e6e696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2074616b652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b652861727261792c206e2c20677561726429207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a20202020202072657475726e2062617365536c6963652861727261792c20302c206e203c2030203f2030203a206e293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732074616b656e2066726f6d2074686520656e642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2074616b652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d293b0a20202020202a202f2f203d3e205b335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b6552696768742861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a2020202020206e203d206c656e677468202d206e3b0a20202020202072657475726e2062617365536c6963652861727261792c206e203c2030203f2030203a206e2c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820656c656d656e74732074616b656e2066726f6d2074686520656e642e20456c656d656e7473206172650a20202020202a2074616b656e20756e74696c2060707265646963617465602072657475726e732066616c7365792e205468652070726564696361746520697320696e766f6b656420776974680a20202020202a20746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e74616b6552696768745768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b6552696768745768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c2066616c73652c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820656c656d656e74732074616b656e2066726f6d2074686520626567696e6e696e672e20456c656d656e74730a20202020202a206172652074616b656e20756e74696c2060707265646963617465602072657475726e732066616c7365792e205468652070726564696361746520697320696e766f6b656420776974680a20202020202a20746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e74616b655768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b655768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c203329290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c7565732c20696e206f726465722c2066726f6d20616c6c20676976656e20617272617973207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e696f6e285b325d2c205b312c20325d293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202076617220756e696f6e203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c207472756529293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e696f6e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e2062790a20202020202a20776869636820756e697175656e65737320697320636f6d70757465642e20526573756c742076616c756573206172652063686f73656e2066726f6d207468652066697273740a20202020202a20617272617920696e207768696368207468652076616c7565206f63637572732e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e696f6e4279285b322e315d2c205b312e322c20322e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e312c20312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e756e696f6e4279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d2c207b202778273a2032207d5d0a20202020202a2f0a2020202076617220756e696f6e4279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c2074727565292c2067657449746572617465652869746572617465652c203229293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e696f6e6020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20526573756c742076616c756573206172652063686f73656e2066726f6d0a20202020202a2074686520666972737420617272617920696e207768696368207468652076616c7565206f63637572732e2054686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e756e696f6e57697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2031207d5d0a20202020202a2f0a2020202076617220756e696f6e57697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973293b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c2074727565292c20756e646566696e65642c20636f6d70617261746f72293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20437265617465732061206475706c69636174652d667265652076657273696f6e206f6620616e2061727261792c207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732c20696e207768696368206f6e6c7920746865206669727374206f6363757272656e6365206f66206561636820656c656d656e740a20202020202a206973206b6570742e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e656420627920746865206f726465722074686579206f636375720a20202020202a20696e207468652061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6971285b322c20312c20325d293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202066756e6374696f6e20756e697128617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e697128617272617929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e697160206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a20756e697175656e65737320697320636f6d70757465642e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e6564206279207468650a20202020202a206f726465722074686579206f6363757220696e207468652061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e69714279285b322e312c20312e322c20322e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e312c20312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e756e69714279285b7b202778273a2031207d2c207b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d2c207b202778273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e20756e697142792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e69712861727261792c2067657449746572617465652869746572617465652c20322929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e69716020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f6620606172726179602e20546865206f72646572206f6620726573756c742076616c7565732069730a20202020202a2064657465726d696e656420627920746865206f726465722074686579206f6363757220696e207468652061727261792e54686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e756e697157697468286f626a656374732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d0a20202020202a2f0a2020202066756e6374696f6e20756e6971576974682861727261792c20636f6d70617261746f7229207b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e69712861727261792c20756e646566696e65642c20636f6d70617261746f7229203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a697060206578636570742074686174206974206163636570747320616e206172726179206f662067726f757065640a20202020202a20656c656d656e747320616e64206372656174657320616e20617272617920726567726f7570696e672074686520656c656d656e747320746f207468656972207072652d7a69700a20202020202a20636f6e66696775726174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e322e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20617272617920546865206172726179206f662067726f7570656420656c656d656e747320746f2070726f636573732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620726567726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207a6970706564203d205f2e7a6970285b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d293b0a20202020202a202f2f203d3e205b5b2761272c20312c20747275655d2c205b2762272c20322c2066616c73655d5d0a20202020202a0a20202020202a205f2e756e7a6970287a6970706564293b0a20202020202a202f2f203d3e205b5b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d5d0a20202020202a2f0a2020202066756e6374696f6e20756e7a697028617272617929207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020766172206c656e677468203d20303b0a2020202020206172726179203d20617272617946696c7465722861727261792c2066756e6374696f6e2867726f757029207b0a202020202020202069662028697341727261794c696b654f626a6563742867726f75702929207b0a202020202020202020206c656e677468203d206e61746976654d61782867726f75702e6c656e6774682c206c656e677468293b0a2020202020202020202072657475726e20747275653b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e206261736554696d6573286c656e6774682c2066756e6374696f6e28696e64657829207b0a202020202020202072657475726e2061727261794d61702861727261792c206261736550726f706572747928696e64657829293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e7a6970602065786365707420746861742069742061636365707473206069746572617465656020746f20737065636966790a20202020202a20686f7720726567726f757065642076616c7565732073686f756c6420626520636f6d62696e65642e2054686520697465726174656520697320696e766f6b65642077697468207468650a20202020202a20656c656d656e7473206f6620656163682067726f75703a20282e2e2e67726f7570292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20617272617920546865206172726179206f662067726f7570656420656c656d656e747320746f2070726f636573732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20746f20636f6d62696e650a20202020202a2020726567726f757065642076616c7565732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620726567726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207a6970706564203d205f2e7a6970285b312c20325d2c205b31302c2032305d2c205b3130302c203230305d293b0a20202020202a202f2f203d3e205b5b312c2031302c203130305d2c205b322c2032302c203230305d5d0a20202020202a0a20202020202a205f2e756e7a697057697468287a69707065642c205f2e616464293b0a20202020202a202f2f203d3e205b332c2033302c203330305d0a20202020202a2f0a2020202066756e6374696f6e20756e7a6970576974682861727261792c20697465726174656529207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220726573756c74203d20756e7a6970286172726179293b0a202020202020696620286974657261746565203d3d206e756c6c29207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202072657475726e2061727261794d617028726573756c742c2066756e6374696f6e2867726f757029207b0a202020202020202072657475726e206170706c792869746572617465652c20756e646566696e65642c2067726f7570293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206578636c7564696e6720616c6c20676976656e2076616c756573207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e646966666572656e63652c205f2e786f720a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e776974686f7574285b322c20312c20322c20335d2c20312c2032293b0a20202020202a202f2f203d3e205b335d0a20202020202a2f0a2020202076617220776974686f7574203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2076616c756573290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c7565732074686174206973207468650a20202020202a205b73796d6d657472696320646966666572656e63655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f53796d6d65747269635f646966666572656e6365290a20202020202a206f662074686520676976656e206172726179732e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e656420627920746865206f726465720a20202020202a2074686579206f6363757220696e20746865206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e646966666572656e63652c205f2e776974686f75740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e786f72285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b312c20335d0a20202020202a2f0a2020202076617220786f72203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a65637429293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e786f7260206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e2062790a20202020202a207768696368206279207768696368207468657927726520636f6d70617265642e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e65640a20202020202a20627920746865206f726465722074686579206f6363757220696e20746865206172726179732e2054686520697465726174656520697320696e766f6b65642077697468206f6e650a20202020202a20617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e786f724279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e322c20332e345d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e786f724279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202076617220786f724279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a656374292c2067657449746572617465652869746572617465652c203229293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e786f726020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963682069730a20202020202a20696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20546865206f72646572206f6620726573756c742076616c7565732069730a20202020202a2064657465726d696e656420627920746865206f726465722074686579206f6363757220696e20746865206172726179732e2054686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e786f7257697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2031207d5d0a20202020202a2f0a2020202076617220786f7257697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973293b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a656374292c20756e646566696e65642c20636f6d70617261746f72293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662067726f7570656420656c656d656e74732c20746865206669727374206f6620776869636820636f6e7461696e73207468650a20202020202a20666972737420656c656d656e7473206f662074686520676976656e206172726179732c20746865207365636f6e64206f6620776869636820636f6e7461696e73207468650a20202020202a207365636f6e6420656c656d656e7473206f662074686520676976656e206172726179732c20616e6420736f206f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f2070726f636573732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a6970285b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d293b0a20202020202a202f2f203d3e205b5b2761272c20312c20747275655d2c205b2762272c20322c2066616c73655d5d0a20202020202a2f0a20202020766172207a6970203d20626173655265737428756e7a6970293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66726f6d50616972736020657863657074207468617420697420616363657074732074776f206172726179732c0a20202020202a206f6e65206f662070726f7065727479206964656e7469666965727320616e64206f6e65206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d205b70726f70733d5b5d5d205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d205b76616c7565733d5b5d5d205468652070726f70657274792076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a69704f626a656374285b2761272c202762275d2c205b312c20325d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a2020202066756e6374696f6e207a69704f626a6563742870726f70732c2076616c75657329207b0a20202020202072657475726e20626173655a69704f626a6563742870726f7073207c7c205b5d2c2076616c756573207c7c205b5d2c2061737369676e56616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a69704f626a6563746020657863657074207468617420697420737570706f7274732070726f70657274792070617468732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d205b70726f70733d5b5d5d205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d205b76616c7565733d5b5d5d205468652070726f70657274792076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a69704f626a65637444656570285b27612e625b305d2e63272c2027612e625b315d2e64275d2c205b312c20325d293b0a20202020202a202f2f203d3e207b202761273a207b202762273a205b7b202763273a2031207d2c207b202764273a2032207d5d207d207d0a20202020202a2f0a2020202066756e6374696f6e207a69704f626a656374446565702870726f70732c2076616c75657329207b0a20202020202072657475726e20626173655a69704f626a6563742870726f7073207c7c205b5d2c2076616c756573207c7c205b5d2c2062617365536574293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a6970602065786365707420746861742069742061636365707473206069746572617465656020746f20737065636966790a20202020202a20686f772067726f757065642076616c7565732073686f756c6420626520636f6d62696e65642e2054686520697465726174656520697320696e766f6b65642077697468207468650a20202020202a20656c656d656e7473206f6620656163682067726f75703a20282e2e2e67726f7570292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f2070726f636573732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20746f20636f6d62696e650a20202020202a202067726f757065642076616c7565732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a697057697468285b312c20325d2c205b31302c2032305d2c205b3130302c203230305d2c2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e2061202b2062202b20633b0a20202020202a207d293b0a20202020202a202f2f203d3e205b3131312c203232325d0a20202020202a2f0a20202020766172207a697057697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206c656e677468203d206172726179732e6c656e6774682c0a202020202020202020206974657261746565203d206c656e677468203e2031203f206172726179735b6c656e677468202d20315d203a20756e646566696e65643b0a0a2020202020206974657261746565203d20747970656f66206974657261746565203d3d202766756e6374696f6e27203f20286172726179732e706f7028292c20697465726174656529203a20756e646566696e65643b0a20202020202072657475726e20756e7a697057697468286172726179732c206974657261746565293b0a202020207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860207772617070657220696e7374616e63652074686174207772617073206076616c7565602077697468206578706c69636974206d6574686f640a20202020202a20636861696e2073657175656e63657320656e61626c65642e2054686520726573756c74206f6620737563682073657175656e636573206d75737420626520756e777261707065640a20202020202a207769746820605f2376616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e332e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a203430207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a2031207d0a20202020202a205d3b0a20202020202a0a20202020202a2076617220796f756e67657374203d205f0a20202020202a2020202e636861696e287573657273290a20202020202a2020202e736f72744279282761676527290a20202020202a2020202e6d61702866756e6374696f6e286f29207b0a20202020202a202020202072657475726e206f2e75736572202b20272069732027202b206f2e6167653b0a20202020202a2020207d290a20202020202a2020202e6865616428290a20202020202a2020202e76616c756528293b0a20202020202a202f2f203d3e2027706562626c65732069732031270a20202020202a2f0a2020202066756e6374696f6e20636861696e2876616c756529207b0a20202020202076617220726573756c74203d206c6f646173682876616c7565293b0a202020202020726573756c742e5f5f636861696e5f5f203d20747275653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f6420696e766f6b65732060696e746572636570746f726020616e642072657475726e73206076616c7565602e2054686520696e746572636570746f720a20202020202a20697320696e766f6b65642077697468206f6e6520617267756d656e743b202876616c7565292e2054686520707572706f7365206f662074686973206d6574686f6420697320746f0a20202020202a202274617020696e746f222061206d6574686f6420636861696e2073657175656e636520696e206f7264657220746f206d6f6469667920696e7465726d65646961746520726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f7669646520746f2060696e746572636570746f72602e0a20202020202a2040706172616d207b46756e6374696f6e7d20696e746572636570746f72205468652066756e6374696f6e20746f20696e766f6b652e0a20202020202a204072657475726e73207b2a7d2052657475726e73206076616c7565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f285b312c20322c20335d290a20202020202a20202e7461702866756e6374696f6e28617272617929207b0a20202020202a202020202f2f204d757461746520696e7075742061727261792e0a20202020202a2020202061727261792e706f7028293b0a20202020202a20207d290a20202020202a20202e7265766572736528290a20202020202a20202e76616c756528293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202066756e6374696f6e207461702876616c75652c20696e746572636570746f7229207b0a202020202020696e746572636570746f722876616c7565293b0a20202020202072657475726e2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e746170602065786365707420746861742069742072657475726e732074686520726573756c74206f662060696e746572636570746f72602e0a20202020202a2054686520707572706f7365206f662074686973206d6574686f6420697320746f2022706173732074687275222076616c756573207265706c6163696e6720696e7465726d6564696174650a20202020202a20726573756c747320696e2061206d6574686f6420636861696e2073657175656e63652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f7669646520746f2060696e746572636570746f72602e0a20202020202a2040706172616d207b46756e6374696f6e7d20696e746572636570746f72205468652066756e6374696f6e20746f20696e766f6b652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662060696e746572636570746f72602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f28272020616263202027290a20202020202a20202e636861696e28290a20202020202a20202e7472696d28290a20202020202a20202e746872752866756e6374696f6e2876616c756529207b0a20202020202a2020202072657475726e205b76616c75655d3b0a20202020202a20207d290a20202020202a20202e76616c756528293b0a20202020202a202f2f203d3e205b27616263275d0a20202020202a2f0a2020202066756e6374696f6e20746872752876616c75652c20696e746572636570746f7229207b0a20202020202072657475726e20696e746572636570746f722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642069732074686520777261707065722076657273696f6e206f6620605f2e6174602e0a20202020202a0a20202020202a20406e616d652061740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d2c20345d207d3b0a20202020202a0a20202020202a205f286f626a656374292e6174285b27615b305d2e622e63272c2027615b315d275d292e76616c756528293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a2f0a2020202076617220777261707065724174203d20666c6174526573742866756e6374696f6e28706174687329207b0a202020202020766172206c656e677468203d2070617468732e6c656e6774682c0a202020202020202020207374617274203d206c656e677468203f2070617468735b305d203a20302c0a2020202020202020202076616c7565203d20746869732e5f5f777261707065645f5f2c0a20202020202020202020696e746572636570746f72203d2066756e6374696f6e286f626a65637429207b2072657475726e20626173654174286f626a6563742c207061746873293b207d3b0a0a202020202020696620286c656e677468203e2031207c7c20746869732e5f5f616374696f6e735f5f2e6c656e677468207c7c0a20202020202020202020212876616c756520696e7374616e63656f66204c617a795772617070657229207c7c20216973496e6465782873746172742929207b0a202020202020202072657475726e20746869732e7468727528696e746572636570746f72293b0a2020202020207d0a20202020202076616c7565203d2076616c75652e736c6963652873746172742c202b7374617274202b20286c656e677468203f2031203a203029293b0a20202020202076616c75652e5f5f616374696f6e735f5f2e70757368287b0a20202020202020202766756e63273a20746872752c0a20202020202020202761726773273a205b696e746572636570746f725d2c0a20202020202020202774686973417267273a20756e646566696e65640a2020202020207d293b0a20202020202072657475726e206e6577204c6f64617368577261707065722876616c75652c20746869732e5f5f636861696e5f5f292e746872752866756e6374696f6e28617272617929207b0a2020202020202020696620286c656e677468202626202161727261792e6c656e67746829207b0a2020202020202020202061727261792e7075736828756e646566696e6564293b0a20202020202020207d0a202020202020202072657475726e2061727261793b0a2020202020207d293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860207772617070657220696e7374616e63652077697468206578706c69636974206d6574686f6420636861696e2073657175656e63657320656e61626c65642e0a20202020202a0a20202020202a20406e616d6520636861696e0a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f20412073657175656e636520776974686f7574206578706c6963697420636861696e696e672e0a20202020202a205f287573657273292e6865616428293b0a20202020202a202f2f203d3e207b202775736572273a20276261726e6579272c2027616765273a203336207d0a20202020202a0a20202020202a202f2f20412073657175656e63652077697468206578706c6963697420636861696e696e672e0a20202020202a205f287573657273290a20202020202a2020202e636861696e28290a20202020202a2020202e6865616428290a20202020202a2020202e7069636b28277573657227290a20202020202a2020202e76616c756528293b0a20202020202a202f2f203d3e207b202775736572273a20276261726e657927207d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436861696e2829207b0a20202020202072657475726e20636861696e2874686973293b0a202020207d0a0a202020202f2a2a0a20202020202a2045786563757465732074686520636861696e2073657175656e636520616e642072657475726e7320746865207772617070656420726573756c742e0a20202020202a0a20202020202a20406e616d6520636f6d6d69740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20325d3b0a20202020202a207661722077726170706564203d205f286172726179292e707573682833293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a2077726170706564203d20777261707065642e636f6d6d697428293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a20777261707065642e6c61737428293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436f6d6d69742829207b0a20202020202072657475726e206e6577204c6f646173685772617070657228746869732e76616c756528292c20746869732e5f5f636861696e5f5f293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206e6578742076616c7565206f6e20612077726170706564206f626a65637420666f6c6c6f77696e67207468650a20202020202a205b6974657261746f722070726f746f636f6c5d2868747470733a2f2f6d646e2e696f2f697465726174696f6e5f70726f746f636f6c73236974657261746f72292e0a20202020202a0a20202020202a20406e616d65206e6578740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657874206974657261746f722076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d293b0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a2066616c73652c202776616c7565273a2031207d0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a2066616c73652c202776616c7565273a2032207d0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a20747275652c202776616c7565273a20756e646566696e6564207d0a20202020202a2f0a2020202066756e6374696f6e20777261707065724e6578742829207b0a20202020202069662028746869732e5f5f76616c7565735f5f203d3d3d20756e646566696e656429207b0a2020202020202020746869732e5f5f76616c7565735f5f203d20746f417272617928746869732e76616c75652829293b0a2020202020207d0a20202020202076617220646f6e65203d20746869732e5f5f696e6465785f5f203e3d20746869732e5f5f76616c7565735f5f2e6c656e6774682c0a2020202020202020202076616c7565203d20646f6e65203f20756e646566696e6564203a20746869732e5f5f76616c7565735f5f5b746869732e5f5f696e6465785f5f2b2b5d3b0a0a20202020202072657475726e207b2027646f6e65273a20646f6e652c202776616c7565273a2076616c7565207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20456e61626c657320746865207772617070657220746f206265206974657261626c652e0a20202020202a0a20202020202a20406e616d652053796d626f6c2e6974657261746f720a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e73207468652077726170706572206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d293b0a20202020202a0a20202020202a20777261707065645b53796d626f6c2e6974657261746f725d2829203d3d3d20777261707065643b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2041727261792e66726f6d2877726170706564293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572546f4974657261746f722829207b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662074686520636861696e2073657175656e636520706c616e74696e67206076616c7565602061732074686520777261707065642076616c75652e0a20202020202a0a20202020202a20406e616d6520706c616e740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20706c616e742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d292e6d617028737175617265293b0a20202020202a20766172206f74686572203d20777261707065642e706c616e74285b332c20345d293b0a20202020202a0a20202020202a206f746865722e76616c756528293b0a20202020202a202f2f203d3e205b392c2031365d0a20202020202a0a20202020202a20777261707065642e76616c756528293b0a20202020202a202f2f203d3e205b312c20345d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572506c616e742876616c756529207b0a20202020202076617220726573756c742c0a20202020202020202020706172656e74203d20746869733b0a0a2020202020207768696c652028706172656e7420696e7374616e63656f6620626173654c6f6461736829207b0a202020202020202076617220636c6f6e65203d2077726170706572436c6f6e6528706172656e74293b0a2020202020202020636c6f6e652e5f5f696e6465785f5f203d20303b0a2020202020202020636c6f6e652e5f5f76616c7565735f5f203d20756e646566696e65643b0a202020202020202069662028726573756c7429207b0a2020202020202020202070726576696f75732e5f5f777261707065645f5f203d20636c6f6e653b0a20202020202020207d20656c7365207b0a20202020202020202020726573756c74203d20636c6f6e653b0a20202020202020207d0a20202020202020207661722070726576696f7573203d20636c6f6e653b0a2020202020202020706172656e74203d20706172656e742e5f5f777261707065645f5f3b0a2020202020207d0a20202020202070726576696f75732e5f5f777261707065645f5f203d2076616c75653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642069732074686520777261707065722076657273696f6e206f6620605f2e72657665727365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d7574617465732074686520777261707065642061727261792e0a20202020202a0a20202020202a20406e616d6520726576657273650a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f286172726179292e7265766572736528292e76616c756528290a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572526576657273652829207b0a2020202020207661722076616c7565203d20746869732e5f5f777261707065645f5f3b0a2020202020206966202876616c756520696e7374616e63656f66204c617a795772617070657229207b0a20202020202020207661722077726170706564203d2076616c75653b0a202020202020202069662028746869732e5f5f616374696f6e735f5f2e6c656e67746829207b0a2020202020202020202077726170706564203d206e6577204c617a79577261707065722874686973293b0a20202020202020207d0a202020202020202077726170706564203d20777261707065642e7265766572736528293b0a2020202020202020777261707065642e5f5f616374696f6e735f5f2e70757368287b0a202020202020202020202766756e63273a20746872752c0a202020202020202020202761726773273a205b726576657273655d2c0a202020202020202020202774686973417267273a20756e646566696e65640a20202020202020207d293b0a202020202020202072657475726e206e6577204c6f646173685772617070657228777261707065642c20746869732e5f5f636861696e5f5f293b0a2020202020207d0a20202020202072657475726e20746869732e746872752872657665727365293b0a202020207d0a0a202020202f2a2a0a20202020202a2045786563757465732074686520636861696e2073657175656e636520746f207265736f6c76652074686520756e777261707065642076616c75652e0a20202020202a0a20202020202a20406e616d652076616c75650a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c69617320746f4a534f4e2c2076616c75654f660a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c76656420756e777261707065642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f285b312c20322c20335d292e76616c756528293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e207772617070657256616c75652829207b0a20202020202072657475726e20626173655772617070657256616c756528746869732e5f5f777261707065645f5f2c20746869732e5f5f616374696f6e735f5f293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e2054686520636f72726573706f6e64696e672076616c7565206f660a20202020202a2065616368206b657920697320746865206e756d626572206f662074696d657320746865206b6579207761732072657475726e656420627920606974657261746565602e205468650a20202020202a20697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636f756e744279285b362e312c20342e322c20362e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e207b202734273a20312c202736273a2032207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e636f756e744279285b276f6e65272c202774776f272c20277468726565275d2c20276c656e67746827293b0a20202020202a202f2f203d3e207b202733273a20322c202735273a2031207d0a20202020202a2f0a2020202076617220636f756e744279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c206b65792929207b0a20202020202020202b2b726573756c745b6b65795d3b0a2020202020207d20656c7365207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c2031293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b732069662060707265646963617465602072657475726e732074727574687920666f72202a2a616c6c2a2a20656c656d656e7473206f662060636f6c6c656374696f6e602e0a20202020202a20497465726174696f6e2069732073746f70706564206f6e63652060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f642072657475726e732060747275656020666f720a20202020202a205b656d70747920636f6c6c656374696f6e735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f456d7074795f7365742920626563617573650a20202020202a205b65766572797468696e6720697320747275655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f566163756f75735f747275746829206f660a20202020202a20656c656d656e7473206f6620656d70747920636f6c6c656374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6576657279285b747275652c20312c206e756c6c2c2027796573275d2c20426f6f6c65616e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c202761637469766527293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20657665727928636f6c6c656374696f6e2c207072656469636174652c20677561726429207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261794576657279203a206261736545766572793b0a202020202020696620286775617264202626206973497465726174656543616c6c28636f6c6c656374696f6e2c207072656469636174652c2067756172642929207b0a2020202020202020707265646963617465203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e602c2072657475726e696e6720616e206172726179206f6620616c6c20656c656d656e74730a20202020202a2060707265646963617465602072657475726e732074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e72656d6f7665602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2040736565205f2e72656a6563740a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c7465722875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c207b2027616765273a2033362c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a2f0a2020202066756e6374696f6e2066696c74657228636f6c6c656374696f6e2c2070726564696361746529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617946696c746572203a206261736546696c7465723b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e602c2072657475726e696e672074686520666972737420656c656d656e740a20202020202a2060707265646963617465602072657475726e732074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d61746368656420656c656d656e742c20656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e642875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e206f626a65637420666f7220276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c207b2027616765273a20312c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a65637420666f722027706562626c6573270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a65637420666f72202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a65637420666f7220276261726e6579270a20202020202a2f0a202020207661722066696e64203d2063726561746546696e642866696e64496e646578293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e6460206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d636f6c6c656374696f6e2e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d61746368656420656c656d656e742c20656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e66696e644c617374285b312c20322c20332c20345d2c2066756e6374696f6e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20313b0a20202020202a207d293b0a20202020202a202f2f203d3e20330a20202020202a2f0a202020207661722066696e644c617374203d2063726561746546696e642866696e644c617374496e646578293b0a0a202020202f2a2a0a20202020202a2043726561746573206120666c617474656e6564206172726179206f662076616c7565732062792072756e6e696e67206561636820656c656d656e7420696e2060636f6c6c656374696f6e600a20202020202a2074687275206069746572617465656020616e6420666c617474656e696e6720746865206d617070656420726573756c74732e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b6e2c206e5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d6170285b312c20325d2c206475706c6963617465293b0a20202020202a202f2f203d3e205b312c20312c20322c20325d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d617028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c2031293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c61744d617060206578636570742074686174206974207265637572736976656c7920666c617474656e73207468650a20202020202a206d617070656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b5b5b6e2c206e5d5d5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d617044656570285b312c20325d2c206475706c6963617465293b0a20202020202a202f2f203d3e205b312c20312c20322c20325d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d61704465657028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c20494e46494e495459293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c61744d617060206578636570742074686174206974207265637572736976656c7920666c617474656e73207468650a20202020202a206d617070656420726573756c747320757020746f20606465707468602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b64657074683d315d20546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b5b5b6e2c206e5d5d5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d61704465707468285b312c20325d2c206475706c69636174652c2032293b0a20202020202a202f2f203d3e205b5b312c20315d2c205b322c20325d5d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d6170446570746828636f6c6c656374696f6e2c2069746572617465652c20646570746829207b0a2020202020206465707468203d206465707468203d3d3d20756e646566696e6564203f2031203a20746f496e7465676572286465707468293b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c206465707468293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e6020616e6420696e766f6b6573206069746572617465656020666f72206561636820656c656d656e742e0a20202020202a2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2041732077697468206f746865722022436f6c6c656374696f6e7322206d6574686f64732c206f626a656374732077697468206120226c656e677468220a20202020202a2070726f706572747920617265206974657261746564206c696b65206172726179732e20546f2061766f69642074686973206265686176696f722075736520605f2e666f72496e600a20202020202a206f7220605f2e666f724f776e6020666f72206f626a65637420697465726174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c69617320656163680a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2040736565205f2e666f724561636852696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666f7245616368285b312c20325d2c2066756e6374696f6e2876616c756529207b0a20202020202a202020636f6e736f6c652e6c6f672876616c7565293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320603160207468656e206032602e0a20202020202a0a20202020202a205f2e666f7245616368287b202761273a20312c202762273a2032207d2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276127207468656e202762272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f724561636828636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617945616368203a2062617365456163683b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f724561636860206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a2040616c696173206561636852696768740a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2040736565205f2e666f72456163680a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666f72456163685269676874285b312c20325d2c2066756e6374696f6e2876616c756529207b0a20202020202a202020636f6e736f6c652e6c6f672876616c7565293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320603260207468656e206031602e0a20202020202a2f0a2020202066756e6374696f6e20666f7245616368526967687428636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179456163685269676874203a20626173654561636852696768743b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e20546865206f72646572206f662067726f757065642076616c7565730a20202020202a2069732064657465726d696e656420627920746865206f726465722074686579206f6363757220696e2060636f6c6c656374696f6e602e2054686520636f72726573706f6e64696e670a20202020202a2076616c7565206f662065616368206b657920697320616e206172726179206f6620656c656d656e747320726573706f6e7369626c6520666f722067656e65726174696e67207468650a20202020202a206b65792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e67726f75704279285b362e312c20342e322c20362e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e207b202734273a205b342e325d2c202736273a205b362e312c20362e335d207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e67726f75704279285b276f6e65272c202774776f272c20277468726565275d2c20276c656e67746827293b0a20202020202a202f2f203d3e207b202733273a205b276f6e65272c202774776f275d2c202735273a205b277468726565275d207d0a20202020202a2f0a202020207661722067726f75704279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c206b65792929207b0a2020202020202020726573756c745b6b65795d2e707573682876616c7565293b0a2020202020207d20656c7365207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c205b76616c75655d293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320696e2060636f6c6c656374696f6e602e2049662060636f6c6c656374696f6e60206973206120737472696e672c20697427730a20202020202a20636865636b656420666f72206120737562737472696e67206f66206076616c7565602c206f74686572776973650a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a206973207573656420666f7220657175616c69747920636f6d70617269736f6e732e204966206066726f6d496e64657860206973206e656761746976652c206974277320757365642061730a20202020202a20746865206f66667365742066726f6d2074686520656e64206f662060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747c737472696e677d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e726564756365602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320666f756e642c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e636c75646573285b312c20322c20335d2c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e636c75646573285b312c20322c20335d2c20312c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e636c75646573287b202761273a20312c202762273a2032207d2c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e636c75646573282761626364272c2027626327293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20696e636c7564657328636f6c6c656374696f6e2c2076616c75652c2066726f6d496e6465782c20677561726429207b0a202020202020636f6c6c656374696f6e203d20697341727261794c696b6528636f6c6c656374696f6e29203f20636f6c6c656374696f6e203a2076616c75657328636f6c6c656374696f6e293b0a20202020202066726f6d496e646578203d202866726f6d496e6465782026262021677561726429203f20746f496e74656765722866726f6d496e64657829203a20303b0a0a202020202020766172206c656e677468203d20636f6c6c656374696f6e2e6c656e6774683b0a2020202020206966202866726f6d496e646578203c203029207b0a202020202020202066726f6d496e646578203d206e61746976654d6178286c656e677468202b2066726f6d496e6465782c2030293b0a2020202020207d0a20202020202072657475726e206973537472696e6728636f6c6c656374696f6e290a20202020202020203f202866726f6d496e646578203c3d206c656e67746820262620636f6c6c656374696f6e2e696e6465784f662876616c75652c2066726f6d496e64657829203e202d31290a20202020202020203a202821216c656e6774682026262062617365496e6465784f6628636f6c6c656374696f6e2c2076616c75652c2066726f6d496e64657829203e202d31293b0a202020207d0a0a202020202f2a2a0a20202020202a20496e766f6b657320746865206d6574686f6420617420607061746860206f66206561636820656c656d656e7420696e2060636f6c6c656374696f6e602c2072657475726e696e670a20202020202a20616e206172726179206f662074686520726573756c7473206f66206561636820696e766f6b6564206d6574686f642e20416e79206164646974696f6e616c20617267756d656e74730a20202020202a206172652070726f766964656420746f206561636820696e766f6b6564206d6574686f642e2049662060706174686020697320612066756e6374696f6e2c206974277320696e766f6b65640a20202020202a20666f722c20616e642060746869736020626f756e6420746f2c206561636820656c656d656e7420696e2060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b41727261797c46756e6374696f6e7c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b65206f720a20202020202a20207468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b652065616368206d6574686f6420776974682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e766f6b654d6170285b5b352c20312c20375d2c205b332c20322c20315d5d2c2027736f727427293b0a20202020202a202f2f203d3e205b5b312c20352c20375d2c205b312c20322c20335d5d0a20202020202a0a20202020202a205f2e696e766f6b654d6170285b3132332c203435365d2c20537472696e672e70726f746f747970652e73706c69742c202727293b0a20202020202a202f2f203d3e205b5b2731272c202732272c202733275d2c205b2734272c202735272c202736275d5d0a20202020202a2f0a2020202076617220696e766f6b654d6170203d2062617365526573742866756e6374696f6e28636f6c6c656374696f6e2c20706174682c206172677329207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020697346756e63203d20747970656f662070617468203d3d202766756e6374696f6e272c0a20202020202020202020726573756c74203d20697341727261794c696b6528636f6c6c656374696f6e29203f20417272617928636f6c6c656374696f6e2e6c656e67746829203a205b5d3b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c756529207b0a2020202020202020726573756c745b2b2b696e6465785d203d20697346756e63203f206170706c7928706174682c2076616c75652c206172677329203a2062617365496e766f6b652876616c75652c20706174682c2061726773293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e2054686520636f72726573706f6e64696e672076616c7565206f660a20202020202a2065616368206b657920697320746865206c61737420656c656d656e7420726573706f6e7369626c6520666f722067656e65726174696e6720746865206b65792e205468650a20202020202a20697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b0a20202020202a2020207b2027646972273a20276c656674272c2027636f6465273a203937207d2c0a20202020202a2020207b2027646972273a20277269676874272c2027636f6465273a20313030207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6b657942792861727261792c2066756e6374696f6e286f29207b0a20202020202a20202072657475726e20537472696e672e66726f6d43686172436f6465286f2e636f6465293b0a20202020202a207d293b0a20202020202a202f2f203d3e207b202761273a207b2027646972273a20276c656674272c2027636f6465273a203937207d2c202764273a207b2027646972273a20277269676874272c2027636f6465273a20313030207d207d0a20202020202a0a20202020202a205f2e6b657942792861727261792c202764697227293b0a20202020202a202f2f203d3e207b20276c656674273a207b2027646972273a20276c656674272c2027636f6465273a203937207d2c20277269676874273a207b2027646972273a20277269676874272c2027636f6465273a20313030207d207d0a20202020202a2f0a20202020766172206b65794279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a2020202020206261736541737369676e56616c756528726573756c742c206b65792c2076616c7565293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662076616c7565732062792072756e6e696e67206561636820656c656d656e7420696e2060636f6c6c656374696f6e6020746872750a20202020202a20606974657261746565602e2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a0a20202020202a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a204d616e79206c6f64617368206d6574686f647320617265206775617264656420746f20776f726b2061732069746572617465657320666f72206d6574686f6473206c696b650a20202020202a20605f2e6576657279602c20605f2e66696c746572602c20605f2e6d6170602c20605f2e6d617056616c756573602c20605f2e72656a656374602c20616e6420605f2e736f6d65602e0a20202020202a0a20202020202a205468652067756172646564206d6574686f6473206172653a0a20202020202a2060617279602c20606368756e6b602c20606375727279602c206063757272795269676874602c206064726f70602c206064726f705269676874602c20606576657279602c0a20202020202a206066696c6c602c2060696e76657274602c20607061727365496e74602c206072616e646f6d602c206072616e6765602c206072616e67655269676874602c2060726570656174602c0a20202020202a206073616d706c6553697a65602c2060736c696365602c2060736f6d65602c2060736f72744279602c206073706c6974602c206074616b65602c206074616b655269676874602c0a20202020202a206074656d706c617465602c20607472696d602c20607472696d456e64602c20607472696d5374617274602c20616e642060776f726473600a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a205f2e6d6170285b342c20385d2c20737175617265293b0a20202020202a202f2f203d3e205b31362c2036345d0a20202020202a0a20202020202a205f2e6d6170287b202761273a20342c202762273a2038207d2c20737175617265293b0a20202020202a202f2f203d3e205b31362c2036345d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e657927207d2c0a20202020202a2020207b202775736572273a20276672656427207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61702875736572732c20277573657227293b0a20202020202a202f2f203d3e205b276261726e6579272c202766726564275d0a20202020202a2f0a2020202066756e6374696f6e206d617028636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261794d6170203a20626173654d61703b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f727442796020657863657074207468617420697420616c6c6f77732073706563696679696e672074686520736f72740a20202020202a206f7264657273206f66207468652069746572617465657320746f20736f72742062792e20496620606f72646572736020697320756e7370656369666965642c20616c6c2076616c7565730a20202020202a2061726520736f7274656420696e20617363656e64696e67206f726465722e204f74686572776973652c207370656369667920616e206f72646572206f662022646573632220666f720a20202020202a2064657363656e64696e67206f7220226173632220666f7220617363656e64696e6720736f7274206f72646572206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b41727261795b5d7c46756e6374696f6e5b5d7c4f626a6563745b5d7c737472696e675b5d7d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20736f72742062792e0a20202020202a2040706172616d207b737472696e675b5d7d205b6f72646572735d2054686520736f7274206f7264657273206f662060697465726174656573602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e726564756365602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203438207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203334207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f20536f72742062792060757365726020696e20617363656e64696e67206f7264657220616e6420627920606167656020696e2064657363656e64696e67206f726465722e0a20202020202a205f2e6f7264657242792875736572732c205b2775736572272c2027616765275d2c205b27617363272c202764657363275d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033365d2c205b276261726e6579272c2033345d2c205b2766726564272c2034385d2c205b2766726564272c2034305d5d0a20202020202a2f0a2020202066756e6374696f6e206f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f72646572732c20677561726429207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020696620282169734172726179286974657261746565732929207b0a2020202020202020697465726174656573203d20697465726174656573203d3d206e756c6c203f205b5d203a205b6974657261746565735d3b0a2020202020207d0a2020202020206f7264657273203d206775617264203f20756e646566696e6564203a206f72646572733b0a202020202020696620282169734172726179286f72646572732929207b0a20202020202020206f7264657273203d206f7264657273203d3d206e756c6c203f205b5d203a205b6f72646572735d3b0a2020202020207d0a20202020202072657475726e20626173654f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f7264657273293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732073706c697420696e746f2074776f2067726f7570732c20746865206669727374206f662077686963680a20202020202a20636f6e7461696e7320656c656d656e74732060707265646963617465602072657475726e732074727574687920666f722c20746865207365636f6e64206f662077686963680a20202020202a20636f6e7461696e7320656c656d656e74732060707265646963617465602072657475726e732066616c73657920666f722e20546865207072656469636174652069730a20202020202a20696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a2034302c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a20312c202027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e706172746974696f6e2875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b2766726564275d2c205b276261726e6579272c2027706562626c6573275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c207b2027616765273a20312c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b27706562626c6573275d2c205b276261726e6579272c202766726564275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2027706562626c6573275d2c205b2766726564275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b2766726564275d2c205b276261726e6579272c2027706562626c6573275d5d0a20202020202a2f0a2020202076617220706172746974696f6e203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020726573756c745b6b6579203f2030203a20315d2e707573682876616c7565293b0a202020207d2c2066756e6374696f6e2829207b2072657475726e205b5b5d2c205b5d5d3b207d293b0a0a202020202f2a2a0a20202020202a20526564756365732060636f6c6c656374696f6e6020746f20612076616c75652077686963682069732074686520616363756d756c6174656420726573756c74206f662072756e6e696e670a20202020202a206561636820656c656d656e7420696e2060636f6c6c656374696f6e60207468727520606974657261746565602c207768657265206561636820737563636573736976650a20202020202a20696e766f636174696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e2049662060616363756d756c61746f72600a20202020202a206973206e6f7420676976656e2c2074686520666972737420656c656d656e74206f662060636f6c6c656374696f6e6020697320757365642061732074686520696e697469616c0a20202020202a2076616c75652e2054686520697465726174656520697320696e766f6b6564207769746820666f757220617267756d656e74733a0a20202020202a2028616363756d756c61746f722c2076616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a204d616e79206c6f64617368206d6574686f647320617265206775617264656420746f20776f726b2061732069746572617465657320666f72206d6574686f6473206c696b650a20202020202a20605f2e726564756365602c20605f2e7265647563655269676874602c20616e6420605f2e7472616e73666f726d602e0a20202020202a0a20202020202a205468652067756172646564206d6574686f6473206172653a0a20202020202a206061737369676e602c206064656661756c7473602c206064656661756c747344656570602c2060696e636c75646573602c20606d65726765602c20606f726465724279602c0a20202020202a20616e642060736f72744279600a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a2040736565205f2e72656475636552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e726564756365285b312c20325d2c2066756e6374696f6e2873756d2c206e29207b0a20202020202a20202072657475726e2073756d202b206e3b0a20202020202a207d2c2030293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e726564756365287b202761273a20312c202762273a20322c202763273a2031207d2c2066756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a20202020202a20202028726573756c745b76616c75655d207c7c2028726573756c745b76616c75655d203d205b5d29292e70757368286b6579293b0a20202020202a20202072657475726e20726573756c743b0a20202020202a207d2c207b7d293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e2072656475636528636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f7229207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179526564756365203a20626173655265647563652c0a20202020202020202020696e6974416363756d203d20617267756d656e74732e6c656e677468203c20333b0a0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c2034292c20616363756d756c61746f722c20696e6974416363756d2c206261736545616368293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e72656475636560206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a2040736565205f2e7265647563650a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b5b302c20315d2c205b322c20335d2c205b342c20355d5d3b0a20202020202a0a20202020202a205f2e72656475636552696768742861727261792c2066756e6374696f6e28666c617474656e65642c206f7468657229207b0a20202020202a20202072657475726e20666c617474656e65642e636f6e636174286f74686572293b0a20202020202a207d2c205b5d293b0a20202020202a202f2f203d3e205b342c20352c20322c20332c20302c20315d0a20202020202a2f0a2020202066756e6374696f6e20726564756365526967687428636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f7229207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261795265647563655269676874203a20626173655265647563652c0a20202020202020202020696e6974416363756d203d20617267756d656e74732e6c656e677468203c20333b0a0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c2034292c20616363756d756c61746f722c20696e6974416363756d2c2062617365456163685269676874293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e66696c746572603b2074686973206d6574686f642072657475726e732074686520656c656d656e7473206f662060636f6c6c656374696f6e600a20202020202a207468617420607072656469636174656020646f6573202a2a6e6f742a2a2072657475726e2074727574687920666f722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2040736565205f2e66696c7465720a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e72656a6563742875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c207b2027616765273a2034302c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a2f0a2020202066756e6374696f6e2072656a65637428636f6c6c656374696f6e2c2070726564696361746529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617946696c746572203a206261736546696c7465723b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206e6567617465286765744974657261746565287072656469636174652c20332929293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320612072616e646f6d20656c656d656e742066726f6d2060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73616d706c65285b312c20322c20332c20345d293b0a20202020202a202f2f203d3e20320a20202020202a2f0a2020202066756e6374696f6e2073616d706c6528636f6c6c656374696f6e29207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953616d706c65203a206261736553616d706c653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320606e602072616e646f6d20656c656d656e747320617420756e69717565206b6579732066726f6d2060636f6c6c656374696f6e6020757020746f207468650a20202020202a2073697a65206f662060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73616d706c6553697a65285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b332c20315d0a20202020202a0a20202020202a205f2e73616d706c6553697a65285b312c20322c20335d2c2034293b0a20202020202a202f2f203d3e205b322c20332c20315d0a20202020202a2f0a2020202066756e6374696f6e2073616d706c6553697a6528636f6c6c656374696f6e2c206e2c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c28636f6c6c656374696f6e2c206e2c20677561726429203a206e203d3d3d20756e646566696e65642929207b0a20202020202020206e203d20313b0a2020202020207d20656c7365207b0a20202020202020206e203d20746f496e7465676572286e293b0a2020202020207d0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953616d706c6553697a65203a206261736553616d706c6553697a653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662073687566666c65642076616c7565732c207573696e6720612076657273696f6e206f66207468650a20202020202a205b4669736865722d59617465732073687566666c655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4669736865722d59617465735f73687566666c65292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73687566666c65285b312c20322c20332c20345d293b0a20202020202a202f2f203d3e205b342c20312c20332c20325d0a20202020202a2f0a2020202066756e6374696f6e2073687566666c6528636f6c6c656374696f6e29207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953687566666c65203a206261736553687566666c653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652073697a65206f662060636f6c6c656374696f6e602062792072657475726e696e6720697473206c656e67746820666f722061727261792d6c696b650a20202020202a2076616c756573206f7220746865206e756d626572206f66206f776e20656e756d657261626c6520737472696e67206b657965642070726f7065727469657320666f72206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747c737472696e677d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6c6c656374696f6e2073697a652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73697a65285b312c20322c20335d293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e73697a65287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a205f2e73697a652827706562626c657327293b0a20202020202a202f2f203d3e20370a20202020202a2f0a2020202066756e6374696f6e2073697a6528636f6c6c656374696f6e29207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e20303b0a2020202020207d0a20202020202069662028697341727261794c696b6528636f6c6c656374696f6e2929207b0a202020202020202072657475726e206973537472696e6728636f6c6c656374696f6e29203f20737472696e6753697a6528636f6c6c656374696f6e29203a20636f6c6c656374696f6e2e6c656e6774683b0a2020202020207d0a20202020202076617220746167203d2067657454616728636f6c6c656374696f6e293b0a20202020202069662028746167203d3d206d6170546167207c7c20746167203d3d2073657454616729207b0a202020202020202072657475726e20636f6c6c656374696f6e2e73697a653b0a2020202020207d0a20202020202072657475726e20626173654b65797328636f6c6c656374696f6e292e6c656e6774683b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060707265646963617465602072657475726e732074727574687920666f72202a2a616e792a2a20656c656d656e74206f662060636f6c6c656374696f6e602e0a20202020202a20497465726174696f6e2069732073746f70706564206f6e63652060707265646963617465602072657475726e73207472757468792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f6d65285b6e756c6c2c20302c2027796573272c2066616c73655d2c20426f6f6c65616e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c202761637469766527293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20736f6d6528636f6c6c656374696f6e2c207072656469636174652c20677561726429207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179536f6d65203a2062617365536f6d653b0a202020202020696620286775617264202626206973497465726174656543616c6c28636f6c6c656374696f6e2c207072656469636174652c2067756172642929207b0a2020202020202020707265646963617465203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732c20736f7274656420696e20617363656e64696e67206f726465722062792074686520726573756c7473206f660a20202020202a2072756e6e696e67206561636820656c656d656e7420696e206120636f6c6c656374696f6e207468727520656163682069746572617465652e2054686973206d6574686f640a20202020202a20706572666f726d73206120737461626c6520736f72742c20746861742069732c2069742070726573657276657320746865206f726967696e616c20736f7274206f72646572206f660a20202020202a20657175616c20656c656d656e74732e20546865206974657261746565732061726520696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20736f72742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203438207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203334207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e736f727442792875736572732c205b66756e6374696f6e286f29207b2072657475726e206f2e757365723b207d5d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033365d2c205b276261726e6579272c2033345d2c205b2766726564272c2034385d2c205b2766726564272c2034305d5d0a20202020202a0a20202020202a205f2e736f727442792875736572732c205b2775736572272c2027616765275d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033345d2c205b276261726e6579272c2033365d2c205b2766726564272c2034305d2c205b2766726564272c2034385d5d0a20202020202a2f0a2020202076617220736f72744279203d2062617365526573742866756e6374696f6e28636f6c6c656374696f6e2c2069746572617465657329207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020766172206c656e677468203d206974657261746565732e6c656e6774683b0a202020202020696620286c656e677468203e2031202626206973497465726174656543616c6c28636f6c6c656374696f6e2c206974657261746565735b305d2c206974657261746565735b315d2929207b0a2020202020202020697465726174656573203d205b5d3b0a2020202020207d20656c736520696620286c656e677468203e2032202626206973497465726174656543616c6c286974657261746565735b305d2c206974657261746565735b315d2c206974657261746565735b325d2929207b0a2020202020202020697465726174656573203d205b6974657261746565735b305d5d3b0a2020202020207d0a20202020202072657475726e20626173654f72646572427928636f6c6c656374696f6e2c2062617365466c617474656e286974657261746565732c2031292c205b5d293b0a202020207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2047657473207468652074696d657374616d70206f6620746865206e756d626572206f66206d696c6c697365636f6e64732074686174206861766520656c61707365642073696e63650a20202020202a2074686520556e69782065706f6368202831204a616e7561727920313937302030303a30303a303020555443292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f727920446174650a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d657374616d702e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656665722866756e6374696f6e287374616d7029207b0a20202020202a202020636f6e736f6c652e6c6f67285f2e6e6f772829202d207374616d70293b0a20202020202a207d2c205f2e6e6f772829293b0a20202020202a202f2f203d3e204c6f677320746865206e756d626572206f66206d696c6c697365636f6e647320697420746f6f6b20666f722074686520646566657272656420696e766f636174696f6e2e0a20202020202a2f0a20202020766172206e6f77203d206374784e6f77207c7c2066756e6374696f6e2829207b0a20202020202072657475726e20726f6f742e446174652e6e6f7728293b0a202020207d3b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6265666f7265603b2074686973206d6574686f64206372656174657320612066756e6374696f6e207468617420696e766f6b65730a20202020202a206066756e6360206f6e636520697427732063616c6c656420606e60206f72206d6f72652074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662063616c6c73206265666f7265206066756e636020697320696e766f6b65642e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207361766573203d205b2770726f66696c65272c202773657474696e6773275d3b0a20202020202a0a20202020202a2076617220646f6e65203d205f2e61667465722873617665732e6c656e6774682c2066756e6374696f6e2829207b0a20202020202a202020636f6e736f6c652e6c6f672827646f6e6520736176696e672127293b0a20202020202a207d293b0a20202020202a0a20202020202a205f2e666f72456163682873617665732c2066756e6374696f6e287479706529207b0a20202020202a2020206173796e6353617665287b202774797065273a20747970652c2027636f6d706c657465273a20646f6e65207d293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f67732027646f6e6520736176696e672127206166746572207468652074776f206173796e63207361766573206861766520636f6d706c657465642e0a20202020202a2f0a2020202066756e6374696f6e206166746572286e2c2066756e6329207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020696620282d2d6e203c203129207b0a2020202020202020202072657475726e2066756e632e6170706c7928746869732c20617267756d656e7473293b0a20202020202020207d0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e63602c207769746820757020746f20606e6020617267756d656e74732c0a20202020202a2069676e6f72696e6720616e79206164646974696f6e616c20617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d66756e632e6c656e6774685d20546865206172697479206361702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6170285b2736272c202738272c20273130275d2c205f2e617279287061727365496e742c203129293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e206172792866756e632c206e2c20677561726429207b0a2020202020206e203d206775617264203f20756e646566696e6564203a206e3b0a2020202020206e203d202866756e63202626206e203d3d206e756c6c29203f2066756e632e6c656e677468203a206e3b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f4152595f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e63602c207769746820746865206074686973602062696e64696e6720616e6420617267756d656e74730a20202020202a206f662074686520637265617465642066756e6374696f6e2c207768696c6520697427732063616c6c6564206c657373207468616e20606e602074696d65732e2053756273657175656e740a20202020202a2063616c6c7320746f2074686520637265617465642066756e6374696f6e2072657475726e2074686520726573756c74206f6620746865206c617374206066756e636020696e766f636174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662063616c6c73206174207768696368206066756e6360206973206e6f206c6f6e67657220696e766f6b65642e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c205f2e6265666f726528352c20616464436f6e74616374546f4c69737429293b0a20202020202a202f2f203d3e20416c6c6f777320616464696e6720757020746f203420636f6e746163747320746f20746865206c6973742e0a20202020202a2f0a2020202066756e6374696f6e206265666f7265286e2c2066756e6329207b0a20202020202076617220726573756c743b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020696620282d2d6e203e203029207b0a20202020202020202020726573756c74203d2066756e632e6170706c7928746869732c20617267756d656e7473293b0a20202020202020207d0a2020202020202020696620286e203c3d203129207b0a2020202020202020202066756e63203d20756e646566696e65643b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66206074686973417267600a20202020202a20616e6420607061727469616c73602070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686520605f2e62696e642e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c6974686963206275696c64732c0a20202020202a206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b65206e6174697665206046756e6374696f6e2362696e64602c2074686973206d6574686f6420646f65736e2774207365742074686520226c656e677468220a20202020202a2070726f7065727479206f6620626f756e642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2062696e642e0a20202020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626f756e642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b202775736572273a20276672656427207d3b0a20202020202a0a20202020202a2076617220626f756e64203d205f2e62696e642867726565742c206f626a6563742c2027686927293b0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a0a20202020202a202f2f20426f756e64207769746820706c616365686f6c646572732e0a20202020202a2076617220626f756e64203d205f2e62696e642867726565742c206f626a6563742c205f2c20272127293b0a20202020202a20626f756e642827686927293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a2f0a202020207661722062696e64203d2062617365526573742866756e6374696f6e2866756e632c20746869734172672c207061727469616c7329207b0a202020202020766172206269746d61736b203d20575241505f42494e445f464c41473b0a202020202020696620287061727469616c732e6c656e67746829207b0a202020202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c6465722862696e6429293b0a20202020202020206269746d61736b207c3d20575241505f5041525449414c5f464c41473b0a2020202020207d0a20202020202072657475726e20637265617465577261702866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865206d6574686f6420617420606f626a6563745b6b65795d60207769746820607061727469616c73600a20202020202a2070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686973206d6574686f6420646966666572732066726f6d20605f2e62696e646020627920616c6c6f77696e6720626f756e642066756e6374696f6e7320746f207265666572656e63650a20202020202a206d6574686f64732074686174206d6179206265207265646566696e6564206f7220646f6e2774207965742065786973742e205365650a20202020202a205b5065746572204d69636861757827732061727469636c655d28687474703a2f2f70657465722e6d6963686175782e63612f61727469636c65732f6c617a792d66756e6374696f6e2d646566696e6974696f6e2d7061747465726e290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a2054686520605f2e62696e644b65792e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e31302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766f6b6520746865206d6574686f64206f6e2e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f6620746865206d6574686f642e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626f756e642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b0a20202020202a2020202775736572273a202766726564272c0a20202020202a202020276772656574273a2066756e6374696f6e286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a202020202072657475726e206772656574696e67202b20272027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a2020207d0a20202020202a207d3b0a20202020202a0a20202020202a2076617220626f756e64203d205f2e62696e644b6579286f626a6563742c20276772656574272c2027686927293b0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a0a20202020202a206f626a6563742e6772656574203d2066756e6374696f6e286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a20202072657475726e206772656574696e67202b202779612027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a207d3b0a20202020202a0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e202768697961206672656421270a20202020202a0a20202020202a202f2f20426f756e64207769746820706c616365686f6c646572732e0a20202020202a2076617220626f756e64203d205f2e62696e644b6579286f626a6563742c20276772656574272c205f2c20272127293b0a20202020202a20626f756e642827686927293b0a20202020202a202f2f203d3e202768697961206672656421270a20202020202a2f0a202020207661722062696e644b6579203d2062617365526573742866756e6374696f6e286f626a6563742c206b65792c207061727469616c7329207b0a202020202020766172206269746d61736b203d20575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c41473b0a202020202020696620287061727469616c732e6c656e67746829207b0a202020202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c6465722862696e644b657929293b0a20202020202020206269746d61736b207c3d20575241505f5041525449414c5f464c41473b0a2020202020207d0a20202020202072657475726e2063726561746557726170286b65792c206269746d61736b2c206f626a6563742c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206163636570747320617267756d656e7473206f66206066756e636020616e642065697468657220696e766f6b65730a20202020202a206066756e63602072657475726e696e672069747320726573756c742c206966206174206c656173742060617269747960206e756d626572206f6620617267756d656e747320686176650a20202020202a206265656e2070726f76696465642c206f722072657475726e7320612066756e6374696f6e20746861742061636365707473207468652072656d61696e696e67206066756e63600a20202020202a20617267756d656e74732c20616e6420736f206f6e2e20546865206172697479206f66206066756e6360206d617920626520737065636966696564206966206066756e632e6c656e677468600a20202020202a206973206e6f742073756666696369656e742e0a20202020202a0a20202020202a2054686520605f2e63757272792e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c6974686963206275696c64732c0a20202020202a206d61792062652075736564206173206120706c616365686f6c64657220666f722070726f766964656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620637572726965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063757272792e0a20202020202a2040706172616d207b6e756d6265727d205b61726974793d66756e632e6c656e6774685d20546865206172697479206f66206066756e63602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720637572726965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220616263203d2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d3b0a20202020202a0a20202020202a207661722063757272696564203d205f2e637572727928616263293b0a20202020202a0a20202020202a20637572726965642831292832292833293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c2032292833293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c20322c2033293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a202f2f2043757272696564207769746820706c616365686f6c646572732e0a20202020202a2063757272696564283129285f2c2033292832293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2063757272792866756e632c2061726974792c20677561726429207b0a2020202020206172697479203d206775617264203f20756e646566696e6564203a2061726974793b0a20202020202076617220726573756c74203d20637265617465577261702866756e632c20575241505f43555252595f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206172697479293b0a202020202020726573756c742e706c616365686f6c646572203d2063757272792e706c616365686f6c6465723b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e63757272796020657863657074207468617420617267756d656e747320617265206170706c69656420746f206066756e63600a20202020202a20696e20746865206d616e6e6572206f6620605f2e7061727469616c52696768746020696e7374656164206f6620605f2e7061727469616c602e0a20202020202a0a20202020202a2054686520605f2e637572727952696768742e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f722070726f766964656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620637572726965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063757272792e0a20202020202a2040706172616d207b6e756d6265727d205b61726974793d66756e632e6c656e6774685d20546865206172697479206f66206066756e63602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720637572726965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220616263203d2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d3b0a20202020202a0a20202020202a207661722063757272696564203d205f2e6375727279526967687428616263293b0a20202020202a0a20202020202a20637572726965642833292832292831293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428322c2033292831293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c20322c2033293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a202f2f2043757272696564207769746820706c616365686f6c646572732e0a20202020202a206375727269656428332928312c205f292832293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e20637572727952696768742866756e632c2061726974792c20677561726429207b0a2020202020206172697479203d206775617264203f20756e646566696e6564203a2061726974793b0a20202020202076617220726573756c74203d20637265617465577261702866756e632c20575241505f43555252595f52494748545f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206172697479293b0a202020202020726573756c742e706c616365686f6c646572203d20637572727952696768742e706c616365686f6c6465723b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061206465626f756e6365642066756e6374696f6e20746861742064656c61797320696e766f6b696e67206066756e636020756e74696c206166746572206077616974600a20202020202a206d696c6c697365636f6e6473206861766520656c61707365642073696e636520746865206c6173742074696d6520746865206465626f756e6365642066756e6374696f6e207761730a20202020202a20696e766f6b65642e20546865206465626f756e6365642066756e6374696f6e20636f6d657320776974682061206063616e63656c60206d6574686f6420746f2063616e63656c0a20202020202a2064656c61796564206066756e636020696e766f636174696f6e7320616e6420612060666c75736860206d6574686f6420746f20696d6d6564696174656c7920696e766f6b65207468656d2e0a20202020202a2050726f7669646520606f7074696f6e736020746f20696e6469636174652077686574686572206066756e63602073686f756c6420626520696e766f6b6564206f6e207468650a20202020202a206c656164696e6720616e642f6f7220747261696c696e672065646765206f6620746865206077616974602074696d656f75742e20546865206066756e636020697320696e766f6b65640a20202020202a207769746820746865206c61737420617267756d656e74732070726f766964656420746f20746865206465626f756e6365642066756e6374696f6e2e2053756273657175656e740a20202020202a2063616c6c7320746f20746865206465626f756e6365642066756e6374696f6e2072657475726e2074686520726573756c74206f6620746865206c617374206066756e63600a20202020202a20696e766f636174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620606c656164696e676020616e642060747261696c696e6760206f7074696f6e7320617265206074727565602c206066756e63602069730a20202020202a20696e766f6b6564206f6e2074686520747261696c696e672065646765206f66207468652074696d656f7574206f6e6c7920696620746865206465626f756e6365642066756e6374696f6e0a20202020202a20697320696e766f6b6564206d6f7265207468616e206f6e636520647572696e6720746865206077616974602074696d656f75742e0a20202020202a0a20202020202a204966206077616974602069732060306020616e6420606c656164696e6760206973206066616c7365602c206066756e636020696e766f636174696f6e2069732064656665727265640a20202020202a20756e74696c20746f20746865206e657874207469636b2c2073696d696c617220746f206073657454696d656f757460207769746820612074696d656f7574206f66206030602e0a20202020202a0a20202020202a20536565205b446176696420436f72626163686f27732061727469636c655d2868747470733a2f2f6373732d747269636b732e636f6d2f6465626f756e63696e672d7468726f74746c696e672d6578706c61696e65642d6578616d706c65732f290a20202020202a20666f722064657461696c73206f7665722074686520646966666572656e636573206265747765656e20605f2e6465626f756e63656020616e6420605f2e7468726f74746c65602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206465626f756e63652e0a20202020202a2040706172616d207b6e756d6265727d205b776169743d305d20546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c61792e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e6c656164696e673d66616c73655d0a20202020202a20205370656369667920696e766f6b696e67206f6e20746865206c656164696e672065646765206f66207468652074696d656f75742e0a20202020202a2040706172616d207b6e756d6265727d205b6f7074696f6e732e6d6178576169745d0a20202020202a2020546865206d6178696d756d2074696d65206066756e636020697320616c6c6f77656420746f2062652064656c61796564206265666f7265206974277320696e766f6b65642e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e747261696c696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e2074686520747261696c696e672065646765206f66207468652074696d656f75742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206465626f756e6365642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f696420636f73746c792063616c63756c6174696f6e73207768696c65207468652077696e646f772073697a6520697320696e20666c75782e0a20202020202a206a51756572792877696e646f77292e6f6e2827726573697a65272c205f2e6465626f756e63652863616c63756c6174654c61796f75742c2031353029293b0a20202020202a0a20202020202a202f2f20496e766f6b65206073656e644d61696c60207768656e20636c69636b65642c206465626f756e63696e672073756273657175656e742063616c6c732e0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c205f2e6465626f756e63652873656e644d61696c2c203330302c207b0a20202020202a202020276c656164696e67273a20747275652c0a20202020202a20202027747261696c696e67273a2066616c73650a20202020202a207d29293b0a20202020202a0a20202020202a202f2f20456e73757265206062617463684c6f676020697320696e766f6b6564206f6e63652061667465722031207365636f6e64206f66206465626f756e6365642063616c6c732e0a20202020202a20766172206465626f756e636564203d205f2e6465626f756e63652862617463684c6f672c203235302c207b20276d617857616974273a2031303030207d293b0a20202020202a2076617220736f75726365203d206e6577204576656e74536f7572636528272f73747265616d27293b0a20202020202a206a517565727928736f75726365292e6f6e28276d657373616765272c206465626f756e636564293b0a20202020202a0a20202020202a202f2f2043616e63656c2074686520747261696c696e67206465626f756e63656420696e766f636174696f6e2e0a20202020202a206a51756572792877696e646f77292e6f6e2827706f707374617465272c206465626f756e6365642e63616e63656c293b0a20202020202a2f0a2020202066756e6374696f6e206465626f756e63652866756e632c20776169742c206f7074696f6e7329207b0a202020202020766172206c617374417267732c0a202020202020202020206c617374546869732c0a202020202020202020206d6178576169742c0a20202020202020202020726573756c742c0a2020202020202020202074696d657249642c0a202020202020202020206c61737443616c6c54696d652c0a202020202020202020206c617374496e766f6b6554696d65203d20302c0a202020202020202020206c656164696e67203d2066616c73652c0a202020202020202020206d6178696e67203d2066616c73652c0a20202020202020202020747261696c696e67203d20747275653b0a0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202077616974203d20746f4e756d626572287761697429207c7c20303b0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a20202020202020206c656164696e67203d2021216f7074696f6e732e6c656164696e673b0a20202020202020206d6178696e67203d20276d6178576169742720696e206f7074696f6e733b0a20202020202020206d617857616974203d206d6178696e67203f206e61746976654d617828746f4e756d626572286f7074696f6e732e6d61785761697429207c7c20302c207761697429203a206d6178576169743b0a2020202020202020747261696c696e67203d2027747261696c696e672720696e206f7074696f6e73203f2021216f7074696f6e732e747261696c696e67203a20747261696c696e673b0a2020202020207d0a0a20202020202066756e6374696f6e20696e766f6b6546756e632874696d6529207b0a20202020202020207661722061726773203d206c617374417267732c0a20202020202020202020202074686973417267203d206c617374546869733b0a0a20202020202020206c61737441726773203d206c61737454686973203d20756e646566696e65643b0a20202020202020206c617374496e766f6b6554696d65203d2074696d653b0a2020202020202020726573756c74203d2066756e632e6170706c7928746869734172672c2061726773293b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e206c656164696e67456467652874696d6529207b0a20202020202020202f2f20526573657420616e7920606d617857616974602074696d65722e0a20202020202020206c617374496e766f6b6554696d65203d2074696d653b0a20202020202020202f2f205374617274207468652074696d657220666f722074686520747261696c696e6720656467652e0a202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020202f2f20496e766f6b6520746865206c656164696e6720656467652e0a202020202020202072657475726e206c656164696e67203f20696e766f6b6546756e632874696d6529203a20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2072656d61696e696e67576169742874696d6529207b0a20202020202020207661722074696d6553696e63654c61737443616c6c203d2074696d65202d206c61737443616c6c54696d652c0a20202020202020202020202074696d6553696e63654c617374496e766f6b65203d2074696d65202d206c617374496e766f6b6554696d652c0a202020202020202020202020726573756c74203d2077616974202d2074696d6553696e63654c61737443616c6c3b0a0a202020202020202072657475726e206d6178696e67203f206e61746976654d696e28726573756c742c206d617857616974202d2074696d6553696e63654c617374496e766f6b6529203a20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2073686f756c64496e766f6b652874696d6529207b0a20202020202020207661722074696d6553696e63654c61737443616c6c203d2074696d65202d206c61737443616c6c54696d652c0a20202020202020202020202074696d6553696e63654c617374496e766f6b65203d2074696d65202d206c617374496e766f6b6554696d653b0a0a20202020202020202f2f204569746865722074686973206973207468652066697273742063616c6c2c206163746976697479206861732073746f7070656420616e64207765277265206174207468650a20202020202020202f2f20747261696c696e6720656467652c207468652073797374656d2074696d652068617320676f6e65206261636b776172647320616e64207765277265207472656174696e670a20202020202020202f2f2069742061732074686520747261696c696e6720656467652c206f72207765277665206869742074686520606d61785761697460206c696d69742e0a202020202020202072657475726e20286c61737443616c6c54696d65203d3d3d20756e646566696e6564207c7c202874696d6553696e63654c61737443616c6c203e3d207761697429207c7c0a202020202020202020202874696d6553696e63654c61737443616c6c203c203029207c7c20286d6178696e672026262074696d6553696e63654c617374496e766f6b65203e3d206d61785761697429293b0a2020202020207d0a0a20202020202066756e6374696f6e2074696d6572457870697265642829207b0a20202020202020207661722074696d65203d206e6f7728293b0a20202020202020206966202873686f756c64496e766f6b652874696d652929207b0a2020202020202020202072657475726e20747261696c696e67456467652874696d65293b0a20202020202020207d0a20202020202020202f2f2052657374617274207468652074696d65722e0a202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2072656d61696e696e67576169742874696d6529293b0a2020202020207d0a0a20202020202066756e6374696f6e20747261696c696e67456467652874696d6529207b0a202020202020202074696d65724964203d20756e646566696e65643b0a0a20202020202020202f2f204f6e6c7920696e766f6b65206966207765206861766520606c6173744172677360207768696368206d65616e73206066756e636020686173206265656e0a20202020202020202f2f206465626f756e636564206174206c65617374206f6e63652e0a202020202020202069662028747261696c696e67202626206c6173744172677329207b0a2020202020202020202072657475726e20696e766f6b6546756e632874696d65293b0a20202020202020207d0a20202020202020206c61737441726773203d206c61737454686973203d20756e646566696e65643b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2063616e63656c2829207b0a20202020202020206966202874696d6572496420213d3d20756e646566696e656429207b0a20202020202020202020636c65617254696d656f75742874696d65724964293b0a20202020202020207d0a20202020202020206c617374496e766f6b6554696d65203d20303b0a20202020202020206c61737441726773203d206c61737443616c6c54696d65203d206c61737454686973203d2074696d65724964203d20756e646566696e65643b0a2020202020207d0a0a20202020202066756e6374696f6e20666c7573682829207b0a202020202020202072657475726e2074696d65724964203d3d3d20756e646566696e6564203f20726573756c74203a20747261696c696e6745646765286e6f772829293b0a2020202020207d0a0a20202020202066756e6374696f6e206465626f756e6365642829207b0a20202020202020207661722074696d65203d206e6f7728292c0a2020202020202020202020206973496e766f6b696e67203d2073686f756c64496e766f6b652874696d65293b0a0a20202020202020206c61737441726773203d20617267756d656e74733b0a20202020202020206c61737454686973203d20746869733b0a20202020202020206c61737443616c6c54696d65203d2074696d653b0a0a2020202020202020696620286973496e766f6b696e6729207b0a202020202020202020206966202874696d65724964203d3d3d20756e646566696e656429207b0a20202020202020202020202072657475726e206c656164696e6745646765286c61737443616c6c54696d65293b0a202020202020202020207d0a20202020202020202020696620286d6178696e6729207b0a2020202020202020202020202f2f2048616e646c6520696e766f636174696f6e7320696e2061207469676874206c6f6f702e0a20202020202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020202020202072657475726e20696e766f6b6546756e63286c61737443616c6c54696d65293b0a202020202020202020207d0a20202020202020207d0a20202020202020206966202874696d65724964203d3d3d20756e646566696e656429207b0a2020202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020206465626f756e6365642e63616e63656c203d2063616e63656c3b0a2020202020206465626f756e6365642e666c757368203d20666c7573683b0a20202020202072657475726e206465626f756e6365643b0a202020207d0a0a202020202f2a2a0a20202020202a2044656665727320696e766f6b696e6720746865206066756e636020756e74696c207468652063757272656e742063616c6c20737461636b2068617320636c65617265642e20416e790a20202020202a206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656665722e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d65722069642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656665722866756e6374696f6e287465787429207b0a20202020202a202020636f6e736f6c652e6c6f672874657874293b0a20202020202a207d2c2027646566657272656427293b0a20202020202a202f2f203d3e204c6f67732027646566657272656427206166746572206f6e65206d696c6c697365636f6e642e0a20202020202a2f0a20202020766172206465666572203d2062617365526573742866756e6374696f6e2866756e632c206172677329207b0a20202020202072657475726e206261736544656c61792866756e632c20312c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20496e766f6b6573206066756e636020616674657220607761697460206d696c6c697365636f6e64732e20416e79206164646974696f6e616c20617267756d656e7473206172650a20202020202a2070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d65722069642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656c61792866756e6374696f6e287465787429207b0a20202020202a202020636f6e736f6c652e6c6f672874657874293b0a20202020202a207d2c20313030302c20276c6174657227293b0a20202020202a202f2f203d3e204c6f677320276c6174657227206166746572206f6e65207365636f6e642e0a20202020202a2f0a202020207661722064656c6179203d2062617365526573742866756e6374696f6e2866756e632c20776169742c206172677329207b0a20202020202072657475726e206261736544656c61792866756e632c20746f4e756d626572287761697429207c7c20302c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820617267756d656e74732072657665727365642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20666c697020617267756d656e747320666f722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720666c69707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220666c6970706564203d205f2e666c69702866756e6374696f6e2829207b0a20202020202a20202072657475726e205f2e746f417272617928617267756d656e7473293b0a20202020202a207d293b0a20202020202a0a20202020202a20666c6970706564282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e205b2764272c202763272c202762272c202761275d0a20202020202a2f0a2020202066756e6374696f6e20666c69702866756e6329207b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f464c49505f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206d656d6f697a65732074686520726573756c74206f66206066756e63602e20496620607265736f6c766572602069730a20202020202a2070726f76696465642c2069742064657465726d696e657320746865206361636865206b657920666f722073746f72696e672074686520726573756c74206261736564206f6e207468650a20202020202a20617267756d656e74732070726f766964656420746f20746865206d656d6f697a65642066756e6374696f6e2e2042792064656661756c742c2074686520666972737420617267756d656e740a20202020202a2070726f766964656420746f20746865206d656d6f697a65642066756e6374696f6e206973207573656420617320746865206d6170206361636865206b65792e20546865206066756e63600a20202020202a20697320696e766f6b6564207769746820746865206074686973602062696e64696e67206f6620746865206d656d6f697a65642066756e6374696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546865206361636865206973206578706f7365642061732074686520606361636865602070726f7065727479206f6e20746865206d656d6f697a65640a20202020202a2066756e6374696f6e2e20497473206372656174696f6e206d617920626520637573746f6d697a6564206279207265706c6163696e672074686520605f2e6d656d6f697a652e4361636865600a20202020202a20636f6e7374727563746f722077697468206f6e652077686f736520696e7374616e63657320696d706c656d656e74207468650a20202020202a205b604d6170605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d70726f706572746965732d6f662d7468652d6d61702d70726f746f747970652d6f626a656374290a20202020202a206d6574686f6420696e74657266616365206f662060636c656172602c206064656c657465602c2060676574602c2060686173602c20616e642060736574602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206861766520697473206f7574707574206d656d6f697a65642e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7265736f6c7665725d205468652066756e6374696f6e20746f207265736f6c766520746865206361636865206b65792e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d656d6f697a65642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a20766172206f74686572203d207b202763273a20332c202764273a2034207d3b0a20202020202a0a20202020202a207661722076616c756573203d205f2e6d656d6f697a65285f2e76616c756573293b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a2076616c756573286f74686572293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a0a20202020202a206f626a6563742e61203d20323b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a202f2f204d6f646966792074686520726573756c742063616368652e0a20202020202a2076616c7565732e63616368652e736574286f626a6563742c205b2761272c202762275d293b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a0a20202020202a202f2f205265706c61636520605f2e6d656d6f697a652e4361636865602e0a20202020202a205f2e6d656d6f697a652e4361636865203d205765616b4d61703b0a20202020202a2f0a2020202066756e6374696f6e206d656d6f697a652866756e632c207265736f6c76657229207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e27207c7c20287265736f6c76657220213d206e756c6c20262620747970656f66207265736f6c76657220213d202766756e6374696f6e272929207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a202020202020766172206d656d6f697a6564203d2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74732c0a2020202020202020202020206b6579203d207265736f6c766572203f207265736f6c7665722e6170706c7928746869732c206172677329203a20617267735b305d2c0a2020202020202020202020206361636865203d206d656d6f697a65642e63616368653b0a0a20202020202020206966202863616368652e686173286b65792929207b0a2020202020202020202072657475726e2063616368652e676574286b6579293b0a20202020202020207d0a202020202020202076617220726573756c74203d2066756e632e6170706c7928746869732c2061726773293b0a20202020202020206d656d6f697a65642e6361636865203d2063616368652e736574286b65792c20726573756c7429207c7c2063616368653b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a2020202020206d656d6f697a65642e6361636865203d206e657720286d656d6f697a652e4361636865207c7c204d61704361636865293b0a20202020202072657475726e206d656d6f697a65643b0a202020207d0a0a202020202f2f204578706f736520604d61704361636865602e0a202020206d656d6f697a652e4361636865203d204d617043616368653b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206e6567617465732074686520726573756c74206f662074686520707265646963617465206066756e63602e205468650a20202020202a206066756e63602070726564696361746520697320696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f66207468650a20202020202a20637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652070726564696361746520746f206e65676174652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206e6567617465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734576656e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d0a20202020202a0a20202020202a205f2e66696c746572285b312c20322c20332c20342c20352c20365d2c205f2e6e65676174652869734576656e29293b0a20202020202a202f2f203d3e205b312c20332c20355d0a20202020202a2f0a2020202066756e6374696f6e206e65676174652870726564696361746529207b0a20202020202069662028747970656f662070726564696361746520213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74733b0a20202020202020207377697463682028617267732e6c656e67746829207b0a202020202020202020206361736520303a2072657475726e20217072656469636174652e63616c6c2874686973293b0a202020202020202020206361736520313a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d293b0a202020202020202020206361736520323a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d2c20617267735b315d293b0a202020202020202020206361736520333a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d2c20617267735b315d2c20617267735b325d293b0a20202020202020207d0a202020202020202072657475726e20217072656469636174652e6170706c7928746869732c2061726773293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206973207265737472696374656420746f20696e766f6b696e67206066756e6360206f6e63652e205265706561742063616c6c730a20202020202a20746f207468652066756e6374696f6e2072657475726e207468652076616c7565206f662074686520666972737420696e766f636174696f6e2e20546865206066756e63602069730a20202020202a20696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f662074686520637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220696e697469616c697a65203d205f2e6f6e6365286372656174654170706c69636174696f6e293b0a20202020202a20696e697469616c697a6528293b0a20202020202a20696e697469616c697a6528293b0a20202020202a202f2f203d3e20606372656174654170706c69636174696f6e6020697320696e766f6b6564206f6e63650a20202020202a2f0a2020202066756e6374696f6e206f6e63652866756e6329207b0a20202020202072657475726e206265666f726528322c2066756e63293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682069747320617267756d656e7473207472616e73666f726d65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520342e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b7472616e73666f726d733d5b5f2e6964656e746974795d5d0a20202020202a202054686520617267756d656e74207472616e73666f726d732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20646f75626c6564286e29207b0a20202020202a20202072657475726e206e202a20323b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572417267732866756e6374696f6e28782c207929207b0a20202020202a20202072657475726e205b782c20795d3b0a20202020202a207d2c205b7371756172652c20646f75626c65645d293b0a20202020202a0a20202020202a2066756e6328392c2033293b0a20202020202a202f2f203d3e205b38312c20365d0a20202020202a0a20202020202a2066756e632831302c2035293b0a20202020202a202f2f203d3e205b3130302c2031305d0a20202020202a2f0a20202020766172206f76657241726773203d2063617374526573742866756e6374696f6e2866756e632c207472616e73666f726d7329207b0a2020202020207472616e73666f726d73203d20287472616e73666f726d732e6c656e677468203d3d20312026262069734172726179287472616e73666f726d735b305d29290a20202020202020203f2061727261794d6170287472616e73666f726d735b305d2c2062617365556e617279286765744974657261746565282929290a20202020202020203a2061727261794d61702862617365466c617474656e287472616e73666f726d732c2031292c2062617365556e617279286765744974657261746565282929293b0a0a2020202020207661722066756e63734c656e677468203d207472616e73666f726d732e6c656e6774683b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206c656e677468203d206e61746976654d696e28617267732e6c656e6774682c2066756e63734c656e677468293b0a0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020202020617267735b696e6465785d203d207472616e73666f726d735b696e6465785d2e63616c6c28746869732c20617267735b696e6465785d293b0a20202020202020207d0a202020202020202072657475726e206170706c792866756e632c20746869732c2061726773293b0a2020202020207d293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820607061727469616c73602070726570656e64656420746f207468650a20202020202a20617267756d656e74732069742072656365697665732e2054686973206d6574686f64206973206c696b6520605f2e62696e64602065786365707420697420646f6573202a2a6e6f742a2a0a20202020202a20616c74657220746865206074686973602062696e64696e672e0a20202020202a0a20202020202a2054686520605f2e7061727469616c2e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f66207061727469616c6c790a20202020202a206170706c6965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e322e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207061727469616c6c79206170706c7920617267756d656e747320746f2e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207061727469616c6c79206170706c6965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c206e616d6529207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b206e616d653b0a20202020202a207d0a20202020202a0a20202020202a207661722073617948656c6c6f546f203d205f2e7061727469616c2867726565742c202768656c6c6f27293b0a20202020202a2073617948656c6c6f546f28276672656427293b0a20202020202a202f2f203d3e202768656c6c6f2066726564270a20202020202a0a20202020202a202f2f205061727469616c6c79206170706c696564207769746820706c616365686f6c646572732e0a20202020202a2076617220677265657446726564203d205f2e7061727469616c2867726565742c205f2c20276672656427293b0a20202020202a206772656574467265642827686927293b0a20202020202a202f2f203d3e202768692066726564270a20202020202a2f0a20202020766172207061727469616c203d2062617365526573742866756e6374696f6e2866756e632c207061727469616c7329207b0a20202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c646572287061727469616c29293b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f5041525449414c5f464c41472c20756e646566696e65642c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7061727469616c60206578636570742074686174207061727469616c6c79206170706c69656420617267756d656e74730a20202020202a2061726520617070656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686520605f2e7061727469616c52696768742e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f66207061727469616c6c790a20202020202a206170706c6965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207061727469616c6c79206170706c7920617267756d656e747320746f2e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207061727469616c6c79206170706c6965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c206e616d6529207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b206e616d653b0a20202020202a207d0a20202020202a0a20202020202a2076617220677265657446726564203d205f2e7061727469616c52696768742867726565742c20276672656427293b0a20202020202a206772656574467265642827686927293b0a20202020202a202f2f203d3e202768692066726564270a20202020202a0a20202020202a202f2f205061727469616c6c79206170706c696564207769746820706c616365686f6c646572732e0a20202020202a207661722073617948656c6c6f546f203d205f2e7061727469616c52696768742867726565742c202768656c6c6f272c205f293b0a20202020202a2073617948656c6c6f546f28276672656427293b0a20202020202a202f2f203d3e202768656c6c6f2066726564270a20202020202a2f0a20202020766172207061727469616c5269676874203d2062617365526573742866756e6374696f6e2866756e632c207061727469616c7329207b0a20202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c646572287061727469616c526967687429293b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f5041525449414c5f52494748545f464c41472c20756e646566696e65642c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820617267756d656e747320617272616e676564206163636f7264696e670a20202020202a20746f20746865207370656369666965642060696e6465786573602077686572652074686520617267756d656e742076616c75652061742074686520666972737420696e6465782069730a20202020202a2070726f76696465642061732074686520666972737420617267756d656e742c2074686520617267756d656e742076616c756520617420746865207365636f6e6420696e6465782069730a20202020202a2070726f766964656420617320746865207365636f6e6420617267756d656e742c20616e6420736f206f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207265617272616e676520617267756d656e747320666f722e0a20202020202a2040706172616d207b2e2e2e286e756d6265727c6e756d6265725b5d297d20696e64657865732054686520617272616e67656420617267756d656e7420696e64657865732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722072656172676564203d205f2e72656172672866756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d2c205b322c20302c20315d293b0a20202020202a0a20202020202a2072656172676564282762272c202763272c20276127290a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a2f0a20202020766172207265617267203d20666c6174526573742866756e6374696f6e2866756e632c20696e646578657329207b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f52454152475f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20696e6465786573293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66207468650a20202020202a20637265617465642066756e6374696f6e20616e6420617267756d656e74732066726f6d206073746172746020616e64206265796f6e642070726f76696465642061730a20202020202a20616e2061727261792e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e207468650a20202020202a205b7265737420706172616d657465725d2868747470733a2f2f6d646e2e696f2f726573745f706172616d6574657273292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220736179203d205f2e726573742866756e6374696f6e28776861742c206e616d657329207b0a20202020202a20202072657475726e2077686174202b20272027202b205f2e696e697469616c286e616d6573292e6a6f696e28272c202729202b0a20202020202a2020202020285f2e73697a65286e616d657329203e2031203f20272c20262027203a20272729202b205f2e6c617374286e616d6573293b0a20202020202a207d293b0a20202020202a0a20202020202a20736179282768656c6c6f272c202766726564272c20276261726e6579272c2027706562626c657327293b0a20202020202a202f2f203d3e202768656c6c6f20667265642c206261726e65792c202620706562626c6573270a20202020202a2f0a2020202066756e6374696f6e20726573742866756e632c20737461727429207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020207374617274203d207374617274203d3d3d20756e646566696e6564203f207374617274203a20746f496e7465676572287374617274293b0a20202020202072657475726e2062617365526573742866756e632c207374617274293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66207468650a20202020202a206372656174652066756e6374696f6e20616e6420616e206172726179206f6620617267756d656e7473206d756368206c696b650a20202020202a205b6046756e6374696f6e236170706c79605d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d66756e6374696f6e2e70726f746f747970652e6170706c79292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e207468650a20202020202a205b737072656164206f70657261746f725d2868747470733a2f2f6d646e2e696f2f7370726561645f6f70657261746f72292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2073707265616420617267756d656e7473206f7665722e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e206f6620746865207370726561642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220736179203d205f2e7370726561642866756e6374696f6e2877686f2c207768617429207b0a20202020202a20202072657475726e2077686f202b202720736179732027202b20776861743b0a20202020202a207d293b0a20202020202a0a20202020202a20736179285b2766726564272c202768656c6c6f275d293b0a20202020202a202f2f203d3e20276672656420736179732068656c6c6f270a20202020202a0a20202020202a20766172206e756d62657273203d2050726f6d6973652e616c6c285b0a20202020202a20202050726f6d6973652e7265736f6c7665283430292c0a20202020202a20202050726f6d6973652e7265736f6c7665283336290a20202020202a205d293b0a20202020202a0a20202020202a206e756d626572732e7468656e285f2e7370726561642866756e6374696f6e28782c207929207b0a20202020202a20202072657475726e2078202b20793b0a20202020202a207d29293b0a20202020202a202f2f203d3e20612050726f6d697365206f662037360a20202020202a2f0a2020202066756e6374696f6e207370726561642866756e632c20737461727429207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020207374617274203d207374617274203d3d206e756c6c203f2030203a206e61746976654d617828746f496e7465676572287374617274292c2030293b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a2020202020202020766172206172726179203d20617267735b73746172745d2c0a2020202020202020202020206f7468657241726773203d2063617374536c69636528617267732c20302c207374617274293b0a0a202020202020202069662028617272617929207b0a20202020202020202020617272617950757368286f74686572417267732c206172726179293b0a20202020202020207d0a202020202020202072657475726e206170706c792866756e632c20746869732c206f7468657241726773293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061207468726f74746c65642066756e6374696f6e2074686174206f6e6c7920696e766f6b6573206066756e6360206174206d6f7374206f6e6365207065720a20202020202a20657665727920607761697460206d696c6c697365636f6e64732e20546865207468726f74746c65642066756e6374696f6e20636f6d657320776974682061206063616e63656c600a20202020202a206d6574686f6420746f2063616e63656c2064656c61796564206066756e636020696e766f636174696f6e7320616e6420612060666c75736860206d6574686f6420746f0a20202020202a20696d6d6564696174656c7920696e766f6b65207468656d2e2050726f7669646520606f7074696f6e736020746f20696e6469636174652077686574686572206066756e63600a20202020202a2073686f756c6420626520696e766f6b6564206f6e20746865206c656164696e6720616e642f6f7220747261696c696e672065646765206f6620746865206077616974600a20202020202a2074696d656f75742e20546865206066756e636020697320696e766f6b6564207769746820746865206c61737420617267756d656e74732070726f766964656420746f207468650a20202020202a207468726f74746c65642066756e6374696f6e2e2053756273657175656e742063616c6c7320746f20746865207468726f74746c65642066756e6374696f6e2072657475726e207468650a20202020202a20726573756c74206f6620746865206c617374206066756e636020696e766f636174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620606c656164696e676020616e642060747261696c696e6760206f7074696f6e7320617265206074727565602c206066756e63602069730a20202020202a20696e766f6b6564206f6e2074686520747261696c696e672065646765206f66207468652074696d656f7574206f6e6c7920696620746865207468726f74746c65642066756e6374696f6e0a20202020202a20697320696e766f6b6564206d6f7265207468616e206f6e636520647572696e6720746865206077616974602074696d656f75742e0a20202020202a0a20202020202a204966206077616974602069732060306020616e6420606c656164696e6760206973206066616c7365602c206066756e636020696e766f636174696f6e2069732064656665727265640a20202020202a20756e74696c20746f20746865206e657874207469636b2c2073696d696c617220746f206073657454696d656f757460207769746820612074696d656f7574206f66206030602e0a20202020202a0a20202020202a20536565205b446176696420436f72626163686f27732061727469636c655d2868747470733a2f2f6373732d747269636b732e636f6d2f6465626f756e63696e672d7468726f74746c696e672d6578706c61696e65642d6578616d706c65732f290a20202020202a20666f722064657461696c73206f7665722074686520646966666572656e636573206265747765656e20605f2e7468726f74746c656020616e6420605f2e6465626f756e6365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207468726f74746c652e0a20202020202a2040706172616d207b6e756d6265727d205b776169743d305d20546865206e756d626572206f66206d696c6c697365636f6e647320746f207468726f74746c6520696e766f636174696f6e7320746f2e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e6c656164696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e20746865206c656164696e672065646765206f66207468652074696d656f75742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e747261696c696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e2074686520747261696c696e672065646765206f66207468652074696d656f75742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207468726f74746c65642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f6964206578636573736976656c79207570646174696e672074686520706f736974696f6e207768696c65207363726f6c6c696e672e0a20202020202a206a51756572792877696e646f77292e6f6e28277363726f6c6c272c205f2e7468726f74746c6528757064617465506f736974696f6e2c2031303029293b0a20202020202a0a20202020202a202f2f20496e766f6b65206072656e6577546f6b656e60207768656e2074686520636c69636b206576656e742069732066697265642c20627574206e6f74206d6f7265207468616e206f6e63652065766572792035206d696e757465732e0a20202020202a20766172207468726f74746c6564203d205f2e7468726f74746c652872656e6577546f6b656e2c203330303030302c207b2027747261696c696e67273a2066616c7365207d293b0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c207468726f74746c6564293b0a20202020202a0a20202020202a202f2f2043616e63656c2074686520747261696c696e67207468726f74746c656420696e766f636174696f6e2e0a20202020202a206a51756572792877696e646f77292e6f6e2827706f707374617465272c207468726f74746c65642e63616e63656c293b0a20202020202a2f0a2020202066756e6374696f6e207468726f74746c652866756e632c20776169742c206f7074696f6e7329207b0a202020202020766172206c656164696e67203d20747275652c0a20202020202020202020747261696c696e67203d20747275653b0a0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a20202020202020206c656164696e67203d20276c656164696e672720696e206f7074696f6e73203f2021216f7074696f6e732e6c656164696e67203a206c656164696e673b0a2020202020202020747261696c696e67203d2027747261696c696e672720696e206f7074696f6e73203f2021216f7074696f6e732e747261696c696e67203a20747261696c696e673b0a2020202020207d0a20202020202072657475726e206465626f756e63652866756e632c20776169742c207b0a2020202020202020276c656164696e67273a206c656164696e672c0a2020202020202020276d617857616974273a20776169742c0a202020202020202027747261696c696e67273a20747261696c696e670a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206163636570747320757020746f206f6e6520617267756d656e742c2069676e6f72696e6720616e790a20202020202a206164646974696f6e616c20617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6170285b2736272c202738272c20273130275d2c205f2e756e617279287061727365496e7429293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e20756e6172792866756e6329207b0a20202020202072657475726e206172792866756e632c2031293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742070726f7669646573206076616c75656020746f20607772617070657260206173206974732066697273740a20202020202a20617267756d656e742e20416e79206164646974696f6e616c20617267756d656e74732070726f766964656420746f207468652066756e6374696f6e2061726520617070656e6465640a20202020202a20746f2074686f73652070726f766964656420746f20746865206077726170706572602e20546865207772617070657220697320696e766f6b6564207769746820746865206074686973600a20202020202a2062696e64696e67206f662074686520637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2040706172616d207b46756e6374696f6e7d205b777261707065723d6964656e746974795d2054686520777261707065722066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722070203d205f2e77726170285f2e6573636170652c2066756e6374696f6e2866756e632c207465787429207b0a20202020202a20202072657475726e20273c703e27202b2066756e63287465787429202b20273c2f703e273b0a20202020202a207d293b0a20202020202a0a20202020202a20702827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e20273c703e667265642c206261726e65792c2026616d703b20706562626c65733c2f703e270a20202020202a2f0a2020202066756e6374696f6e20777261702876616c75652c207772617070657229207b0a20202020202072657475726e207061727469616c286361737446756e6374696f6e2877726170706572292c2076616c7565293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020617320616e2061727261792069662069742773206e6f74206f6e652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e342e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636173742061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6361737441727261792831293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e636173744172726179287b202761273a2031207d293b0a20202020202a202f2f203d3e205b7b202761273a2031207d5d0a20202020202a0a20202020202a205f2e636173744172726179282761626327293b0a20202020202a202f2f203d3e205b27616263275d0a20202020202a0a20202020202a205f2e636173744172726179286e756c6c293b0a20202020202a202f2f203d3e205b6e756c6c5d0a20202020202a0a20202020202a205f2e63617374417272617928756e646566696e6564293b0a20202020202a202f2f203d3e205b756e646566696e65645d0a20202020202a0a20202020202a205f2e63617374417272617928293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a20636f6e736f6c652e6c6f67285f2e63617374417272617928617272617929203d3d3d206172726179293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206361737441727261792829207b0a2020202020206966202821617267756d656e74732e6c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020207661722076616c7565203d20617267756d656e74735b305d3b0a20202020202072657475726e20697341727261792876616c756529203f2076616c7565203a205b76616c75655d3b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061207368616c6c6f7720636c6f6e65206f66206076616c7565602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e207468650a20202020202a205b7374727563747572656420636c6f6e6520616c676f726974686d5d2868747470733a2f2f6d646e2e696f2f537472756374757265645f636c6f6e655f616c676f726974686d290a20202020202a20616e6420737570706f72747320636c6f6e696e67206172726179732c20617272617920627566666572732c20626f6f6c65616e732c2064617465206f626a656374732c206d6170732c0a20202020202a206e756d626572732c20604f626a65637460206f626a656374732c20726567657865732c20736574732c20737472696e67732c2073796d626f6c732c20616e642074797065640a20202020202a206172726179732e20546865206f776e20656e756d657261626c652070726f70657274696573206f662060617267756d656e747360206f626a656374732061726520636c6f6e65640a20202020202a20617320706c61696e206f626a656374732e20416e20656d707479206f626a6563742069732072657475726e656420666f7220756e636c6f6e6561626c652076616c75657320737563680a20202020202a206173206572726f72206f626a656374732c2066756e6374696f6e732c20444f4d206e6f6465732c20616e64205765616b4d6170732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e65446565700a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202761273a2031207d2c207b202762273a2032207d5d3b0a20202020202a0a20202020202a20766172207368616c6c6f77203d205f2e636c6f6e65286f626a65637473293b0a20202020202a20636f6e736f6c652e6c6f67287368616c6c6f775b305d203d3d3d206f626a656374735b305d293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20636c6f6e652876616c756529207b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f53594d424f4c535f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f2070726f647563652074686520636c6f6e65642076616c75652e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c0a20202020202a20636c6f6e696e672069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b656420776974680a20202020202a20757020746f20666f757220617267756d656e74733b202876616c7565205b2c20696e6465787c6b65792c206f626a6563742c20737461636b5d292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e6544656570576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a65722876616c756529207b0a20202020202a202020696620285f2e6973456c656d656e742876616c75652929207b0a20202020202a202020202072657475726e2076616c75652e636c6f6e654e6f64652866616c7365293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a2076617220656c203d205f2e636c6f6e655769746828646f63756d656e742e626f64792c20637573746f6d697a6572293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728656c203d3d3d20646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a20636f6e736f6c652e6c6f6728656c2e6e6f64654e616d65293b0a20202020202a202f2f203d3e2027424f4459270a20202020202a20636f6e736f6c652e6c6f6728656c2e6368696c644e6f6465732e6c656e677468293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65576974682876616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e6560206578636570742074686174206974207265637572736976656c7920636c6f6e6573206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207265637572736976656c7920636c6f6e652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206465657020636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e650a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202761273a2031207d2c207b202762273a2032207d5d3b0a20202020202a0a20202020202a207661722064656570203d205f2e636c6f6e6544656570286f626a65637473293b0a20202020202a20636f6e736f6c652e6c6f6728646565705b305d203d3d3d206f626a656374735b305d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65446565702876616c756529207b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f444545505f464c4147207c20434c4f4e455f53594d424f4c535f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e655769746860206578636570742074686174206974207265637572736976656c7920636c6f6e6573206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207265637572736976656c7920636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206465657020636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e65576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a65722876616c756529207b0a20202020202a202020696620285f2e6973456c656d656e742876616c75652929207b0a20202020202a202020202072657475726e2076616c75652e636c6f6e654e6f64652874727565293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a2076617220656c203d205f2e636c6f6e65446565705769746828646f63756d656e742e626f64792c20637573746f6d697a6572293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728656c203d3d3d20646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a20636f6e736f6c652e6c6f6728656c2e6e6f64654e616d65293b0a20202020202a202f2f203d3e2027424f4459270a20202020202a20636f6e736f6c652e6c6f6728656c2e6368696c644e6f6465732e6c656e677468293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6544656570576974682876616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f444545505f464c4147207c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620606f626a6563746020636f6e666f726d7320746f2060736f757263656020627920696e766f6b696e6720746865207072656469636174650a20202020202a2070726f70657274696573206f662060736f757263656020776974682074686520636f72726573706f6e64696e672070726f70657274792076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206571756976616c656e7420746f20605f2e636f6e666f726d7360207768656e2060736f75726365602069730a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31342e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a6563746020636f6e666f726d732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a0a20202020202a205f2e636f6e666f726d73546f286f626a6563742c207b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20313b207d207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e636f6e666f726d73546f286f626a6563742c207b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20323b207d207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20636f6e666f726d73546f286f626a6563742c20736f7572636529207b0a20202020202072657475726e20736f75726365203d3d206e756c6c207c7c2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c206b65797328736f7572636529293b0a202020207d0a0a202020202f2a2a0a20202020202a20506572666f726d7320610a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20636f6d70617269736f6e206265747765656e2074776f2076616c75657320746f2064657465726d696e65206966207468657920617265206571756976616c656e742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a20766172206f74686572203d207b202761273a2031207d3b0a20202020202a0a20202020202a205f2e6571286f626a6563742c206f626a656374293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6571286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6571282761272c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6571282761272c204f626a6563742827612729293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6571284e614e2c204e614e293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e2065712876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203d3d3d206f74686572207c7c202876616c756520213d3d2076616c7565202626206f7468657220213d3d206f74686572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732067726561746572207468616e20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2040736565205f2e6c740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e677428332c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e677428332c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e677428312c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206774203d2063726561746552656c6174696f6e616c4f7065726174696f6e28626173654774293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732067726561746572207468616e206f7220657175616c20746f20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e206f7220657175616c20746f0a20202020202a2020606f74686572602c20656c7365206066616c7365602e0a20202020202a2040736565205f2e6c74650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e67746528332c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e67746528332c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e67746528312c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220677465203d2063726561746552656c6174696f6e616c4f7065726174696f6e2866756e6374696f6e2876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203e3d206f746865723b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c7920616e2060617267756d656e747360206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2060617267756d656e747360206f626a6563742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973417267756d656e74732866756e6374696f6e2829207b2072657475726e20617267756d656e74733b207d2829293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973417267756d656e7473285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973417267756d656e7473203d20626173654973417267756d656e74732866756e6374696f6e2829207b2072657475726e20617267756d656e74733b207d282929203f20626173654973417267756d656e7473203a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206861734f776e50726f70657274792e63616c6c2876616c75652c202763616c6c656527292026260a20202020202020202170726f70657274794973456e756d657261626c652e63616c6c2876616c75652c202763616c6c656527293b0a202020207d3b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320616e2060417272617960206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2061727261792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734172726179285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973417272617928646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734172726179282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734172726179285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734172726179203d2041727261792e697341727261793b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320616e2060417272617942756666657260206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206172726179206275666665722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734172726179427566666572286e6577204172726179427566666572283229293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734172726179427566666572286e6577204172726179283229293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734172726179427566666572203d206e6f646549734172726179427566666572203f2062617365556e617279286e6f64654973417272617942756666657229203a2062617365497341727261794275666665723b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061727261792d6c696b652e20412076616c756520697320636f6e736964657265642061727261792d6c696b6520696620697427730a20202020202a206e6f7420612066756e6374696f6e20616e64206861732061206076616c75652e6c656e677468602074686174277320616e20696e74656765722067726561746572207468616e206f720a20202020202a20657175616c20746f2060306020616e64206c657373207468616e206f7220657175616c20746f20604e756d6265722e4d41585f534146455f494e5445474552602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061727261792d6c696b652c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697341727261794c696b65285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b6528646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b65282761626327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b65285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697341727261794c696b652876616c756529207b0a20202020202072657475726e2076616c756520213d206e756c6c2026262069734c656e6774682876616c75652e6c656e677468292026262021697346756e6374696f6e2876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e697341727261794c696b656020657863657074207468617420697420616c736f20636865636b73206966206076616c7565600a20202020202a20697320616e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2061727261792d6c696b65206f626a6563742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a65637428646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697341727261794c696b654f626a6563742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620697341727261794c696b652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120626f6f6c65616e207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120626f6f6c65616e2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973426f6f6c65616e2866616c7365293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973426f6f6c65616e286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973426f6f6c65616e2876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d2074727565207c7c2076616c7565203d3d3d2066616c7365207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20626f6f6c546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061206275666665722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206275666665722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973427566666572286e657720427566666572283229293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973427566666572286e65772055696e74384172726179283229293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973427566666572203d206e61746976654973427566666572207c7c207374756246616c73653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604461746560206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612064617465206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697344617465286e65772044617465293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734461746528274d6f6e20417072696c203233203230313227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220697344617465203d206e6f6465497344617465203f2062617365556e617279286e6f646549734461746529203a20626173654973446174653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c79206120444f4d20656c656d656e742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120444f4d20656c656d656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973456c656d656e7428646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456c656d656e7428273c626f64793e27293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973456c656d656e742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c7565292026262076616c75652e6e6f646554797065203d3d3d203120262620216973506c61696e4f626a6563742876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20656d707479206f626a6563742c20636f6c6c656374696f6e2c206d61702c206f72207365742e0a20202020202a0a20202020202a204f626a656374732061726520636f6e7369646572656420656d70747920696620746865792068617665206e6f206f776e20656e756d657261626c6520737472696e67206b657965640a20202020202a2070726f706572746965732e0a20202020202a0a20202020202a2041727261792d6c696b652076616c75657320737563682061732060617267756d656e747360206f626a656374732c206172726179732c20627566666572732c20737472696e67732c206f720a20202020202a206a51756572792d6c696b6520636f6c6c656374696f6e732061726520636f6e7369646572656420656d70747920696620746865792068617665206120606c656e67746860206f66206030602e0a20202020202a2053696d696c61726c792c206d61707320616e6420736574732061726520636f6e7369646572656420656d707479206966207468657920686176652061206073697a6560206f66206030602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320656d7074792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973456d707479286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d7074792874727565293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d7074792831293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d707479285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973456d707479287b202761273a2031207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973456d7074792876616c756529207b0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e20747275653b0a2020202020207d0a20202020202069662028697341727261794c696b652876616c7565292026260a2020202020202020202028697341727261792876616c756529207c7c20747970656f662076616c7565203d3d2027737472696e6727207c7c20747970656f662076616c75652e73706c696365203d3d202766756e6374696f6e27207c7c0a20202020202020202020202069734275666665722876616c756529207c7c206973547970656441727261792876616c756529207c7c206973417267756d656e74732876616c7565292929207b0a202020202020202072657475726e202176616c75652e6c656e6774683b0a2020202020207d0a20202020202076617220746167203d206765745461672876616c7565293b0a20202020202069662028746167203d3d206d6170546167207c7c20746167203d3d2073657454616729207b0a202020202020202072657475726e202176616c75652e73697a653b0a2020202020207d0a20202020202069662028697350726f746f747970652876616c75652929207b0a202020202020202072657475726e2021626173654b6579732876616c7565292e6c656e6774683b0a2020202020207d0a202020202020666f722028766172206b657920696e2076616c756529207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c2876616c75652c206b65792929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20506572666f726d732061206465657020636f6d70617269736f6e206265747765656e2074776f2076616c75657320746f2064657465726d696e652069662074686579206172650a20202020202a206571756976616c656e742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420737570706f72747320636f6d706172696e67206172726179732c20617272617920627566666572732c20626f6f6c65616e732c0a20202020202a2064617465206f626a656374732c206572726f72206f626a656374732c206d6170732c206e756d626572732c20604f626a65637460206f626a656374732c20726567657865732c0a20202020202a20736574732c20737472696e67732c2073796d626f6c732c20616e64207479706564206172726179732e20604f626a65637460206f626a656374732061726520636f6d70617265640a20202020202a206279207468656972206f776e2c206e6f7420696e686572697465642c20656e756d657261626c652070726f706572746965732e2046756e6374696f6e7320616e6420444f4d0a20202020202a206e6f6465732061726520636f6d70617265642062792073747269637420657175616c6974792c20692e652e20603d3d3d602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a20766172206f74686572203d207b202761273a2031207d3b0a20202020202a0a20202020202a205f2e6973457175616c286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a206f626a656374203d3d3d206f746865723b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973457175616c2876616c75652c206f7468657229207b0a20202020202072657475726e20626173654973457175616c2876616c75652c206f74686572293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6973457175616c6020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f20636f6d706172652076616c7565732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c20636f6d70617269736f6e730a20202020202a206172652068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b6564207769746820757020746f0a20202020202a2073697820617267756d656e74733a20286f626a56616c75652c206f746856616c7565205b2c20696e6465787c6b65792c206f626a6563742c206f746865722c20737461636b5d292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734772656574696e672876616c756529207b0a20202020202a20202072657475726e202f5e68283f3a697c656c6c6f29242f2e746573742876616c7565293b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c206f746856616c756529207b0a20202020202a2020206966202869734772656574696e67286f626a56616c7565292026262069734772656574696e67286f746856616c75652929207b0a20202020202a202020202072657475726e20747275653b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206172726179203d205b2768656c6c6f272c2027676f6f64627965275d3b0a20202020202a20766172206f74686572203d205b276869272c2027676f6f64627965275d3b0a20202020202a0a20202020202a205f2e6973457175616c576974682861727261792c206f746865722c20637573746f6d697a6572293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206973457175616c576974682876616c75652c206f746865722c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202076617220726573756c74203d20637573746f6d697a6572203f20637573746f6d697a65722876616c75652c206f7468657229203a20756e646566696e65643b0a20202020202072657475726e20726573756c74203d3d3d20756e646566696e6564203f20626173654973457175616c2876616c75652c206f746865722c20756e646566696e65642c20637573746f6d697a657229203a202121726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20604572726f72602c20604576616c4572726f72602c206052616e67654572726f72602c20605265666572656e63654572726f72602c0a20202020202a206053796e7461784572726f72602c2060547970654572726f72602c206f7220605552494572726f7260206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206572726f72206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734572726f72286e6577204572726f72293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734572726f72284572726f72293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734572726f722876616c756529207b0a202020202020696620282169734f626a6563744c696b652876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a20202020202076617220746167203d20626173654765745461672876616c7565293b0a20202020202072657475726e20746167203d3d206572726f72546167207c7c20746167203d3d20646f6d457863546167207c7c0a202020202020202028747970656f662076616c75652e6d657373616765203d3d2027737472696e672720262620747970656f662076616c75652e6e616d65203d3d2027737472696e672720262620216973506c61696e4f626a6563742876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612066696e697465207072696d6974697665206e756d6265722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e697346696e697465605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f697346696e697465292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612066696e697465206e756d6265722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697346696e6974652833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346696e697465284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346696e69746528496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697346696e69746528273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697346696e6974652876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d62657227202626206e6174697665497346696e6974652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206046756e6374696f6e60206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612066756e6374696f6e2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697346756e6374696f6e285f293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346756e6374696f6e282f6162632f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697346756e6374696f6e2876616c756529207b0a202020202020696620282169734f626a6563742876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020202f2f2054686520757365206f6620604f626a65637423746f537472696e67602061766f696473206973737565732077697468207468652060747970656f6660206f70657261746f720a2020202020202f2f20696e2053616661726920392077686963682072657475726e7320276f626a6563742720666f722074797065642061727261797320616e64206f7468657220636f6e7374727563746f72732e0a20202020202076617220746167203d20626173654765745461672876616c7565293b0a20202020202072657475726e20746167203d3d2066756e63546167207c7c20746167203d3d2067656e546167207c7c20746167203d3d206173796e63546167207c7c20746167203d3d2070726f78795461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e6973496e7465676572605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f6973496e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e20696e74656765722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973496e74656765722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973496e746567657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973496e74656765722876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d626572272026262076616c7565203d3d20746f496e74656765722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612076616c69642061727261792d6c696b65206c656e6774682e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b60546f4c656e677468605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f6c656e677468292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612076616c6964206c656e6774682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734c656e6774682833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734c656e677468284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734c656e67746828496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734c656e67746828273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734c656e6774682876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d626572272026260a202020202020202076616c7565203e202d312026262076616c756520252031203d3d20302026262076616c7565203c3d204d41585f534146455f494e54454745523b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207468650a20202020202a205b6c616e677561676520747970655d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d65636d617363726970742d6c616e67756167652d7479706573290a20202020202a206f6620604f626a656374602e2028652e672e206172726179732c2066756e6374696f6e732c206f626a656374732c20726567657865732c20606e6577204e756d626572283029602c20616e6420606e657720537472696e672827272960290a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734f626a656374287b7d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374285f2e6e6f6f70293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734f626a6563742876616c756529207b0a2020202020207661722074797065203d20747970656f662076616c75653b0a20202020202072657475726e2076616c756520213d206e756c6c202626202874797065203d3d20276f626a65637427207c7c2074797065203d3d202766756e6374696f6e27293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206f626a6563742d6c696b652e20412076616c7565206973206f626a6563742d6c696b652069662069742773206e6f7420606e756c6c600a20202020202a20616e642068617320612060747970656f666020726573756c74206f6620226f626a656374222e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206f626a6563742d6c696b652c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65287b7d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734f626a6563744c696b652876616c756529207b0a20202020202072657475726e2076616c756520213d206e756c6c20262620747970656f662076616c7565203d3d20276f626a656374273b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604d617060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206d61702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734d6170286e6577204d6170293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734d6170286e6577205765616b4d6170293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734d6170203d206e6f646549734d6170203f2062617365556e617279286e6f646549734d617029203a206261736549734d61703b0a0a202020202f2a2a0a20202020202a20506572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e20606f626a6563746020616e642060736f757263656020746f0a20202020202a2064657465726d696e6520696620606f626a6563746020636f6e7461696e73206571756976616c656e742070726f70657274792076616c7565732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206571756976616c656e7420746f20605f2e6d61746368657360207768656e2060736f75726365602069730a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563742060736f75726365600a20202020202a2076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e2053656520605f2e6973457175616c600a20202020202a20666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a0a20202020202a205f2e69734d61746368286f626a6563742c207b202762273a2032207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734d61746368286f626a6563742c207b202762273a2031207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734d61746368286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a656374203d3d3d20736f75726365207c7c206261736549734d61746368286f626a6563742c20736f757263652c206765744d617463684461746128736f7572636529293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e69734d617463686020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f20636f6d706172652076616c7565732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c20636f6d70617269736f6e730a20202020202a206172652068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b6564207769746820666976650a20202020202a20617267756d656e74733a20286f626a56616c75652c2073726356616c75652c20696e6465787c6b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734772656574696e672876616c756529207b0a20202020202a20202072657475726e202f5e68283f3a697c656c6c6f29242f2e746573742876616c7565293b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a2020206966202869734772656574696e67286f626a56616c7565292026262069734772656574696e672873726356616c75652929207b0a20202020202a202020202072657475726e20747275653b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b20276772656574696e67273a202768656c6c6f27207d3b0a20202020202a2076617220736f75726365203d207b20276772656574696e67273a2027686927207d3b0a20202020202a0a20202020202a205f2e69734d6174636857697468286f626a6563742c20736f757263652c20637573746f6d697a6572293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e2069734d6174636857697468286f626a6563742c20736f757263652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206261736549734d61746368286f626a6563742c20736f757263652c206765744d617463684461746128736f75726365292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320604e614e602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e69734e614e605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f69734e614e2920616e64206973206e6f74207468652073616d652061730a20202020202a20676c6f62616c205b6069734e614e605d2868747470733a2f2f6d646e2e696f2f69734e614e292077686963682072657475726e732060747275656020666f720a20202020202a2060756e646566696e65646020616e64206f74686572206e6f6e2d6e756d6265722076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320604e614e602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e614e284e614e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e614e286e6577204e756d626572284e614e29293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2069734e614e28756e646566696e6564293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e614e28756e646566696e6564293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e614e2876616c756529207b0a2020202020202f2f20416e20604e614e60207072696d697469766520697320746865206f6e6c792076616c75652074686174206973206e6f7420657175616c20746f20697473656c662e0a2020202020202f2f20506572666f726d207468652060746f537472696e675461676020636865636b20666972737420746f2061766f6964206572726f7273207769746820736f6d650a2020202020202f2f2041637469766558206f626a6563747320696e2049452e0a20202020202072657475726e2069734e756d6265722876616c7565292026262076616c756520213d202b76616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061207072697374696e65206e61746976652066756e6374696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f642063616e27742072656c6961626c7920646574656374206e61746976652066756e6374696f6e7320696e207468652070726573656e63650a20202020202a206f662074686520636f72652d6a73207061636b616765206265636175736520636f72652d6a732063697263756d76656e74732074686973206b696e64206f6620646574656374696f6e2e0a20202020202a2044657370697465206d756c7469706c652072657175657374732c2074686520636f72652d6a73206d61696e7461696e657220686173206d61646520697420636c6561723a20616e790a20202020202a20617474656d707420746f206669782074686520646574656374696f6e2077696c6c206265206f6273747275637465642e204173206120726573756c742c207765277265206c6566740a20202020202a2077697468206c6974746c652063686f6963652062757420746f207468726f7720616e206572726f722e20556e666f7274756e6174656c792c207468697320616c736f20616666656374730a20202020202a207061636b616765732c206c696b65205b626162656c2d706f6c7966696c6c5d2868747470733a2f2f7777772e6e706d6a732e636f6d2f7061636b6167652f626162656c2d706f6c7966696c6c292c0a20202020202a2077686963682072656c79206f6e20636f72652d6a732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e61746976652066756e6374696f6e2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e61746976652841727261792e70726f746f747970652e70757368293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e6174697665285f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e61746976652876616c756529207b0a2020202020206966202869734d61736b61626c652876616c75652929207b0a20202020202020207468726f77206e6577204572726f7228434f52455f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e206261736549734e61746976652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320606e756c6c602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320606e756c6c602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e756c6c286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756c6c28766f69642030293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e756c6c2876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d206e756c6c3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320606e756c6c60206f722060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206e756c6c6973682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e696c286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e696c28766f69642030293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e696c284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e696c2876616c756529207b0a20202020202072657475726e2076616c7565203d3d206e756c6c3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604e756d62657260207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546f206578636c7564652060496e66696e697479602c20602d496e66696e697479602c20616e6420604e614e602c207768696368206172650a20202020202a20636c6173736966696564206173206e756d626572732c207573652074686520605f2e697346696e69746560206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e756d6265722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e756d6265722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d626572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d62657228496e66696e697479293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d62657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e756d6265722876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d62657227207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d206e756d626572546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206120706c61696e206f626a6563742c20746861742069732c20616e206f626a6563742063726561746564206279207468650a20202020202a20604f626a6563746020636f6e7374727563746f72206f72206f6e652077697468206120605b5b50726f746f747970655d5d60206f6620606e756c6c602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e382e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120706c61696e206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374286e657720466f6f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374287b202778273a20302c202779273a2030207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374284f626a6563742e637265617465286e756c6c29293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206973506c61696e4f626a6563742876616c756529207b0a202020202020696620282169734f626a6563744c696b652876616c756529207c7c20626173654765745461672876616c75652920213d206f626a65637454616729207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722070726f746f203d2067657450726f746f747970652876616c7565293b0a2020202020206966202870726f746f203d3d3d206e756c6c29207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020207661722043746f72203d206861734f776e50726f70657274792e63616c6c2870726f746f2c2027636f6e7374727563746f7227292026262070726f746f2e636f6e7374727563746f723b0a20202020202072657475726e20747970656f662043746f72203d3d202766756e6374696f6e272026262043746f7220696e7374616e63656f662043746f722026260a202020202020202066756e63546f537472696e672e63616c6c2843746f7229203d3d206f626a65637443746f72537472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206052656745787060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207265676578702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973526567457870282f6162632f293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697352656745787028272f6162632f27293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973526567457870203d206e6f64654973526567457870203f2062617365556e617279286e6f6465497352656745787029203a206261736549735265674578703b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061207361666520696e74656765722e20416e20696e74656765722069732073616665206966206974277320616e20494545452d3735340a20202020202a20646f75626c6520707265636973696f6e206e756d6265722077686963682069736e27742074686520726573756c74206f66206120726f756e64656420756e7361666520696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e697353616665496e7465676572605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f697353616665496e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207361666520696e74656765722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697353616665496e74656765722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697353616665496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697353616665496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697353616665496e746567657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697353616665496e74656765722876616c756529207b0a20202020202072657475726e206973496e74656765722876616c7565292026262076616c7565203e3d202d4d41585f534146455f494e54454745522026262076616c7565203c3d204d41585f534146455f494e54454745523b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206053657460206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207365742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973536574286e657720536574293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973536574286e6577205765616b536574293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973536574203d206e6f64654973536574203f2062617365556e617279286e6f6465497353657429203a206261736549735365743b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320612060537472696e6760207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120737472696e672c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973537472696e67282761626327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973537472696e672831293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973537472696e672876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d2027737472696e6727207c7c0a20202020202020202821697341727261792876616c7565292026262069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20737472696e67546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206053796d626f6c60207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612073796d626f6c2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697353796d626f6c2853796d626f6c2e6974657261746f72293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697353796d626f6c282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697353796d626f6c2876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d202773796d626f6c27207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d2073796d626f6c546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320612074797065642061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612074797065642061727261792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697354797065644172726179286e65772055696e74384172726179293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697354797065644172726179285b5d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220697354797065644172726179203d206e6f6465497354797065644172726179203f2062617365556e617279286e6f646549735479706564417272617929203a20626173654973547970656441727261793b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732060756e646566696e6564602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973556e646566696e656428766f69642030293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973556e646566696e6564286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973556e646566696e65642876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120605765616b4d617060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207765616b206d61702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69735765616b4d6170286e6577205765616b4d6170293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69735765616b4d6170286e6577204d6170293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069735765616b4d61702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d207765616b4d61705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120605765616b53657460206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207765616b207365742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69735765616b536574286e6577205765616b536574293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69735765616b536574286e657720536574293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069735765616b5365742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d207765616b5365745461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c657373207468616e20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2040736565205f2e67740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c7428312c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c7428332c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6c7428332c2031293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206c74203d2063726561746552656c6174696f6e616c4f7065726174696f6e28626173654c74293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c657373207468616e206f7220657175616c20746f20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e206f7220657175616c20746f0a20202020202a2020606f74686572602c20656c7365206066616c7365602e0a20202020202a2040736565205f2e6774650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c746528312c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c746528332c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c746528332c2031293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206c7465203d2063726561746552656c6174696f6e616c4f7065726174696f6e2866756e6374696f6e2876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203c3d206f746865723b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e2061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4172726179287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e746f4172726179282761626327293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a0a20202020202a205f2e746f41727261792831293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e746f4172726179286e756c6c293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e20746f41727261792876616c756529207b0a202020202020696620282176616c756529207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028697341727261794c696b652876616c75652929207b0a202020202020202072657475726e206973537472696e672876616c756529203f20737472696e67546f41727261792876616c756529203a20636f707941727261792876616c7565293b0a2020202020207d0a2020202020206966202873796d4974657261746f722026262076616c75655b73796d4974657261746f725d29207b0a202020202020202072657475726e206974657261746f72546f41727261792876616c75655b73796d4974657261746f725d2829293b0a2020202020207d0a20202020202076617220746167203d206765745461672876616c7565292c0a2020202020202020202066756e63203d20746167203d3d206d6170546167203f206d6170546f4172726179203a2028746167203d3d20736574546167203f20736574546f4172726179203a2076616c756573293b0a0a20202020202072657475726e2066756e632876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20612066696e697465206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31322e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e766572746564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f46696e69746528332e32293b0a20202020202a202f2f203d3e20332e320a20202020202a0a20202020202a205f2e746f46696e697465284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2035652d3332340a20202020202a0a20202020202a205f2e746f46696e69746528496e66696e697479293b0a20202020202a202f2f203d3e20312e37393736393331333438363233313537652b3330380a20202020202a0a20202020202a205f2e746f46696e6974652827332e3227293b0a20202020202a202f2f203d3e20332e320a20202020202a2f0a2020202066756e6374696f6e20746f46696e6974652876616c756529207b0a202020202020696620282176616c756529207b0a202020202020202072657475726e2076616c7565203d3d3d2030203f2076616c7565203a20303b0a2020202020207d0a20202020202076616c7565203d20746f4e756d6265722876616c7565293b0a2020202020206966202876616c7565203d3d3d20494e46494e495459207c7c2076616c7565203d3d3d202d494e46494e49545929207b0a2020202020202020766172207369676e203d202876616c7565203c2030203f202d31203a2031293b0a202020202020202072657475726e207369676e202a204d41585f494e54454745523b0a2020202020207d0a20202020202072657475726e2076616c7565203d3d3d2076616c7565203f2076616c7565203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b60546f496e7465676572605d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f696e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f496e746567657228332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e20312e37393736393331333438363233313537652b3330380a20202020202a0a20202020202a205f2e746f496e74656765722827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f496e74656765722876616c756529207b0a20202020202076617220726573756c74203d20746f46696e6974652876616c7565292c0a2020202020202020202072656d61696e646572203d20726573756c74202520313b0a0a20202020202072657475726e20726573756c74203d3d3d20726573756c74203f202872656d61696e646572203f20726573756c74202d2072656d61696e646572203a20726573756c7429203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e20696e7465676572207375697461626c6520666f722075736520617320746865206c656e677468206f6620616e0a20202020202a2061727261792d6c696b65206f626a6563742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60546f4c656e677468605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f6c656e677468292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4c656e67746828332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f4c656e677468284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f4c656e67746828496e66696e697479293b0a20202020202a202f2f203d3e20343239343936373239350a20202020202a0a20202020202a205f2e746f4c656e6774682827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f4c656e6774682876616c756529207b0a20202020202072657475726e2076616c7565203f2062617365436c616d7028746f496e74656765722876616c7565292c20302c204d41585f41525241595f4c454e47544829203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f2061206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4e756d62657228332e32293b0a20202020202a202f2f203d3e20332e320a20202020202a0a20202020202a205f2e746f4e756d626572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2035652d3332340a20202020202a0a20202020202a205f2e746f4e756d62657228496e66696e697479293b0a20202020202a202f2f203d3e20496e66696e6974790a20202020202a0a20202020202a205f2e746f4e756d6265722827332e3227293b0a20202020202a202f2f203d3e20332e320a20202020202a2f0a2020202066756e6374696f6e20746f4e756d6265722876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d20276e756d6265722729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e204e414e3b0a2020202020207d0a2020202020206966202869734f626a6563742876616c75652929207b0a2020202020202020766172206f74686572203d20747970656f662076616c75652e76616c75654f66203d3d202766756e6374696f6e27203f2076616c75652e76616c75654f662829203a2076616c75653b0a202020202020202076616c7565203d2069734f626a656374286f7468657229203f20286f74686572202b20272729203a206f746865723b0a2020202020207d0a20202020202069662028747970656f662076616c756520213d2027737472696e672729207b0a202020202020202072657475726e2076616c7565203d3d3d2030203f2076616c7565203a202b76616c75653b0a2020202020207d0a20202020202076616c7565203d2076616c75652e7265706c6163652872655472696d2c202727293b0a20202020202076617220697342696e617279203d207265497342696e6172792e746573742876616c7565293b0a20202020202072657475726e2028697342696e617279207c7c20726549734f6374616c2e746573742876616c756529290a20202020202020203f20667265655061727365496e742876616c75652e736c6963652832292c20697342696e617279203f2032203a2038290a20202020202020203a2028726549734261644865782e746573742876616c756529203f204e414e203a202b76616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120706c61696e206f626a65637420666c617474656e696e6720696e6865726974656420656e756d657261626c6520737472696e670a20202020202a206b657965642070726f70657274696573206f66206076616c75656020746f206f776e2070726f70657274696573206f662074686520706c61696e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6e76657274656420706c61696e206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2031207d2c206e657720466f6f293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2031207d2c205f2e746f506c61696e4f626a656374286e657720466f6f29293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a20322c202763273a2033207d0a20202020202a2f0a2020202066756e6374696f6e20746f506c61696e4f626a6563742876616c756529207b0a20202020202072657475726e20636f70794f626a6563742876616c75652c206b657973496e2876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f2061207361666520696e74656765722e2041207361666520696e74656765722063616e20626520636f6d706172656420616e640a20202020202a20726570726573656e74656420636f72726563746c792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f53616665496e746567657228332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f53616665496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f53616665496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e20393030373139393235343734303939310a20202020202a0a20202020202a205f2e746f53616665496e74656765722827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f53616665496e74656765722876616c756529207b0a20202020202072657475726e2076616c75650a20202020202020203f2062617365436c616d7028746f496e74656765722876616c7565292c202d4d41585f534146455f494e54454745522c204d41585f534146455f494e5445474552290a20202020202020203a202876616c7565203d3d3d2030203f2076616c7565203a2030293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e672e20416e20656d70747920737472696e672069732072657475726e656420666f7220606e756c6c600a20202020202a20616e642060756e646566696e6564602076616c7565732e20546865207369676e206f6620602d3060206973207072657365727665642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f537472696e67286e756c6c293b0a20202020202a202f2f203d3e2027270a20202020202a0a20202020202a205f2e746f537472696e67282d30293b0a20202020202a202f2f203d3e20272d30270a20202020202a0a20202020202a205f2e746f537472696e67285b312c20322c20335d293b0a20202020202a202f2f203d3e2027312c322c33270a20202020202a2f0a2020202066756e6374696f6e20746f537472696e672876616c756529207b0a20202020202072657475726e2076616c7565203d3d206e756c6c203f202727203a2062617365546f537472696e672876616c7565293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2041737369676e73206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f75726365206f626a6563747320746f207468650a20202020202a2064657374696e6174696f6e206f626a6563742e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e0a20202020202a2053756273657175656e7420736f7572636573206f76657277726974652070726f70657274792061737369676e6d656e7473206f662070726576696f757320736f75726365732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a6563746020616e64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b604f626a6563742e61737369676e605d2868747470733a2f2f6d646e2e696f2f4f626a6563742f61737369676e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e31302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e204261722829207b0a20202020202a202020746869732e63203d20333b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e62203d20323b0a20202020202a204261722e70726f746f747970652e64203d20343b0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2030207d2c206e657720466f6f2c206e657720426172293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a202020207661722061737369676e203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f7572636529207b0a20202020202069662028697350726f746f7479706528736f7572636529207c7c20697341727261794c696b6528736f757263652929207b0a2020202020202020636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a656374293b0a202020202020202072657475726e3b0a2020202020207d0a202020202020666f722028766172206b657920696e20736f7572636529207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c28736f757263652c206b65792929207b0a2020202020202020202061737369676e56616c7565286f626a6563742c206b65792c20736f757263655b6b65795d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e60206578636570742074686174206974206974657261746573206f766572206f776e20616e640a20202020202a20696e6865726974656420736f757263652070726f706572746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320657874656e640a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e204261722829207b0a20202020202a202020746869732e63203d20333b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e62203d20323b0a20202020202a204261722e70726f746f747970652e64203d20343b0a20202020202a0a20202020202a205f2e61737369676e496e287b202761273a2030207d2c206e657720466f6f2c206e657720426172293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a20322c202763273a20332c202764273a2034207d0a20202020202a2f0a202020207661722061737369676e496e203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f7572636529207b0a202020202020636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a656374293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e496e6020657863657074207468617420697420616363657074732060637573746f6d697a6572600a20202020202a20776869636820697320696e766f6b656420746f2070726f64756365207468652061737369676e65642076616c7565732e2049662060637573746f6d697a6572602072657475726e730a20202020202a2060756e646566696e6564602c2061737369676e6d656e742069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a6572600a20202020202a20697320696e766f6b65642077697468206669766520617267756d656e74733a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320657874656e64576974680a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a20202072657475726e205f2e6973556e646566696e6564286f626a56616c756529203f2073726356616c7565203a206f626a56616c75653b0a20202020202a207d0a20202020202a0a20202020202a207661722064656661756c7473203d205f2e7061727469616c5269676874285f2e61737369676e496e576974682c20637573746f6d697a6572293b0a20202020202a0a20202020202a2064656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722061737369676e496e57697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a6563742c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e6020657863657074207468617420697420616363657074732060637573746f6d697a6572600a20202020202a20776869636820697320696e766f6b656420746f2070726f64756365207468652061737369676e65642076616c7565732e2049662060637573746f6d697a6572602072657475726e730a20202020202a2060756e646566696e6564602c2061737369676e6d656e742069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a6572600a20202020202a20697320696e766f6b65642077697468206669766520617267756d656e74733a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e496e576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a20202072657475726e205f2e6973556e646566696e6564286f626a56616c756529203f2073726356616c7565203a206f626a56616c75653b0a20202020202a207d0a20202020202a0a20202020202a207661722064656661756c7473203d205f2e7061727469616c5269676874285f2e61737369676e576974682c20637573746f6d697a6572293b0a20202020202a0a20202020202a2064656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722061737369676e57697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a6563742c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662076616c75657320636f72726573706f6e64696e6720746f2060706174687360206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865207069636b65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d2c20345d207d3b0a20202020202a0a20202020202a205f2e6174286f626a6563742c205b27615b305d2e622e63272c2027615b315d275d293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a2f0a20202020766172206174203d20666c61745265737428626173654174293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a656374207468617420696e6865726974732066726f6d20746865206070726f746f7479706560206f626a6563742e20496620610a20202020202a206070726f7065727469657360206f626a65637420697320676976656e2c20697473206f776e20656e756d657261626c6520737472696e67206b657965642070726f706572746965730a20202020202a206172652061737369676e656420746f207468652063726561746564206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d2070726f746f7479706520546865206f626a65637420746f20696e68657269742066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b70726f706572746965735d205468652070726f7065727469657320746f2061737369676e20746f20746865206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2053686170652829207b0a20202020202a202020746869732e78203d20303b0a20202020202a202020746869732e79203d20303b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20436972636c652829207b0a20202020202a20202053686170652e63616c6c2874686973293b0a20202020202a207d0a20202020202a0a20202020202a20436972636c652e70726f746f74797065203d205f2e6372656174652853686170652e70726f746f747970652c207b0a20202020202a20202027636f6e7374727563746f72273a20436972636c650a20202020202a207d293b0a20202020202a0a20202020202a2076617220636972636c65203d206e657720436972636c653b0a20202020202a20636972636c6520696e7374616e63656f6620436972636c653b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636972636c6520696e7374616e63656f662053686170653b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206372656174652870726f746f747970652c2070726f7065727469657329207b0a20202020202076617220726573756c74203d20626173654372656174652870726f746f74797065293b0a20202020202072657475726e2070726f70657274696573203d3d206e756c6c203f20726573756c74203a206261736541737369676e28726573756c742c2070726f70657274696573293b0a202020207d0a0a202020202f2a2a0a20202020202a2041737369676e73206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f757263650a20202020202a206f626a6563747320746f207468652064657374696e6174696f6e206f626a65637420666f7220616c6c2064657374696e6174696f6e2070726f7065727469657320746861740a20202020202a207265736f6c766520746f2060756e646566696e6564602e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e0a20202020202a204f6e636520612070726f7065727479206973207365742c206164646974696f6e616c2076616c756573206f66207468652073616d652070726f7065727479206172652069676e6f7265642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e64656661756c7473446565700a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722064656661756c7473203d2062617365526573742866756e6374696f6e286172677329207b0a202020202020617267732e7075736828756e646566696e65642c20637573746f6d44656661756c747341737369676e496e293b0a20202020202072657475726e206170706c792861737369676e496e576974682c20756e646566696e65642c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e64656661756c747360206578636570742074686174206974207265637572736976656c792061737369676e730a20202020202a2064656661756c742070726f706572746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e64656661756c74730a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c747344656570287b202761273a207b202762273a2032207d207d2c207b202761273a207b202762273a20312c202763273a2033207d207d293b0a20202020202a202f2f203d3e207b202761273a207b202762273a20322c202763273a2033207d207d0a20202020202a2f0a202020207661722064656661756c747344656570203d2062617365526573742866756e6374696f6e286172677329207b0a202020202020617267732e7075736828756e646566696e65642c20637573746f6d44656661756c74734d65726765293b0a20202020202072657475726e206170706c79286d65726765576974682c20756e646566696e65642c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64602065786365707420746861742069742072657475726e7320746865206b6579206f66207468652066697273740a20202020202a20656c656d656e742060707265646963617465602072657475726e732074727574687920666f7220696e7374656164206f662074686520656c656d656e7420697473656c662e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b737472696e677c756e646566696e65647d2052657475726e7320746865206b6579206f6620746865206d61746368656420656c656d656e742c0a20202020202a2020656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a202020276261726e6579273a20207b2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020202766726564273a202020207b2027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a20202027706562626c6573273a207b2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e66696e644b65792875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e20276261726e6579272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c207b2027616765273a20312c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e2027706562626c6573270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c202761637469766527293b0a20202020202a202f2f203d3e20276261726e6579270a20202020202a2f0a2020202066756e6374696f6e2066696e644b6579286f626a6563742c2070726564696361746529207b0a20202020202072657475726e206261736546696e644b6579286f626a6563742c206765744974657261746565287072656469636174652c2033292c2062617365466f724f776e293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e644b657960206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a206120636f6c6c656374696f6e20696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b737472696e677c756e646566696e65647d2052657475726e7320746865206b6579206f6620746865206d61746368656420656c656d656e742c0a20202020202a2020656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a202020276261726e6579273a20207b2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020202766726564273a202020207b2027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a20202027706562626c6573273a207b2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e66696e644c6173744b65792875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e2072657475726e732027706562626c65732720617373756d696e6720605f2e66696e644b6579602072657475726e7320276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c207b2027616765273a2033362c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e20276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c202761637469766527293b0a20202020202a202f2f203d3e2027706562626c6573270a20202020202a2f0a2020202066756e6374696f6e2066696e644c6173744b6579286f626a6563742c2070726564696361746529207b0a20202020202072657475726e206261736546696e644b6579286f626a6563742c206765744974657261746565287072656469636174652c2033292c2062617365466f724f776e5269676874293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f766572206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620616e0a20202020202a206f626a65637420616e6420696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c206b65792c206f626a656374292e2049746572617465652066756e6374696f6e73206d617920657869740a20202020202a20697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f72496e52696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f72496e286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f6773202761272c202762272c207468656e202763272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f72496e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c0a20202020202020203f206f626a6563740a20202020202020203a2062617365466f72286f626a6563742c2067657449746572617465652869746572617465652c2033292c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f72496e60206578636570742074686174206974206974657261746573206f7665722070726f70657274696573206f660a20202020202a20606f626a6563746020696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f72496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f72496e5269676874286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f6773202763272c202762272c207468656e2027612720617373756d696e6720605f2e666f72496e60206c6f6773202761272c202762272c207468656e202763272e0a20202020202a2f0a2020202066756e6374696f6e20666f72496e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c0a20202020202020203f206f626a6563740a20202020202020203a2062617365466f725269676874286f626a6563742c2067657449746572617465652869746572617465652c2033292c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f766572206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620616e206f626a65637420616e640a20202020202a20696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e2054686520697465726174656520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c206b65792c206f626a656374292e2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e0a20202020202a206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f724f776e52696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f724f776e286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276127207468656e202762272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f724f776e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f724f776e286f626a6563742c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f724f776e60206578636570742074686174206974206974657261746573206f7665722070726f70657274696573206f660a20202020202a20606f626a6563746020696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f724f776e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f724f776e5269676874286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276227207468656e2027612720617373756d696e6720605f2e666f724f776e60206c6f677320276127207468656e202762272e0a20202020202a2f0a2020202066756e6374696f6e20666f724f776e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f724f776e5269676874286f626a6563742c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662066756e6374696f6e2070726f7065727479206e616d65732066726f6d206f776e20656e756d657261626c652070726f706572746965730a20202020202a206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2040736565205f2e66756e6374696f6e73496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d205f2e636f6e7374616e7428276127293b0a20202020202a202020746869732e62203d205f2e636f6e7374616e7428276227293b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d205f2e636f6e7374616e7428276327293b0a20202020202a0a20202020202a205f2e66756e6374696f6e73286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2066756e6374696f6e73286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736546756e6374696f6e73286f626a6563742c206b657973286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662066756e6374696f6e2070726f7065727479206e616d65732066726f6d206f776e20616e6420696e686572697465640a20202020202a20656e756d657261626c652070726f70657274696573206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2040736565205f2e66756e6374696f6e730a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d205f2e636f6e7374616e7428276127293b0a20202020202a202020746869732e62203d205f2e636f6e7374616e7428276227293b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d205f2e636f6e7374616e7428276327293b0a20202020202a0a20202020202a205f2e66756e6374696f6e73496e286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a2f0a2020202066756e6374696f6e2066756e6374696f6e73496e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736546756e6374696f6e73286f626a6563742c206b657973496e286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652076616c756520617420607061746860206f6620606f626a656374602e20496620746865207265736f6c7665642076616c75652069730a20202020202a2060756e646566696e6564602c20746865206064656661756c7456616c7565602069732072657475726e656420696e2069747320706c6163652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d205b64656661756c7456616c75655d205468652076616c75652072657475726e656420666f722060756e646566696e656460207265736f6c7665642076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e676574286f626a6563742c2027615b305d2e622e6327293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e676574286f626a6563742c205b2761272c202730272c202762272c202763275d293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e676574286f626a6563742c2027612e622e63272c202764656661756c7427293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a2f0a2020202066756e6374696f6e20676574286f626a6563742c20706174682c2064656661756c7456616c756529207b0a20202020202076617220726573756c74203d206f626a656374203d3d206e756c6c203f20756e646566696e6564203a2062617365476574286f626a6563742c2070617468293b0a20202020202072657475726e20726573756c74203d3d3d20756e646566696e6564203f2064656661756c7456616c7565203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206070617468602069732061206469726563742070726f7065727479206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a207b202762273a2032207d207d3b0a20202020202a20766172206f74686572203d205f2e637265617465287b202761273a205f2e637265617465287b202762273a2032207d29207d293b0a20202020202a0a20202020202a205f2e686173286f626a6563742c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f626a6563742c2027612e6227293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f626a6563742c205b2761272c202762275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f746865722c20276127293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20686173286f626a6563742c207061746829207b0a20202020202072657475726e206f626a65637420213d206e756c6c2026262068617350617468286f626a6563742c20706174682c2062617365486173293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620607061746860206973206120646972656374206f7220696e686572697465642070726f7065727479206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d205f2e637265617465287b202761273a205f2e637265617465287b202762273a2032207d29207d293b0a20202020202a0a20202020202a205f2e686173496e286f626a6563742c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c2027612e6227293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c205b2761272c202762275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20686173496e286f626a6563742c207061746829207b0a20202020202072657475726e206f626a65637420213d206e756c6c2026262068617350617468286f626a6563742c20706174682c2062617365486173496e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f662074686520696e766572746564206b65797320616e642076616c756573206f6620606f626a656374602e0a20202020202a20496620606f626a6563746020636f6e7461696e73206475706c69636174652076616c7565732c2073756273657175656e742076616c756573206f76657277726974650a20202020202a2070726f70657274792061737369676e6d656e7473206f662070726576696f75732076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766572742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720696e766572746564206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a20322c202763273a2031207d3b0a20202020202a0a20202020202a205f2e696e76657274286f626a656374293b0a20202020202a202f2f203d3e207b202731273a202763272c202732273a20276227207d0a20202020202a2f0a2020202076617220696e76657274203d20637265617465496e7665727465722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020726573756c745b76616c75655d203d206b65793b0a202020207d2c20636f6e7374616e74286964656e7469747929293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e76657274602065786365707420746861742074686520696e766572746564206f626a6563742069732067656e6572617465640a20202020202a2066726f6d2074686520726573756c7473206f662072756e6e696e67206561636820656c656d656e74206f6620606f626a65637460207468727520606974657261746565602e205468650a20202020202a20636f72726573706f6e64696e6720696e7665727465642076616c7565206f66206561636820696e766572746564206b657920697320616e206172726179206f66206b6579730a20202020202a20726573706f6e7369626c6520666f722067656e65726174696e672074686520696e7665727465642076616c75652e2054686520697465726174656520697320696e766f6b65640a20202020202a2077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e312e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766572742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720696e766572746564206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a20322c202763273a2031207d3b0a20202020202a0a20202020202a205f2e696e766572744279286f626a656374293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d0a20202020202a0a20202020202a205f2e696e766572744279286f626a6563742c2066756e6374696f6e2876616c756529207b0a20202020202a20202072657475726e202767726f757027202b2076616c75653b0a20202020202a207d293b0a20202020202a202f2f203d3e207b202767726f757031273a205b2761272c202763275d2c202767726f757032273a205b2762275d207d0a20202020202a2f0a2020202076617220696e766572744279203d20637265617465496e7665727465722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c2076616c75652929207b0a2020202020202020726573756c745b76616c75655d2e70757368286b6579293b0a2020202020207d20656c7365207b0a2020202020202020726573756c745b76616c75655d203d205b6b65795d3b0a2020202020207d0a202020207d2c206765744974657261746565293b0a0a202020202f2a2a0a20202020202a20496e766f6b657320746865206d6574686f6420617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662074686520696e766f6b6564206d6574686f642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a205b312c20322c20332c20345d207d207d5d207d3b0a20202020202a0a20202020202a205f2e696e766f6b65286f626a6563742c2027615b305d2e622e632e736c696365272c20312c2033293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a2f0a2020202076617220696e766f6b65203d2062617365526573742862617365496e766f6b65293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c652070726f7065727479206e616d6573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e20536565207468650a20202020202a205b455320737065635d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e6b657973290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e6b657973286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762275d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a205f2e6b6579732827686927293b0a20202020202a202f2f203d3e205b2730272c202731275d0a20202020202a2f0a2020202066756e6374696f6e206b657973286f626a65637429207b0a20202020202072657475726e20697341727261794c696b65286f626a65637429203f2061727261794c696b654b657973286f626a65637429203a20626173654b657973286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479206e616d6573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e6b657973496e286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e206b657973496e286f626a65637429207b0a20202020202072657475726e20697341727261794c696b65286f626a65637429203f2061727261794c696b654b657973286f626a6563742c207472756529203a20626173654b657973496e286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6d617056616c756573603b2074686973206d6574686f64206372656174657320616e206f626a6563742077697468207468650a20202020202a2073616d652076616c75657320617320606f626a6563746020616e64206b6579732067656e6572617465642062792072756e6e696e672065616368206f776e20656e756d657261626c650a20202020202a20737472696e67206b657965642070726f7065727479206f6620606f626a65637460207468727520606974657261746565602e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c206b65792c206f626a656374292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206d6170706564206f626a6563742e0a20202020202a2040736565205f2e6d617056616c7565730a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d61704b657973287b202761273a20312c202762273a2032207d2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a20202072657475726e206b6579202b2076616c75653b0a20202020202a207d293b0a20202020202a202f2f203d3e207b20276131273a20312c20276232273a2032207d0a20202020202a2f0a2020202066756e6374696f6e206d61704b657973286f626a6563742c20697465726174656529207b0a20202020202076617220726573756c74203d207b7d3b0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2033293b0a0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a20202020202020206261736541737369676e56616c756528726573756c742c2069746572617465652876616c75652c206b65792c206f626a656374292c2076616c7565293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a6563742077697468207468652073616d65206b65797320617320606f626a6563746020616e642076616c7565732067656e6572617465640a20202020202a2062792072756e6e696e672065616368206f776e20656e756d657261626c6520737472696e67206b657965642070726f7065727479206f6620606f626a6563746020746872750a20202020202a20606974657261746565602e2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a0a20202020202a202876616c75652c206b65792c206f626a656374292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206d6170706564206f626a6563742e0a20202020202a2040736565205f2e6d61704b6579730a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a2020202766726564273a202020207b202775736572273a202766726564272c2020202027616765273a203430207d2c0a20202020202a20202027706562626c6573273a207b202775736572273a2027706562626c6573272c2027616765273a2031207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e6d617056616c7565732875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e6167653b207d293b0a20202020202a202f2f203d3e207b202766726564273a2034302c2027706562626c6573273a2031207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d617056616c7565732875736572732c202761676527293b0a20202020202a202f2f203d3e207b202766726564273a2034302c2027706562626c6573273a2031207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e206d617056616c756573286f626a6563742c20697465726174656529207b0a20202020202076617220726573756c74203d207b7d3b0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2033293b0a0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c2069746572617465652876616c75652c206b65792c206f626a65637429293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e60206578636570742074686174206974207265637572736976656c79206d6572676573206f776e20616e640a20202020202a20696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f75726365206f626a6563747320696e746f207468650a20202020202a2064657374696e6174696f6e206f626a6563742e20536f757263652070726f706572746965732074686174207265736f6c766520746f2060756e646566696e656460206172650a20202020202a20736b697070656420696620612064657374696e6174696f6e2076616c7565206578697374732e20417272617920616e6420706c61696e206f626a6563742070726f706572746965730a20202020202a20617265206d6572676564207265637572736976656c792e204f74686572206f626a6563747320616e642076616c756520747970657320617265206f76657272696464656e2062790a20202020202a2061737369676e6d656e742e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e2053756273657175656e740a20202020202a20736f7572636573206f76657277726974652070726f70657274792061737369676e6d656e7473206f662070726576696f757320736f75726365732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b0a20202020202a2020202761273a205b7b202762273a2032207d2c207b202764273a2034207d5d0a20202020202a207d3b0a20202020202a0a20202020202a20766172206f74686572203d207b0a20202020202a2020202761273a205b7b202763273a2033207d2c207b202765273a2035207d5d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e6d65726765286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a20322c202763273a2033207d2c207b202764273a20342c202765273a2035207d5d207d0a20202020202a2f0a20202020766172206d65726765203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e64657829207b0a202020202020626173654d65726765286f626a6563742c20736f757263652c20737263496e646578293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d657267656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f2070726f6475636520746865206d65726765642076616c756573206f66207468652064657374696e6174696f6e20616e6420736f757263650a20202020202a2070726f706572746965732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c206d657267696e672069732068616e646c6564206279207468650a20202020202a206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b656420776974682073697820617267756d656e74733a0a20202020202a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a202020696620285f2e69734172726179286f626a56616c75652929207b0a20202020202a202020202072657475726e206f626a56616c75652e636f6e6361742873726356616c7565293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b315d2c202762273a205b325d207d3b0a20202020202a20766172206f74686572203d207b202761273a205b335d2c202762273a205b345d207d3b0a20202020202a0a20202020202a205f2e6d6572676557697468286f626a6563742c206f746865722c20637573746f6d697a6572293b0a20202020202a202f2f203d3e207b202761273a205b312c20335d2c202762273a205b322c20345d207d0a20202020202a2f0a20202020766172206d6572676557697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020626173654d65726765286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e7069636b603b2074686973206d6574686f64206372656174657320616e206f626a65637420636f6d706f736564206f66207468650a20202020202a206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479207061746873206f6620606f626a65637460207468617420617265206e6f74206f6d69747465642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420697320636f6e736964657261626c7920736c6f776572207468616e20605f2e7069636b602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f206f6d69742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e6f6d6974286f626a6563742c205b2761272c202763275d293b0a20202020202a202f2f203d3e207b202762273a20273227207d0a20202020202a2f0a20202020766172206f6d6974203d20666c6174526573742866756e6374696f6e286f626a6563742c20706174687329207b0a20202020202076617220726573756c74203d207b7d3b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202076617220697344656570203d2066616c73653b0a2020202020207061746873203d2061727261794d61702870617468732c2066756e6374696f6e287061746829207b0a202020202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020202020697344656570207c7c2028697344656570203d20706174682e6c656e677468203e2031293b0a202020202020202072657475726e20706174683b0a2020202020207d293b0a202020202020636f70794f626a656374286f626a6563742c20676574416c6c4b657973496e286f626a656374292c20726573756c74293b0a2020202020206966202869734465657029207b0a2020202020202020726573756c74203d2062617365436c6f6e6528726573756c742c20434c4f4e455f444545505f464c4147207c20434c4f4e455f464c41545f464c4147207c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d4f6d6974436c6f6e65293b0a2020202020207d0a202020202020766172206c656e677468203d2070617468732e6c656e6774683b0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202062617365556e73657428726573756c742c2070617468735b6c656e6774685d293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e7069636b4279603b2074686973206d6574686f64206372656174657320616e206f626a65637420636f6d706f736564206f660a20202020202a20746865206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620606f626a6563746020746861740a20202020202a20607072656469636174656020646f65736e27742072657475726e2074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074776f0a20202020202a20617267756d656e74733a202876616c75652c206b6579292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e6f6d69744279286f626a6563742c205f2e69734e756d626572293b0a20202020202a202f2f203d3e207b202762273a20273227207d0a20202020202a2f0a2020202066756e6374696f6e206f6d69744279286f626a6563742c2070726564696361746529207b0a20202020202072657475726e207069636b4279286f626a6563742c206e6567617465286765744974657261746565287072656469636174652929293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f6620746865207069636b656420606f626a656374602070726f706572746965732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e7069636b286f626a6563742c205b2761272c202763275d293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a20202020766172207069636b203d20666c6174526573742866756e6374696f6e286f626a6563742c20706174687329207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f207b7d203a20626173655069636b286f626a6563742c207061746873293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f662074686520606f626a656374602070726f706572746965732060707265646963617465602072657475726e730a20202020202a2074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074776f20617267756d656e74733a202876616c75652c206b6579292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e7069636b4279286f626a6563742c205f2e69734e756d626572293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a2020202066756e6374696f6e207069636b4279286f626a6563742c2070726564696361746529207b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e207b7d3b0a2020202020207d0a2020202020207661722070726f7073203d2061727261794d617028676574416c6c4b657973496e286f626a656374292c2066756e6374696f6e2870726f7029207b0a202020202020202072657475726e205b70726f705d3b0a2020202020207d293b0a202020202020707265646963617465203d20676574497465726174656528707265646963617465293b0a20202020202072657475726e20626173655069636b4279286f626a6563742c2070726f70732c2066756e6374696f6e2876616c75652c207061746829207b0a202020202020202072657475726e207072656469636174652876616c75652c20706174685b305d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6765746020657863657074207468617420696620746865207265736f6c7665642076616c756520697320610a20202020202a2066756e6374696f6e206974277320696e766f6b6564207769746820746865206074686973602062696e64696e67206f662069747320706172656e74206f626a65637420616e640a20202020202a2069747320726573756c742069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207265736f6c76652e0a20202020202a2040706172616d207b2a7d205b64656661756c7456616c75655d205468652076616c75652072657475726e656420666f722060756e646566696e656460207265736f6c7665642076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b20276331273a20332c20276332273a205f2e636f6e7374616e74283429207d207d5d207d3b0a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e633127293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e633227293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e6333272c202764656661756c7427293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e6333272c205f2e636f6e7374616e74282764656661756c742729293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a2f0a2020202066756e6374696f6e20726573756c74286f626a6563742c20706174682c2064656661756c7456616c756529207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774683b0a0a2020202020202f2f20456e7375726520746865206c6f6f7020697320656e7465726564207768656e207061746820697320656d7074792e0a20202020202069662028216c656e67746829207b0a20202020202020206c656e677468203d20313b0a20202020202020206f626a656374203d20756e646566696e65643b0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b746f4b657928706174685b696e6465785d295d3b0a20202020202020206966202876616c7565203d3d3d20756e646566696e656429207b0a20202020202020202020696e646578203d206c656e6774683b0a2020202020202020202076616c7565203d2064656661756c7456616c75653b0a20202020202020207d0a20202020202020206f626a656374203d20697346756e6374696f6e2876616c756529203f2076616c75652e63616c6c286f626a65637429203a2076616c75653b0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a2053657473207468652076616c756520617420607061746860206f6620606f626a656374602e204966206120706f7274696f6e206f662060706174686020646f65736e27742065786973742c0a20202020202a206974277320637265617465642e2041727261797320617265206372656174656420666f72206d697373696e6720696e6465782070726f70657274696573207768696c65206f626a656374730a20202020202a20617265206372656174656420666f7220616c6c206f74686572206d697373696e672070726f706572746965732e2055736520605f2e736574576974686020746f20637573746f6d697a650a20202020202a20607061746860206372656174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e736574286f626a6563742c2027615b305d2e622e63272c2034293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e615b305d2e622e63293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e736574286f626a6563742c205b2778272c202730272c202779272c20277a275d2c2035293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e785b305d2e792e7a293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e20736574286f626a6563742c20706174682c2076616c756529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365536574286f626a6563742c20706174682c2076616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7365746020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963682069730a20202020202a20696e766f6b656420746f2070726f6475636520746865206f626a65637473206f66206070617468602e202049662060637573746f6d697a6572602072657475726e732060756e646566696e6564600a20202020202a2070617468206372656174696f6e2069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a20286e7356616c75652c206b65792c206e734f626a656374292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b7d3b0a20202020202a0a20202020202a205f2e73657457697468286f626a6563742c20275b305d5b315d272c202761272c204f626a656374293b0a20202020202a202f2f203d3e207b202730273a207b202731273a20276127207d207d0a20202020202a2f0a2020202066756e6374696f6e2073657457697468286f626a6563742c20706174682c2076616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365536574286f626a6563742c20706174682c2076616c75652c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20656e756d657261626c6520737472696e67206b657965642d76616c756520706169727320666f7220606f626a656374600a20202020202a2077686963682063616e20626520636f6e73756d656420627920605f2e66726f6d5061697273602e20496620606f626a656374602069732061206d6170206f72207365742c206974730a20202020202a20656e7472696573206172652072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320656e74726965730a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e746f5061697273286e657720466f6f293b0a20202020202a202f2f203d3e205b5b2761272c20315d2c205b2762272c20325d5d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202076617220746f5061697273203d20637265617465546f5061697273286b657973293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642d76616c75652070616972730a20202020202a20666f7220606f626a656374602077686963682063616e20626520636f6e73756d656420627920605f2e66726f6d5061697273602e20496620606f626a656374602069732061206d61700a20202020202a206f72207365742c2069747320656e7472696573206172652072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320656e7472696573496e0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e746f5061697273496e286e657720466f6f293b0a20202020202a202f2f203d3e205b5b2761272c20315d2c205b2762272c20325d2c205b2763272c20335d5d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202076617220746f5061697273496e203d20637265617465546f5061697273286b657973496e293b0a0a202020202f2a2a0a20202020202a20416e20616c7465726e617469766520746f20605f2e726564756365603b2074686973206d6574686f64207472616e73666f726d7320606f626a6563746020746f2061206e65770a20202020202a2060616363756d756c61746f7260206f626a6563742077686963682069732074686520726573756c74206f662072756e6e696e672065616368206f6620697473206f776e0a20202020202a20656e756d657261626c6520737472696e67206b657965642070726f70657274696573207468727520606974657261746565602c2077697468206561636820696e766f636174696f6e0a20202020202a20706f74656e7469616c6c79206d75746174696e67207468652060616363756d756c61746f7260206f626a6563742e2049662060616363756d756c61746f7260206973206e6f740a20202020202a2070726f76696465642c2061206e6577206f626a6563742077697468207468652073616d6520605b5b50726f746f747970655d5d602077696c6c20626520757365642e205468650a20202020202a20697465726174656520697320696e766f6b6564207769746820666f757220617267756d656e74733a2028616363756d756c61746f722c2076616c75652c206b65792c206f626a656374292e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520637573746f6d20616363756d756c61746f722076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472616e73666f726d285b322c20332c20345d2c2066756e6374696f6e28726573756c742c206e29207b0a20202020202a202020726573756c742e70757368286e202a3d206e293b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d2c205b5d293b0a20202020202a202f2f203d3e205b342c20395d0a20202020202a0a20202020202a205f2e7472616e73666f726d287b202761273a20312c202762273a20322c202763273a2031207d2c2066756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a20202020202a20202028726573756c745b76616c75655d207c7c2028726573756c745b76616c75655d203d205b5d29292e70757368286b6579293b0a20202020202a207d2c207b7d293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d0a20202020202a2f0a2020202066756e6374696f6e207472616e73666f726d286f626a6563742c2069746572617465652c20616363756d756c61746f7229207b0a202020202020766172206973417272203d2069734172726179286f626a656374292c0a2020202020202020202069734172724c696b65203d206973417272207c7c206973427566666572286f626a65637429207c7c20697354797065644172726179286f626a656374293b0a0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2034293b0a20202020202069662028616363756d756c61746f72203d3d206e756c6c29207b0a20202020202020207661722043746f72203d206f626a656374202626206f626a6563742e636f6e7374727563746f723b0a20202020202020206966202869734172724c696b6529207b0a20202020202020202020616363756d756c61746f72203d206973417272203f206e65772043746f72203a205b5d3b0a20202020202020207d0a2020202020202020656c7365206966202869734f626a656374286f626a6563742929207b0a20202020202020202020616363756d756c61746f72203d20697346756e6374696f6e2843746f7229203f20626173654372656174652867657450726f746f74797065286f626a6563742929203a207b7d3b0a20202020202020207d0a2020202020202020656c7365207b0a20202020202020202020616363756d756c61746f72203d207b7d3b0a20202020202020207d0a2020202020207d0a2020202020202869734172724c696b65203f20617272617945616368203a2062617365466f724f776e29286f626a6563742c2066756e6374696f6e2876616c75652c20696e6465782c206f626a65637429207b0a202020202020202072657475726e20697465726174656528616363756d756c61746f722c2076616c75652c20696e6465782c206f626a656374293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573207468652070726f706572747920617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f20756e7365742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652070726f70657274792069732064656c657465642c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2037207d207d5d207d3b0a20202020202a205f2e756e736574286f626a6563742c2027615b305d2e622e6327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a207b7d207d5d207d3b0a20202020202a0a20202020202a205f2e756e736574286f626a6563742c205b2761272c202730272c202762272c202763275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a207b7d207d5d207d3b0a20202020202a2f0a2020202066756e6374696f6e20756e736574286f626a6563742c207061746829207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f2074727565203a2062617365556e736574286f626a6563742c2070617468293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7365746020657863657074207468617420616363657074732060757064617465726020746f2070726f64756365207468650a20202020202a2076616c756520746f207365742e2055736520605f2e757064617465576974686020746f20637573746f6d697a6520607061746860206372656174696f6e2e20546865206075706461746572600a20202020202a20697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e757064617465286f626a6563742c2027615b305d2e622e63272c2066756e6374696f6e286e29207b2072657475726e206e202a206e3b207d293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e615b305d2e622e63293b0a20202020202a202f2f203d3e20390a20202020202a0a20202020202a205f2e757064617465286f626a6563742c2027785b305d2e792e7a272c2066756e6374696f6e286e29207b2072657475726e206e203f206e202b2031203a20303b207d293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e785b305d2e792e7a293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20757064617465286f626a6563742c20706174682c207570646174657229207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365557064617465286f626a6563742c20706174682c206361737446756e6374696f6e287570646174657229293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7570646174656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963682069730a20202020202a20696e766f6b656420746f2070726f6475636520746865206f626a65637473206f66206070617468602e202049662060637573746f6d697a6572602072657475726e732060756e646566696e6564600a20202020202a2070617468206372656174696f6e2069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a20286e7356616c75652c206b65792c206e734f626a656374292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b7d3b0a20202020202a0a20202020202a205f2e75706461746557697468286f626a6563742c20275b305d5b315d272c205f2e636f6e7374616e7428276127292c204f626a656374293b0a20202020202a202f2f203d3e207b202730273a207b202731273a20276127207d207d0a20202020202a2f0a2020202066756e6374696f6e2075706461746557697468286f626a6563742c20706174682c20757064617465722c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365557064617465286f626a6563742c20706174682c206361737446756e6374696f6e2875706461746572292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274792076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e76616c756573286e657720466f6f293b0a20202020202a202f2f203d3e205b312c20325d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a205f2e76616c7565732827686927293b0a20202020202a202f2f203d3e205b2768272c202769275d0a20202020202a2f0a2020202066756e6374696f6e2076616c756573286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736556616c756573286f626a6563742c206b657973286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274790a20202020202a2076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e76616c756573496e286e657720466f6f293b0a20202020202a202f2f203d3e205b312c20322c20335d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e2076616c756573496e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736556616c756573286f626a6563742c206b657973496e286f626a65637429293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20436c616d707320606e756d626572602077697468696e2074686520696e636c757369766520606c6f7765726020616e64206075707065726020626f756e64732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636c616d702e0a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765725d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636c616d706564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636c616d70282d31302c202d352c2035293b0a20202020202a202f2f203d3e202d350a20202020202a0a20202020202a205f2e636c616d702831302c202d352c2035293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e20636c616d70286e756d6265722c206c6f7765722c20757070657229207b0a202020202020696620287570706572203d3d3d20756e646566696e656429207b0a20202020202020207570706572203d206c6f7765723b0a20202020202020206c6f776572203d20756e646566696e65643b0a2020202020207d0a20202020202069662028757070657220213d3d20756e646566696e656429207b0a20202020202020207570706572203d20746f4e756d626572287570706572293b0a20202020202020207570706572203d207570706572203d3d3d207570706572203f207570706572203a20303b0a2020202020207d0a202020202020696620286c6f77657220213d3d20756e646566696e656429207b0a20202020202020206c6f776572203d20746f4e756d626572286c6f776572293b0a20202020202020206c6f776572203d206c6f776572203d3d3d206c6f776572203f206c6f776572203a20303b0a2020202020207d0a20202020202072657475726e2062617365436c616d7028746f4e756d626572286e756d626572292c206c6f7765722c207570706572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620606e60206973206265747765656e206073746172746020616e6420757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e2049660a20202020202a2060656e6460206973206e6f74207370656369666965642c20697427732073657420746f206073746172746020776974682060737461727460207468656e2073657420746f206030602e0a20202020202a20496620607374617274602069732067726561746572207468616e2060656e64602074686520706172616d7320617265207377617070656420746f20737570706f72740a20202020202a206e656761746976652072616e6765732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e332e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606e756d6265726020697320696e207468652072616e67652c20656c7365206066616c7365602e0a20202020202a2040736565205f2e72616e67652c205f2e72616e676552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e52616e676528332c20322c2034293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528342c2038293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528342c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e676528322c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e676528312e322c2032293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528352e322c2034293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e6765282d332c202d322c202d36293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20696e52616e6765286e756d6265722c2073746172742c20656e6429207b0a2020202020207374617274203d20746f46696e697465287374617274293b0a20202020202069662028656e64203d3d3d20756e646566696e656429207b0a2020202020202020656e64203d2073746172743b0a20202020202020207374617274203d20303b0a2020202020207d20656c7365207b0a2020202020202020656e64203d20746f46696e69746528656e64293b0a2020202020207d0a2020202020206e756d626572203d20746f4e756d626572286e756d626572293b0a20202020202072657475726e2062617365496e52616e6765286e756d6265722c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a2050726f647563657320612072616e646f6d206e756d626572206265747765656e2074686520696e636c757369766520606c6f7765726020616e64206075707065726020626f756e64732e0a20202020202a204966206f6e6c79206f6e6520617267756d656e742069732070726f76696465642061206e756d626572206265747765656e2060306020616e642074686520676976656e206e756d6265720a20202020202a2069732072657475726e65642e2049662060666c6f6174696e6760206973206074727565602c206f722065697468657220606c6f77657260206f722060757070657260206172650a20202020202a20666c6f6174732c206120666c6f6174696e672d706f696e74206e756d6265722069732072657475726e656420696e7374656164206f6620616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204a61766153637269707420666f6c6c6f77732074686520494545452d373534207374616e6461726420666f72207265736f6c76696e670a20202020202a20666c6f6174696e672d706f696e742076616c7565732077686963682063616e2070726f6475636520756e657870656374656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e372e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765723d305d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d205b75707065723d315d2054686520757070657220626f756e642e0a20202020202a2040706172616d207b626f6f6c65616e7d205b666c6f6174696e675d20537065636966792072657475726e696e67206120666c6f6174696e672d706f696e74206e756d6265722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652072616e646f6d206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e646f6d28302c2035293b0a20202020202a202f2f203d3e20616e20696e7465676572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d2835293b0a20202020202a202f2f203d3e20616c736f20616e20696e7465676572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d28352c2074727565293b0a20202020202a202f2f203d3e206120666c6f6174696e672d706f696e74206e756d626572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d28312e322c20352e32293b0a20202020202a202f2f203d3e206120666c6f6174696e672d706f696e74206e756d626572206265747765656e20312e3220616e6420352e320a20202020202a2f0a2020202066756e6374696f6e2072616e646f6d286c6f7765722c2075707065722c20666c6f6174696e6729207b0a20202020202069662028666c6f6174696e6720262620747970656f6620666c6f6174696e6720213d2027626f6f6c65616e27202626206973497465726174656543616c6c286c6f7765722c2075707065722c20666c6f6174696e672929207b0a20202020202020207570706572203d20666c6f6174696e67203d20756e646566696e65643b0a2020202020207d0a20202020202069662028666c6f6174696e67203d3d3d20756e646566696e656429207b0a202020202020202069662028747970656f66207570706572203d3d2027626f6f6c65616e2729207b0a20202020202020202020666c6f6174696e67203d2075707065723b0a202020202020202020207570706572203d20756e646566696e65643b0a20202020202020207d0a2020202020202020656c73652069662028747970656f66206c6f776572203d3d2027626f6f6c65616e2729207b0a20202020202020202020666c6f6174696e67203d206c6f7765723b0a202020202020202020206c6f776572203d20756e646566696e65643b0a20202020202020207d0a2020202020207d0a202020202020696620286c6f776572203d3d3d20756e646566696e6564202626207570706572203d3d3d20756e646566696e656429207b0a20202020202020206c6f776572203d20303b0a20202020202020207570706572203d20313b0a2020202020207d0a202020202020656c7365207b0a20202020202020206c6f776572203d20746f46696e697465286c6f776572293b0a2020202020202020696620287570706572203d3d3d20756e646566696e656429207b0a202020202020202020207570706572203d206c6f7765723b0a202020202020202020206c6f776572203d20303b0a20202020202020207d20656c7365207b0a202020202020202020207570706572203d20746f46696e697465287570706572293b0a20202020202020207d0a2020202020207d0a202020202020696620286c6f776572203e20757070657229207b0a20202020202020207661722074656d70203d206c6f7765723b0a20202020202020206c6f776572203d2075707065723b0a20202020202020207570706572203d2074656d703b0a2020202020207d0a20202020202069662028666c6f6174696e67207c7c206c6f77657220252031207c7c2075707065722025203129207b0a20202020202020207661722072616e64203d206e617469766552616e646f6d28293b0a202020202020202072657475726e206e61746976654d696e286c6f776572202b202872616e64202a20287570706572202d206c6f776572202b20667265655061727365466c6f6174282731652d27202b20282872616e64202b202727292e6c656e677468202d2031292929292c207570706572293b0a2020202020207d0a20202020202072657475726e206261736552616e646f6d286c6f7765722c207570706572293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f205b63616d656c20636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43616d656c43617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652063616d656c20636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e63616d656c436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a0a20202020202a205f2e63616d656c4361736528272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a0a20202020202a205f2e63616d656c4361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a2f0a202020207661722063616d656c43617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a202020202020776f7264203d20776f72642e746f4c6f7765724361736528293b0a20202020202072657475726e20726573756c74202b2028696e646578203f206361706974616c697a6528776f726429203a20776f7264293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f207570706572206361736520616e64207468652072656d61696e696e670a20202020202a20746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206361706974616c697a652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206361706974616c697a656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6361706974616c697a6528274652454427293b0a20202020202a202f2f203d3e202746726564270a20202020202a2f0a2020202066756e6374696f6e206361706974616c697a6528737472696e6729207b0a20202020202072657475726e207570706572466972737428746f537472696e6728737472696e67292e746f4c6f776572436173652829293b0a202020207d0a0a202020202f2a2a0a20202020202a20446562757272732060737472696e676020627920636f6e76657274696e670a20202020202a205b4c6174696e2d3120537570706c656d656e745d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c6174696e2d315f537570706c656d656e745f28556e69636f64655f626c6f636b29234368617261637465725f7461626c65290a20202020202a20616e64205b4c6174696e20457874656e6465642d415d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c6174696e5f457874656e6465642d41290a20202020202a206c65747465727320746f206261736963204c6174696e206c65747465727320616e642072656d6f76696e670a20202020202a205b636f6d62696e696e6720646961637269746963616c206d61726b735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b73292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206465627572722e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520646562757272656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646562757272282764c3a96ac3a020767527293b0a20202020202a202f2f203d3e202764656a61207675270a20202020202a2f0a2020202066756e6374696f6e2064656275727228737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e20737472696e6720262620737472696e672e7265706c6163652872654c6174696e2c206465627572724c6574746572292e7265706c616365287265436f6d626f4d61726b2c202727293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060737472696e676020656e647320776974682074686520676976656e2074617267657420737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d205b7461726765745d2054686520737472696e6720746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b706f736974696f6e3d737472696e672e6c656e6774685d2054686520706f736974696f6e20746f2073656172636820757020746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662060737472696e676020656e647320776974682060746172676574602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c20276327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c202762272c2032293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20656e64735769746828737472696e672c207461726765742c20706f736974696f6e29207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a202020202020746172676574203d2062617365546f537472696e6728746172676574293b0a0a202020202020766172206c656e677468203d20737472696e672e6c656e6774683b0a202020202020706f736974696f6e203d20706f736974696f6e203d3d3d20756e646566696e65640a20202020202020203f206c656e6774680a20202020202020203a2062617365436c616d7028746f496e746567657228706f736974696f6e292c20302c206c656e677468293b0a0a20202020202076617220656e64203d20706f736974696f6e3b0a202020202020706f736974696f6e202d3d207461726765742e6c656e6774683b0a20202020202072657475726e20706f736974696f6e203e3d203020262620737472696e672e736c69636528706f736974696f6e2c20656e6429203d3d207461726765743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473207468652063686172616374657273202226222c20223c222c20223e222c202722272c20616e642022272220696e2060737472696e676020746f2074686569720a20202020202a20636f72726573706f6e64696e672048544d4c20656e7469746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f206f7468657220636861726163746572732061726520657363617065642e20546f20657363617065206164646974696f6e616c0a20202020202a20636861726163746572732075736520612074686972642d7061727479206c696272617279206c696b65205b5f68655f5d2868747470733a2f2f6d7468732e62652f6865292e0a20202020202a0a20202020202a2054686f7567682074686520223e2220636861726163746572206973206573636170656420666f722073796d6d657472792c2063686172616374657273206c696b650a20202020202a20223e2220616e6420222f2220646f6e2774206e656564206573636170696e6720696e2048544d4c20616e642068617665206e6f207370656369616c206d65616e696e670a20202020202a20756e6c65737320746865792772652070617274206f66206120746167206f7220756e71756f746564206174747269627574652076616c75652e205365650a20202020202a205b4d6174686961732042796e656e7327732061727469636c655d2868747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f616d626967756f75732d616d70657273616e6473290a20202020202a2028756e646572202273656d692d72656c617465642066756e2066616374222920666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a205768656e20776f726b696e6720776974682048544d4c20796f752073686f756c6420616c776179730a20202020202a205b71756f7465206174747269627574652076616c7565735d28687474703a2f2f776f6e6b6f2e636f6d2f706f73742f68746d6c2d6573636170696e672920746f207265647563650a20202020202a2058535320766563746f72732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6573636170652827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e2027667265642c206261726e65792c2026616d703b20706562626c6573270a20202020202a2f0a2020202066756e6374696f6e2065736361706528737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e67202626207265486173556e6573636170656448746d6c2e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c616365287265556e6573636170656448746d6c2c2065736361706548746d6c43686172290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a204573636170657320746865206052656745787060207370656369616c206368617261637465727320225e222c202224222c20225c222c20222e222c20222a222c20222b222c0a20202020202a20223f222c202228222c202229222c20225b222c20225d222c20227b222c20227d222c20616e6420227c2220696e2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e65736361706552656745787028275b6c6f646173685d2868747470733a2f2f6c6f646173682e636f6d2f2927293b0a20202020202a202f2f203d3e20275c5b6c6f646173685c5d5c2868747470733a2f2f6c6f646173685c2e636f6d2f5c29270a20202020202a2f0a2020202066756e6374696f6e2065736361706552656745787028737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e67202626207265486173526567457870436861722e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c616365287265526567457870436861722c20275c5c242627290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b6b6562616220636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c65747465725f63617365235370656369616c5f636173655f7374796c6573292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206b6562616220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6b65626162436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a0a20202020202a205f2e6b65626162436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a0a20202020202a205f2e6b656261624361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a2f0a20202020766172206b6562616243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272d27203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c2061732073706163652073657061726174656420776f7264732c20746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206c6f77657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c6f7765724361736528272d2d466f6f2d4261722d2d27293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a0a20202020202a205f2e6c6f776572436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a0a20202020202a205f2e6c6f7765724361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a2f0a20202020766172206c6f77657243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c6f776572466972737428274672656427293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a205f2e6c6f776572466972737428274652454427293b0a20202020202a202f2f203d3e202766524544270a20202020202a2f0a20202020766172206c6f7765724669727374203d206372656174654361736546697273742827746f4c6f7765724361736527293b0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865206c65667420616e6420726967687420736964657320696620697427732073686f72746572207468616e20606c656e677468602e0a20202020202a2050616464696e67206368617261637465727320617265207472756e636174656420696620746865792063616e2774206265206576656e6c79206469766964656420627920606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7061642827616263272c2038293b0a20202020202a202f2f203d3e20272020616263202020270a20202020202a0a20202020202a205f2e7061642827616263272c20382c20275f2d27293b0a20202020202a202f2f203d3e20275f2d6162635f2d5f270a20202020202a0a20202020202a205f2e7061642827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e2070616428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202069662028216c656e677468207c7c207374724c656e677468203e3d206c656e67746829207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a202020202020766172206d6964203d20286c656e677468202d207374724c656e67746829202f20323b0a20202020202072657475726e20280a202020202020202063726561746550616464696e67286e6174697665466c6f6f72286d6964292c20636861727329202b0a2020202020202020737472696e67202b0a202020202020202063726561746550616464696e67286e61746976654365696c286d6964292c206368617273290a202020202020293b0a202020207d0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865207269676874207369646520696620697427732073686f72746572207468616e20606c656e677468602e2050616464696e670a20202020202a206368617261637465727320617265207472756e636174656420696620746865792065786365656420606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e706164456e642827616263272c2036293b0a20202020202a202f2f203d3e2027616263202020270a20202020202a0a20202020202a205f2e706164456e642827616263272c20362c20275f2d27293b0a20202020202a202f2f203d3e20276162635f2d5f270a20202020202a0a20202020202a205f2e706164456e642827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e20706164456e6428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202072657475726e20286c656e677468202626207374724c656e677468203c206c656e677468290a20202020202020203f2028737472696e67202b2063726561746550616464696e67286c656e677468202d207374724c656e6774682c20636861727329290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865206c656674207369646520696620697427732073686f72746572207468616e20606c656e677468602e2050616464696e670a20202020202a206368617261637465727320617265207472756e636174656420696620746865792065786365656420606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e70616453746172742827616263272c2036293b0a20202020202a202f2f203d3e2027202020616263270a20202020202a0a20202020202a205f2e70616453746172742827616263272c20362c20275f2d27293b0a20202020202a202f2f203d3e20275f2d5f616263270a20202020202a0a20202020202a205f2e70616453746172742827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e20706164537461727428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202072657475726e20286c656e677468202626207374724c656e677468203c206c656e677468290a20202020202020203f202863726561746550616464696e67286c656e677468202d207374724c656e6774682c20636861727329202b20737472696e67290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f20616e20696e7465676572206f6620746865207370656369666965642072616469782e20496620607261646978602069730a20202020202a2060756e646566696e656460206f72206030602c20612060726164697860206f662060313060206973207573656420756e6c657373206076616c75656020697320610a20202020202a2068657861646563696d616c2c20696e207768696368206361736520612060726164697860206f66206031366020697320757365642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420616c69676e732077697468207468650a20202020202a205b45533520696d706c656d656e746174696f6e5d2868747470733a2f2f6573352e6769746875622e696f2f237831352e312e322e3229206f6620607061727365496e74602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a20202020202a2040706172616d207b6e756d6265727d205b72616469783d31305d2054686520726164697820746f20696e74657270726574206076616c7565602062792e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7061727365496e742827303827293b0a20202020202a202f2f203d3e20380a20202020202a0a20202020202a205f2e6d6170285b2736272c20273038272c20273130275d2c205f2e7061727365496e74293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e207061727365496e7428737472696e672c2072616469782c20677561726429207b0a202020202020696620286775617264207c7c207261646978203d3d206e756c6c29207b0a20202020202020207261646978203d20303b0a2020202020207d20656c73652069662028726164697829207b0a20202020202020207261646978203d202b72616469783b0a2020202020207d0a20202020202072657475726e206e61746976655061727365496e7428746f537472696e6728737472696e67292e7265706c6163652872655472696d53746172742c202727292c207261646978207c7c2030293b0a202020207d0a0a202020202f2a2a0a20202020202a20526570656174732074686520676976656e20737472696e6720606e602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207265706561742e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f662074696d657320746f207265706561742074686520737472696e672e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520726570656174656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72657065617428272a272c2033293b0a20202020202a202f2f203d3e20272a2a2a270a20202020202a0a20202020202a205f2e7265706561742827616263272c2032293b0a20202020202a202f2f203d3e2027616263616263270a20202020202a0a20202020202a205f2e7265706561742827616263272c2030293b0a20202020202a202f2f203d3e2027270a20202020202a2f0a2020202066756e6374696f6e2072657065617428737472696e672c206e2c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c28737472696e672c206e2c20677561726429203a206e203d3d3d20756e646566696e65642929207b0a20202020202020206e203d20313b0a2020202020207d20656c7365207b0a20202020202020206e203d20746f496e7465676572286e293b0a2020202020207d0a20202020202072657475726e206261736552657065617428746f537472696e6728737472696e67292c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a205265706c61636573206d61746368657320666f7220607061747465726e6020696e2060737472696e6760207769746820607265706c6163656d656e74602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60537472696e67237265706c616365605d2868747470733a2f2f6d646e2e696f2f537472696e672f7265706c616365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206d6f646966792e0a20202020202a2040706172616d207b5265674578707c737472696e677d207061747465726e20546865207061747465726e20746f207265706c6163652e0a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d207265706c6163656d656e7420546865206d61746368207265706c6163656d656e742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206d6f64696669656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7265706c616365282748692046726564272c202746726564272c20274261726e657927293b0a20202020202a202f2f203d3e20274869204261726e6579270a20202020202a2f0a2020202066756e6374696f6e207265706c6163652829207b0a2020202020207661722061726773203d20617267756d656e74732c0a20202020202020202020737472696e67203d20746f537472696e6728617267735b305d293b0a0a20202020202072657475726e20617267732e6c656e677468203c2033203f20737472696e67203a20737472696e672e7265706c61636528617267735b315d2c20617267735b325d293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b736e616b6520636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f536e616b655f63617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520736e616b6520636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736e616b65436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a0a20202020202a205f2e736e616b65436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a0a20202020202a205f2e736e616b654361736528272d2d464f4f2d4241522d2d27293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a2f0a2020202076617220736e616b6543617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20275f27203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2053706c6974732060737472696e67602062792060736570617261746f72602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60537472696e672373706c6974605d2868747470733a2f2f6d646e2e696f2f537472696e672f73706c6974292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f2073706c69742e0a20202020202a2040706172616d207b5265674578707c737472696e677d20736570617261746f722054686520736570617261746f72207061747465726e20746f2073706c69742062792e0a20202020202a2040706172616d207b6e756d6265727d205b6c696d69745d20546865206c656e67746820746f207472756e6361746520726573756c747320746f2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520737472696e67207365676d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73706c69742827612d622d63272c20272d272c2032293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2073706c697428737472696e672c20736570617261746f722c206c696d697429207b0a202020202020696620286c696d697420262620747970656f66206c696d697420213d20276e756d62657227202626206973497465726174656543616c6c28737472696e672c20736570617261746f722c206c696d69742929207b0a2020202020202020736570617261746f72203d206c696d6974203d20756e646566696e65643b0a2020202020207d0a2020202020206c696d6974203d206c696d6974203d3d3d20756e646566696e6564203f204d41585f41525241595f4c454e475448203a206c696d6974203e3e3e20303b0a20202020202069662028216c696d697429207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620280a202020202020202020202020747970656f6620736570617261746f72203d3d2027737472696e6727207c7c0a20202020202020202020202028736570617261746f7220213d206e756c6c2026262021697352656745787028736570617261746f7229290a202020202020202020202929207b0a2020202020202020736570617261746f72203d2062617365546f537472696e6728736570617261746f72293b0a20202020202020206966202821736570617261746f7220262620686173556e69636f646528737472696e672929207b0a2020202020202020202072657475726e2063617374536c69636528737472696e67546f417272617928737472696e67292c20302c206c696d6974293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20737472696e672e73706c697428736570617261746f722c206c696d6974293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b737461727420636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c65747465725f63617365235374796c69737469635f6f725f7370656369616c697365645f7573616765292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e312e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520737461727420636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73746172744361736528272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e2027466f6f20426172270a20202020202a0a20202020202a205f2e7374617274436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027466f6f20426172270a20202020202a0a20202020202a205f2e73746172744361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a2f0a2020202076617220737461727443617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b207570706572466972737428776f7264293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b732069662060737472696e67602073746172747320776974682074686520676976656e2074617267657420737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d205b7461726765745d2054686520737472696e6720746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b706f736974696f6e3d305d2054686520706f736974696f6e20746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662060737472696e67602073746172747320776974682060746172676574602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c202762272c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e207374617274735769746828737472696e672c207461726765742c20706f736974696f6e29207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a202020202020706f736974696f6e203d20706f736974696f6e203d3d206e756c6c0a20202020202020203f20300a20202020202020203a2062617365436c616d7028746f496e746567657228706f736974696f6e292c20302c20737472696e672e6c656e677468293b0a0a202020202020746172676574203d2062617365546f537472696e6728746172676574293b0a20202020202072657475726e20737472696e672e736c69636528706f736974696f6e2c20706f736974696f6e202b207461726765742e6c656e67746829203d3d207461726765743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636f6d70696c65642074656d706c6174652066756e6374696f6e20746861742063616e20696e746572706f6c61746520646174612070726f706572746965730a20202020202a20696e2022696e746572706f6c617465222064656c696d69746572732c2048544d4c2d65736361706520696e746572706f6c6174656420646174612070726f7065727469657320696e0a20202020202a2022657363617065222064656c696d69746572732c20616e642065786563757465204a61766153637269707420696e20226576616c75617465222064656c696d69746572732e20446174610a20202020202a2070726f70657274696573206d61792062652061636365737365642061732066726565207661726961626c657320696e207468652074656d706c6174652e20496620612073657474696e670a20202020202a206f626a65637420697320676976656e2c2069742074616b657320707265636564656e6365206f76657220605f2e74656d706c61746553657474696e6773602076616c7565732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496e2074686520646576656c6f706d656e74206275696c6420605f2e74656d706c61746560207574696c697a65730a20202020202a205b736f7572636555524c735d28687474703a2f2f7777772e68746d6c35726f636b732e636f6d2f656e2f7475746f7269616c732f646576656c6f706572746f6f6c732f736f757263656d6170732f23746f632d736f7572636575726c290a20202020202a20666f722065617369657220646562756767696e672e0a20202020202a0a20202020202a20466f72206d6f726520696e666f726d6174696f6e206f6e20707265636f6d70696c696e672074656d706c61746573207365650a20202020202a205b6c6f64617368277320637573746f6d206275696c647320646f63756d656e746174696f6e5d2868747470733a2f2f6c6f646173682e636f6d2f637573746f6d2d6275696c6473292e0a20202020202a0a20202020202a20466f72206d6f726520696e666f726d6174696f6e206f6e204368726f6d6520657874656e73696f6e2073616e64626f786573207365650a20202020202a205b4368726f6d65277320657874656e73696f6e7320646f63756d656e746174696f6e5d2868747470733a2f2f646576656c6f7065722e6368726f6d652e636f6d2f657874656e73696f6e732f73616e64626f78696e674576616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d205468652074656d706c61746520737472696e672e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e6573636170653d5f2e74656d706c61746553657474696e67732e6573636170655d0a20202020202a20205468652048544d4c2022657363617065222064656c696d697465722e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e6576616c756174653d5f2e74656d706c61746553657474696e67732e6576616c756174655d0a20202020202a202054686520226576616c75617465222064656c696d697465722e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e732e696d706f7274733d5f2e74656d706c61746553657474696e67732e696d706f7274735d0a20202020202a2020416e206f626a65637420746f20696d706f727420696e746f207468652074656d706c6174652061732066726565207661726961626c65732e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e696e746572706f6c6174653d5f2e74656d706c61746553657474696e67732e696e746572706f6c6174655d0a20202020202a20205468652022696e746572706f6c617465222064656c696d697465722e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e736f7572636555524c3d276c6f646173682e74656d706c617465536f75726365735b6e5d275d0a20202020202a202054686520736f7572636555524c206f662074686520636f6d70696c65642074656d706c6174652e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e7661726961626c653d276f626a275d0a20202020202a20205468652064617461206f626a656374207661726961626c65206e616d652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732074686520636f6d70696c65642074656d706c6174652066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f20557365207468652022696e746572706f6c617465222064656c696d6974657220746f20637265617465206120636f6d70696c65642074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f203c253d207573657220253e2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276672656427207d293b0a20202020202a202f2f203d3e202768656c6c6f206672656421270a20202020202a0a20202020202a202f2f20557365207468652048544d4c2022657363617065222064656c696d6974657220746f2065736361706520646174612070726f70657274792076616c7565732e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c623e3c252d2076616c756520253e3c2f623e27293b0a20202020202a20636f6d70696c6564287b202776616c7565273a20273c7363726970743e27207d293b0a20202020202a202f2f203d3e20273c623e266c743b7363726970742667743b3c2f623e270a20202020202a0a20202020202a202f2f205573652074686520226576616c75617465222064656c696d6974657220746f2065786563757465204a61766153637269707420616e642067656e65726174652048544d4c2e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c25205f2e666f72456163682875736572732c2066756e6374696f6e287573657229207b20253e3c6c693e3c252d207573657220253e3c2f6c693e3c25207d293b20253e27293b0a20202020202a20636f6d70696c6564287b20277573657273273a205b2766726564272c20276261726e6579275d207d293b0a20202020202a202f2f203d3e20273c6c693e667265643c2f6c693e3c6c693e6261726e65793c2f6c693e270a20202020202a0a20202020202a202f2f205573652074686520696e7465726e616c20607072696e74602066756e6374696f6e20696e20226576616c75617465222064656c696d69746572732e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c25207072696e74282268656c6c6f2022202b2075736572293b20253e2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276261726e657927207d293b0a20202020202a202f2f203d3e202768656c6c6f206261726e657921270a20202020202a0a20202020202a202f2f20557365207468652045532074656d706c617465206c69746572616c2064656c696d6974657220617320616e2022696e746572706f6c617465222064656c696d697465722e0a20202020202a202f2f2044697361626c6520737570706f7274206279207265706c6163696e67207468652022696e746572706f6c617465222064656c696d697465722e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f20247b2075736572207d2127293b0a20202020202a20636f6d70696c6564287b202775736572273a2027706562626c657327207d293b0a20202020202a202f2f203d3e202768656c6c6f20706562626c657321270a20202020202a0a20202020202a202f2f20557365206261636b736c617368657320746f2074726561742064656c696d697465727320617320706c61696e20746578742e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c253d20225c5c3c252d2076616c756520255c5c3e2220253e27293b0a20202020202a20636f6d70696c6564287b202776616c7565273a202769676e6f72656427207d293b0a20202020202a202f2f203d3e20273c252d2076616c756520253e270a20202020202a0a20202020202a202f2f20557365207468652060696d706f72747360206f7074696f6e20746f20696d706f727420606a51756572796020617320606a71602e0a20202020202a207661722074657874203d20273c25206a712e656163682875736572732c2066756e6374696f6e287573657229207b20253e3c6c693e3c252d207573657220253e3c2f6c693e3c25207d293b20253e273b0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528746578742c207b2027696d706f727473273a207b20276a71273a206a5175657279207d207d293b0a20202020202a20636f6d70696c6564287b20277573657273273a205b2766726564272c20276261726e6579275d207d293b0a20202020202a202f2f203d3e20273c6c693e667265643c2f6c693e3c6c693e6261726e65793c2f6c693e270a20202020202a0a20202020202a202f2f20557365207468652060736f7572636555524c60206f7074696f6e20746f2073706563696679206120637573746f6d20736f7572636555524c20666f72207468652074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f203c253d207573657220253e21272c207b2027736f7572636555524c273a20272f62617369632f6772656574696e672e6a737427207d293b0a20202020202a20636f6d70696c65642864617461293b0a20202020202a202f2f203d3e2046696e642074686520736f75726365206f6620226772656574696e672e6a73742220756e6465722074686520536f757263657320746162206f72205265736f75726365732070616e656c206f66207468652077656220696e73706563746f722e0a20202020202a0a20202020202a202f2f205573652074686520607661726961626c6560206f7074696f6e20746f20656e73757265206120776974682d73746174656d656e742069736e2774207573656420696e2074686520636f6d70696c65642074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528276869203c253d20646174612e7573657220253e21272c207b20277661726961626c65273a20276461746127207d293b0a20202020202a20636f6d70696c65642e736f757263653b0a20202020202a202f2f203d3e2066756e6374696f6e286461746129207b0a20202020202a202f2f202020766172205f5f742c205f5f70203d2027273b0a20202020202a202f2f2020205f5f70202b3d202768692027202b2028285f5f74203d202820646174612e75736572202929203d3d206e756c6c203f202727203a205f5f7429202b202721273b0a20202020202a202f2f20202072657475726e205f5f703b0a20202020202a202f2f207d0a20202020202a0a20202020202a202f2f2055736520637573746f6d2074656d706c6174652064656c696d69746572732e0a20202020202a205f2e74656d706c61746553657474696e67732e696e746572706f6c617465203d202f7b7b285b5c735c535d2b3f297d7d2f673b0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f207b7b2075736572207d7d2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276d7573746163686527207d293b0a20202020202a202f2f203d3e202768656c6c6f206d7573746163686521270a20202020202a0a20202020202a202f2f20557365207468652060736f75726365602070726f706572747920746f20696e6c696e6520636f6d70696c65642074656d706c6174657320666f72206d65616e696e6766756c0a20202020202a202f2f206c696e65206e756d6265727320696e206572726f72206d6573736167657320616e6420737461636b207472616365732e0a20202020202a2066732e777269746546696c6553796e6328706174682e6a6f696e2870726f636573732e63776428292c20276a73742e6a7327292c20275c0a20202020202a202020766172204a5354203d207b5c0a20202020202a2020202020226d61696e223a2027202b205f2e74656d706c617465286d61696e54657874292e736f75726365202b20275c0a20202020202a2020207d3b5c0a20202020202a2027293b0a20202020202a2f0a2020202066756e6374696f6e2074656d706c61746528737472696e672c206f7074696f6e732c20677561726429207b0a2020202020202f2f204261736564206f6e204a6f686e20526573696727732060746d706c6020696d706c656d656e746174696f6e0a2020202020202f2f2028687474703a2f2f656a6f686e2e6f72672f626c6f672f6a6176617363726970742d6d6963726f2d74656d706c6174696e672f290a2020202020202f2f20616e64204c6175726120446f6b746f726f7661277320646f542e6a73202868747470733a2f2f6769746875622e636f6d2f6f6c61646f2f646f54292e0a2020202020207661722073657474696e6773203d206c6f646173682e74656d706c61746553657474696e67733b0a0a202020202020696620286775617264202626206973497465726174656543616c6c28737472696e672c206f7074696f6e732c2067756172642929207b0a20202020202020206f7074696f6e73203d20756e646566696e65643b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206f7074696f6e73203d2061737369676e496e57697468287b7d2c206f7074696f6e732c2073657474696e67732c20637573746f6d44656661756c747341737369676e496e293b0a0a20202020202076617220696d706f727473203d2061737369676e496e57697468287b7d2c206f7074696f6e732e696d706f7274732c2073657474696e67732e696d706f7274732c20637573746f6d44656661756c747341737369676e496e292c0a20202020202020202020696d706f7274734b657973203d206b65797328696d706f727473292c0a20202020202020202020696d706f72747356616c756573203d206261736556616c75657328696d706f7274732c20696d706f7274734b657973293b0a0a2020202020207661722069734573636170696e672c0a2020202020202020202069734576616c756174696e672c0a20202020202020202020696e646578203d20302c0a20202020202020202020696e746572706f6c617465203d206f7074696f6e732e696e746572706f6c617465207c7c2072654e6f4d617463682c0a20202020202020202020736f75726365203d20225f5f70202b3d2027223b0a0a2020202020202f2f20436f6d70696c65207468652072656765787020746f206d6174636820656163682064656c696d697465722e0a20202020202076617220726544656c696d6974657273203d20526567457870280a2020202020202020286f7074696f6e732e657363617065207c7c2072654e6f4d61746368292e736f75726365202b20277c27202b0a2020202020202020696e746572706f6c6174652e736f75726365202b20277c27202b0a202020202020202028696e746572706f6c617465203d3d3d207265496e746572706f6c617465203f207265457354656d706c617465203a2072654e6f4d61746368292e736f75726365202b20277c27202b0a2020202020202020286f7074696f6e732e6576616c75617465207c7c2072654e6f4d61746368292e736f75726365202b20277c24270a2020202020202c20276727293b0a0a2020202020202f2f20557365206120736f7572636555524c20666f722065617369657220646562756767696e672e0a20202020202076617220736f7572636555524c203d20272f2f2320736f7572636555524c3d27202b0a20202020202020202827736f7572636555524c2720696e206f7074696f6e730a202020202020202020203f206f7074696f6e732e736f7572636555524c0a202020202020202020203a2028276c6f646173682e74656d706c617465536f75726365735b27202b20282b2b74656d706c617465436f756e74657229202b20275d27290a202020202020202029202b20275c6e273b0a0a202020202020737472696e672e7265706c61636528726544656c696d69746572732c2066756e6374696f6e286d617463682c2065736361706556616c75652c20696e746572706f6c61746556616c75652c20657354656d706c61746556616c75652c206576616c7561746556616c75652c206f666673657429207b0a2020202020202020696e746572706f6c61746556616c7565207c7c2028696e746572706f6c61746556616c7565203d20657354656d706c61746556616c7565293b0a0a20202020202020202f2f20457363617065206368617261637465727320746861742063616e277420626520696e636c7564656420696e20737472696e67206c69746572616c732e0a2020202020202020736f75726365202b3d20737472696e672e736c69636528696e6465782c206f6666736574292e7265706c616365287265556e65736361706564537472696e672c20657363617065537472696e6743686172293b0a0a20202020202020202f2f205265706c6163652064656c696d6974657273207769746820736e6970706574732e0a20202020202020206966202865736361706556616c756529207b0a2020202020202020202069734573636170696e67203d20747275653b0a20202020202020202020736f75726365202b3d202227202b5c6e5f5f652822202b2065736361706556616c7565202b202229202b5c6e27223b0a20202020202020207d0a2020202020202020696620286576616c7561746556616c756529207b0a2020202020202020202069734576616c756174696e67203d20747275653b0a20202020202020202020736f75726365202b3d2022273b5c6e22202b206576616c7561746556616c7565202b20223b5c6e5f5f70202b3d2027223b0a20202020202020207d0a202020202020202069662028696e746572706f6c61746556616c756529207b0a20202020202020202020736f75726365202b3d202227202b5c6e28285f5f74203d202822202b20696e746572706f6c61746556616c7565202b20222929203d3d206e756c6c203f202727203a205f5f7429202b5c6e27223b0a20202020202020207d0a2020202020202020696e646578203d206f6666736574202b206d617463682e6c656e6774683b0a0a20202020202020202f2f20546865204a5320656e67696e6520656d62656464656420696e2041646f62652070726f6475637473206e6565647320606d61746368602072657475726e656420696e0a20202020202020202f2f206f7264657220746f2070726f647563652074686520636f727265637420606f6666736574602076616c75652e0a202020202020202072657475726e206d617463683b0a2020202020207d293b0a0a202020202020736f75726365202b3d2022273b5c6e223b0a0a2020202020202f2f20496620607661726961626c6560206973206e6f74207370656369666965642077726170206120776974682d73746174656d656e742061726f756e64207468652067656e6572617465640a2020202020202f2f20636f646520746f20616464207468652064617461206f626a65637420746f2074686520746f70206f66207468652073636f706520636861696e2e0a202020202020766172207661726961626c65203d206f7074696f6e732e7661726961626c653b0a20202020202069662028217661726961626c6529207b0a2020202020202020736f75726365203d20277769746820286f626a29207b5c6e27202b20736f75726365202b20275c6e7d5c6e273b0a2020202020207d0a2020202020202f2f20436c65616e757020636f646520627920737472697070696e6720656d70747920737472696e67732e0a202020202020736f75726365203d202869734576616c756174696e67203f20736f757263652e7265706c616365287265456d707479537472696e674c656164696e672c20272729203a20736f75726365290a20202020202020202e7265706c616365287265456d707479537472696e674d6964646c652c2027243127290a20202020202020202e7265706c616365287265456d707479537472696e67547261696c696e672c202724313b27293b0a0a2020202020202f2f204672616d6520636f6465206173207468652066756e6374696f6e20626f64792e0a202020202020736f75726365203d202766756e6374696f6e2827202b20287661726961626c65207c7c20276f626a2729202b202729207b5c6e27202b0a2020202020202020287661726961626c650a202020202020202020203f2027270a202020202020202020203a20276f626a207c7c20286f626a203d207b7d293b5c6e270a202020202020202029202b0a202020202020202022766172205f5f742c205f5f70203d20272722202b0a20202020202020202869734573636170696e670a20202020202020202020203f20272c205f5f65203d205f2e657363617065270a20202020202020202020203a2027270a202020202020202029202b0a20202020202020202869734576616c756174696e670a202020202020202020203f20272c205f5f6a203d2041727261792e70726f746f747970652e6a6f696e3b5c6e27202b0a2020202020202020202020202266756e6374696f6e207072696e742829207b205f5f70202b3d205f5f6a2e63616c6c28617267756d656e74732c20272729207d5c6e220a202020202020202020203a20273b5c6e270a202020202020202029202b0a2020202020202020736f75726365202b0a20202020202020202772657475726e205f5f705c6e7d273b0a0a20202020202076617220726573756c74203d20617474656d70742866756e6374696f6e2829207b0a202020202020202072657475726e2046756e6374696f6e28696d706f7274734b6579732c20736f7572636555524c202b202772657475726e2027202b20736f75726365290a202020202020202020202e6170706c7928756e646566696e65642c20696d706f72747356616c756573293b0a2020202020207d293b0a0a2020202020202f2f2050726f766964652074686520636f6d70696c65642066756e6374696f6e277320736f75726365206279206974732060746f537472696e6760206d6574686f64206f720a2020202020202f2f207468652060736f75726365602070726f7065727479206173206120636f6e76656e69656e636520666f7220696e6c696e696e6720636f6d70696c65642074656d706c617465732e0a202020202020726573756c742e736f75726365203d20736f757263653b0a2020202020206966202869734572726f7228726573756c742929207b0a20202020202020207468726f7720726573756c743b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c20617320612077686f6c652c20746f206c6f7765722063617365206a757374206c696b650a20202020202a205b537472696e6723746f4c6f776572436173655d2868747470733a2f2f6d646e2e696f2f746f4c6f77657243617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206c6f77657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4c6f77657228272d2d466f6f2d4261722d2d27293b0a20202020202a202f2f203d3e20272d2d666f6f2d6261722d2d270a20202020202a0a20202020202a205f2e746f4c6f7765722827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f626172270a20202020202a0a20202020202a205f2e746f4c6f77657228275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e20275f5f666f6f5f6261725f5f270a20202020202a2f0a2020202066756e6374696f6e20746f4c6f7765722876616c756529207b0a20202020202072657475726e20746f537472696e672876616c7565292e746f4c6f7765724361736528293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c20617320612077686f6c652c20746f2075707065722063617365206a757374206c696b650a20202020202a205b537472696e6723746f5570706572436173655d2868747470733a2f2f6d646e2e696f2f746f557070657243617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520757070657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f557070657228272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e20272d2d464f4f2d4241522d2d270a20202020202a0a20202020202a205f2e746f55707065722827666f6f42617227293b0a20202020202a202f2f203d3e2027464f4f424152270a20202020202a0a20202020202a205f2e746f557070657228275f5f666f6f5f6261725f5f27293b0a20202020202a202f2f203d3e20275f5f464f4f5f4241525f5f270a20202020202a2f0a2020202066756e6374696f6e20746f55707065722876616c756529207b0a20202020202072657475726e20746f537472696e672876616c7565292e746f55707065724361736528293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573206c656164696e6720616e6420747261696c696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d28272020616263202027293b0a20202020202a202f2f203d3e2027616263270a20202020202a0a20202020202a205f2e7472696d28272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e2027616263270a20202020202a0a20202020202a205f2e6d6170285b272020666f6f2020272c202720206261722020275d2c205f2e7472696d293b0a20202020202a202f2f203d3e205b27666f6f272c2027626172275d0a20202020202a2f0a2020202066756e6374696f6e207472696d28737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d2c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a2020202020202020202063687253796d626f6c73203d20737472696e67546f4172726179286368617273292c0a202020202020202020207374617274203d2063686172735374617274496e6465782873747253796d626f6c732c2063687253796d626f6c73292c0a20202020202020202020656e64203d206368617273456e64496e6465782873747253796d626f6c732c2063687253796d626f6c7329202b20313b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c2073746172742c20656e64292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320747261696c696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d456e6428272020616263202027293b0a20202020202a202f2f203d3e20272020616263270a20202020202a0a20202020202a205f2e7472696d456e6428272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e20272d5f2d616263270a20202020202a2f0a2020202066756e6374696f6e207472696d456e6428737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d456e642c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a20202020202020202020656e64203d206368617273456e64496e6465782873747253796d626f6c732c20737472696e67546f41727261792863686172732929202b20313b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c20302c20656e64292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573206c656164696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d537461727428272020616263202027293b0a20202020202a202f2f203d3e20276162632020270a20202020202a0a20202020202a205f2e7472696d537461727428272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e20276162632d5f2d270a20202020202a2f0a2020202066756e6374696f6e207472696d537461727428737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d53746172742c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a202020202020202020207374617274203d2063686172735374617274496e6465782873747253796d626f6c732c20737472696e67546f417272617928636861727329293b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c207374617274292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a205472756e63617465732060737472696e67602069662069742773206c6f6e676572207468616e2074686520676976656e206d6178696d756d20737472696e67206c656e6774682e0a20202020202a20546865206c6173742063686172616374657273206f6620746865207472756e636174656420737472696e6720617265207265706c61636564207769746820746865206f6d697373696f6e0a20202020202a20737472696e672077686963682064656661756c747320746f20222e2e2e222e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472756e636174652e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b6e756d6265727d205b6f7074696f6e732e6c656e6774683d33305d20546865206d6178696d756d20737472696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e6f6d697373696f6e3d272e2e2e275d2054686520737472696e6720746f20696e6469636174652074657874206973206f6d69747465642e0a20202020202a2040706172616d207b5265674578707c737472696e677d205b6f7074696f6e732e736570617261746f725d2054686520736570617261746f72207061747465726e20746f207472756e6361746520746f2e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472756e636174656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f27293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c206e65696768626f2e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276c656e677468273a2032342c0a20202020202a20202027736570617261746f72273a202720270a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c2e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276c656e677468273a2032342c0a20202020202a20202027736570617261746f72273a202f2c3f202b2f0a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276f6d697373696f6e273a2027205b2e2e2e5d270a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c206e656967205b2e2e2e5d270a20202020202a2f0a2020202066756e6374696f6e207472756e6361746528737472696e672c206f7074696f6e7329207b0a202020202020766172206c656e677468203d2044454641554c545f5452554e435f4c454e4754482c0a202020202020202020206f6d697373696f6e203d2044454641554c545f5452554e435f4f4d495353494f4e3b0a0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a202020202020202076617220736570617261746f72203d2027736570617261746f722720696e206f7074696f6e73203f206f7074696f6e732e736570617261746f72203a20736570617261746f723b0a20202020202020206c656e677468203d20276c656e6774682720696e206f7074696f6e73203f20746f496e7465676572286f7074696f6e732e6c656e67746829203a206c656e6774683b0a20202020202020206f6d697373696f6e203d20276f6d697373696f6e2720696e206f7074696f6e73203f2062617365546f537472696e67286f7074696f6e732e6f6d697373696f6e29203a206f6d697373696f6e3b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a0a202020202020766172207374724c656e677468203d20737472696e672e6c656e6774683b0a20202020202069662028686173556e69636f646528737472696e672929207b0a20202020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67293b0a20202020202020207374724c656e677468203d2073747253796d626f6c732e6c656e6774683b0a2020202020207d0a202020202020696620286c656e677468203e3d207374724c656e67746829207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a20202020202076617220656e64203d206c656e677468202d20737472696e6753697a65286f6d697373696f6e293b0a20202020202069662028656e64203c203129207b0a202020202020202072657475726e206f6d697373696f6e3b0a2020202020207d0a20202020202076617220726573756c74203d2073747253796d626f6c730a20202020202020203f2063617374536c6963652873747253796d626f6c732c20302c20656e64292e6a6f696e282727290a20202020202020203a20737472696e672e736c69636528302c20656e64293b0a0a20202020202069662028736570617261746f72203d3d3d20756e646566696e656429207b0a202020202020202072657475726e20726573756c74202b206f6d697373696f6e3b0a2020202020207d0a2020202020206966202873747253796d626f6c7329207b0a2020202020202020656e64202b3d2028726573756c742e6c656e677468202d20656e64293b0a2020202020207d0a20202020202069662028697352656745787028736570617261746f722929207b0a202020202020202069662028737472696e672e736c69636528656e64292e73656172636828736570617261746f722929207b0a20202020202020202020766172206d617463682c0a2020202020202020202020202020737562737472696e67203d20726573756c743b0a0a202020202020202020206966202821736570617261746f722e676c6f62616c29207b0a202020202020202020202020736570617261746f72203d2052656745787028736570617261746f722e736f757263652c20746f537472696e67287265466c6167732e6578656328736570617261746f722929202b20276727293b0a202020202020202020207d0a20202020202020202020736570617261746f722e6c617374496e646578203d20303b0a202020202020202020207768696c652028286d61746368203d20736570617261746f722e6578656328737562737472696e67292929207b0a202020202020202020202020766172206e6577456e64203d206d617463682e696e6465783b0a202020202020202020207d0a20202020202020202020726573756c74203d20726573756c742e736c69636528302c206e6577456e64203d3d3d20756e646566696e6564203f20656e64203a206e6577456e64293b0a20202020202020207d0a2020202020207d20656c73652069662028737472696e672e696e6465784f662862617365546f537472696e6728736570617261746f72292c20656e642920213d20656e6429207b0a202020202020202076617220696e646578203d20726573756c742e6c617374496e6465784f6628736570617261746f72293b0a202020202020202069662028696e646578203e202d3129207b0a20202020202020202020726573756c74203d20726573756c742e736c69636528302c20696e646578293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c74202b206f6d697373696f6e3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686520696e7665727365206f6620605f2e657363617065603b2074686973206d6574686f6420636f6e7665727473207468652048544d4c20656e7469746965730a20202020202a206026616d703b602c2060266c743b602c20602667743b602c20602671756f743b602c20616e642060262333393b6020696e2060737472696e676020746f0a20202020202a20746865697220636f72726573706f6e64696e6720636861726163746572732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f206f746865722048544d4c20656e7469746965732061726520756e657363617065642e20546f20756e657363617065206164646974696f6e616c0a20202020202a2048544d4c20656e7469746965732075736520612074686972642d7061727479206c696272617279206c696b65205b5f68655f5d2868747470733a2f2f6d7468732e62652f6865292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e362e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20756e6573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e6573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6573636170652827667265642c206261726e65792c2026616d703b20706562626c657327293b0a20202020202a202f2f203d3e2027667265642c206261726e65792c202620706562626c6573270a20202020202a2f0a2020202066756e6374696f6e20756e65736361706528737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e672026262072654861734573636170656448746d6c2e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c6163652872654573636170656448746d6c2c20756e65736361706548746d6c43686172290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c2061732073706163652073657061726174656420776f7264732c20746f20757070657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520757070657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e75707065724361736528272d2d666f6f2d62617227293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a0a20202020202a205f2e7570706572436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a0a20202020202a205f2e75707065724361736528275f5f666f6f5f6261725f5f27293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a2f0a2020202076617220757070657243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b20776f72642e746f55707065724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f20757070657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7570706572466972737428276672656427293b0a20202020202a202f2f203d3e202746726564270a20202020202a0a20202020202a205f2e7570706572466972737428274652454427293b0a20202020202a202f2f203d3e202746524544270a20202020202a2f0a202020207661722075707065724669727374203d206372656174654361736546697273742827746f55707065724361736527293b0a0a202020202f2a2a0a20202020202a2053706c6974732060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b5265674578707c737472696e677d205b7061747465726e5d20546865207061747465726e20746f206d6174636820776f7264732e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e776f7264732827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e205b2766726564272c20276261726e6579272c2027706562626c6573275d0a20202020202a0a20202020202a205f2e776f7264732827667265642c206261726e65792c202620706562626c6573272c202f5b5e2c205d2b2f67293b0a20202020202a202f2f203d3e205b2766726564272c20276261726e6579272c202726272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e20776f72647328737472696e672c207061747465726e2c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020207061747465726e203d206775617264203f20756e646566696e6564203a207061747465726e3b0a0a202020202020696620287061747465726e203d3d3d20756e646566696e656429207b0a202020202020202072657475726e20686173556e69636f6465576f726428737472696e6729203f20756e69636f6465576f72647328737472696e6729203a206173636969576f72647328737472696e67293b0a2020202020207d0a20202020202072657475726e20737472696e672e6d61746368287061747465726e29207c7c205b5d3b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20417474656d70747320746f20696e766f6b65206066756e63602c2072657475726e696e67206569746865722074686520726573756c74206f722074686520636175676874206572726f720a20202020202a206f626a6563742e20416e79206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20617474656d70742e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206066756e636020726573756c74206f72206572726f72206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f6964207468726f77696e67206572726f727320666f7220696e76616c69642073656c6563746f72732e0a20202020202a2076617220656c656d656e7473203d205f2e617474656d70742866756e6374696f6e2873656c6563746f7229207b0a20202020202a20202072657475726e20646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20202020202a207d2c20273e5f3e27293b0a20202020202a0a20202020202a20696620285f2e69734572726f7228656c656d656e74732929207b0a20202020202a202020656c656d656e7473203d205b5d3b0a20202020202a207d0a20202020202a2f0a2020202076617220617474656d7074203d2062617365526573742866756e6374696f6e2866756e632c206172677329207b0a202020202020747279207b0a202020202020202072657475726e206170706c792866756e632c20756e646566696e65642c2061726773293b0a2020202020207d20636174636820286529207b0a202020202020202072657475726e2069734572726f72286529203f2065203a206e6577204572726f722865293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a2042696e6473206d6574686f6473206f6620616e206f626a65637420746f20746865206f626a65637420697473656c662c206f76657277726974696e6720746865206578697374696e670a20202020202a206d6574686f642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620626f756e642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2062696e6420616e642061737369676e2074686520626f756e64206d6574686f647320746f2e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d206d6574686f644e616d657320546865206f626a656374206d6574686f64206e616d657320746f2062696e642e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722076696577203d207b0a20202020202a202020276c6162656c273a2027646f6373272c0a20202020202a20202027636c69636b273a2066756e6374696f6e2829207b0a20202020202a2020202020636f6e736f6c652e6c6f672827636c69636b65642027202b20746869732e6c6162656c293b0a20202020202a2020207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e62696e64416c6c28766965772c205b27636c69636b275d293b0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c20766965772e636c69636b293b0a20202020202a202f2f203d3e204c6f67732027636c69636b656420646f637327207768656e20636c69636b65642e0a20202020202a2f0a202020207661722062696e64416c6c203d20666c6174526573742866756e6374696f6e286f626a6563742c206d6574686f644e616d657329207b0a202020202020617272617945616368286d6574686f644e616d65732c2066756e6374696f6e286b657929207b0a20202020202020206b6579203d20746f4b6579286b6579293b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2062696e64286f626a6563745b6b65795d2c206f626a65637429293b0a2020202020207d293b0a20202020202072657475726e206f626a6563743b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206974657261746573206f766572206070616972736020616e6420696e766f6b65732074686520636f72726573706f6e64696e670a20202020202a2066756e6374696f6e206f66207468652066697273742070726564696361746520746f2072657475726e207472757468792e20546865207072656469636174652d66756e6374696f6e0a20202020202a2070616972732061726520696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f662074686520637265617465640a20202020202a2066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797d20706169727320546865207072656469636174652d66756e6374696f6e2070616972732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e636f6e64285b0a20202020202a2020205b5f2e6d617463686573287b202761273a2031207d292c20202020202020202020205f2e636f6e7374616e7428276d617463686573204127295d2c0a20202020202a2020205b5f2e636f6e666f726d73287b202762273a205f2e69734e756d626572207d292c205f2e636f6e7374616e7428276d617463686573204227295d2c0a20202020202a2020205b5f2e73747562547275652c202020202020202020202020202020202020202020205f2e636f6e7374616e7428276e6f206d6174636827295d0a20202020202a205d293b0a20202020202a0a20202020202a2066756e63287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e20276d6174636865732041270a20202020202a0a20202020202a2066756e63287b202761273a20302c202762273a2031207d293b0a20202020202a202f2f203d3e20276d6174636865732042270a20202020202a0a20202020202a2066756e63287b202761273a202731272c202762273a20273227207d293b0a20202020202a202f2f203d3e20276e6f206d61746368270a20202020202a2f0a2020202066756e6374696f6e20636f6e6428706169727329207b0a202020202020766172206c656e677468203d207061697273203d3d206e756c6c203f2030203a2070616972732e6c656e6774682c0a20202020202020202020746f4974657261746565203d20676574497465726174656528293b0a0a2020202020207061697273203d20216c656e677468203f205b5d203a2061727261794d61702870616972732c2066756e6374696f6e287061697229207b0a202020202020202069662028747970656f6620706169725b315d20213d202766756e6374696f6e2729207b0a202020202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a20202020202020207d0a202020202020202072657475726e205b746f497465726174656528706169725b305d292c20706169725b315d5d3b0a2020202020207d293b0a0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202076617220696e646578203d202d313b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202020207661722070616972203d2070616972735b696e6465785d3b0a20202020202020202020696620286170706c7928706169725b305d2c20746869732c20617267732929207b0a20202020202020202020202072657475726e206170706c7928706169725b315d2c20746869732c2061726773293b0a202020202020202020207d0a20202020202020207d0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865207072656469636174652070726f70657274696573206f662060736f757263656020776974680a20202020202a2074686520636f72726573706f6e64696e672070726f70657274792076616c756573206f66206120676976656e206f626a6563742c2072657475726e696e67206074727565602069660a20202020202a20616c6c20707265646963617465732072657475726e207472757468792c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686520637265617465642066756e6374696f6e206973206571756976616c656e7420746f20605f2e636f6e666f726d73546f6020776974680a20202020202a2060736f7572636560207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20322c202762273a2031207d2c0a20202020202a2020207b202761273a20312c202762273a2032207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c746572286f626a656374732c205f2e636f6e666f726d73287b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20313b207d207d29293b0a20202020202a202f2f203d3e205b7b202761273a20312c202762273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e20636f6e666f726d7328736f7572636529207b0a20202020202072657475726e2062617365436f6e666f726d732862617365436c6f6e6528736f757263652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e73206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2072657475726e2066726f6d20746865206e65772066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6e7374616e742066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205f2e74696d657328322c205f2e636f6e7374616e74287b202761273a2031207d29293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a65637473293b0a20202020202a202f2f203d3e205b7b202761273a2031207d2c207b202761273a2031207d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374735b305d203d3d3d206f626a656374735b315d293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20636f6e7374616e742876616c756529207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076616c75653b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206076616c75656020746f2064657465726d696e65207768657468657220612064656661756c742076616c75652073686f756c642062652072657475726e656420696e0a20202020202a2069747320706c6163652e20546865206064656661756c7456616c7565602069732072657475726e6564206966206076616c75656020697320604e614e602c20606e756c6c602c0a20202020202a206f722060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b2a7d2064656661756c7456616c7565205468652064656661756c742076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c74546f28312c203130293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a205f2e64656661756c74546f28756e646566696e65642c203130293b0a20202020202a202f2f203d3e2031300a20202020202a2f0a2020202066756e6374696f6e2064656661756c74546f2876616c75652c2064656661756c7456616c756529207b0a20202020202072657475726e202876616c7565203d3d206e756c6c207c7c2076616c756520213d3d2076616c756529203f2064656661756c7456616c7565203a2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e732074686520726573756c74206f6620696e766f6b696e672074686520676976656e2066756e6374696f6e730a20202020202a207769746820746865206074686973602062696e64696e67206f662074686520637265617465642066756e6374696f6e2c207768657265206561636820737563636573736976650a20202020202a20696e766f636174696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b66756e63735d205468652066756e6374696f6e7320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a2040736565205f2e666c6f7752696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a2076617220616464537175617265203d205f2e666c6f77285b5f2e6164642c207371756172655d293b0a20202020202a2061646453717561726528312c2032293b0a20202020202a202f2f203d3e20390a20202020202a2f0a2020202076617220666c6f77203d20637265617465466c6f7728293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c6f7760206578636570742074686174206974206372656174657320612066756e6374696f6e20746861740a20202020202a20696e766f6b65732074686520676976656e2066756e6374696f6e732066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520332e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b66756e63735d205468652066756e6374696f6e7320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a2040736565205f2e666c6f770a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a2076617220616464537175617265203d205f2e666c6f775269676874285b7371756172652c205f2e6164645d293b0a20202020202a2061646453717561726528312c2032293b0a20202020202a202f2f203d3e20390a20202020202a2f0a2020202076617220666c6f775269676874203d20637265617465466c6f772874727565293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732074686520666972737420617267756d656e742069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c756520416e792076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e73206076616c7565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67285f2e6964656e74697479286f626a65637429203d3d3d206f626a656374293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206964656e746974792876616c756529207b0a20202020202072657475726e2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682074686520617267756d656e7473206f662074686520637265617465640a20202020202a2066756e6374696f6e2e204966206066756e636020697320612070726f7065727479206e616d652c2074686520637265617465642066756e6374696f6e2072657475726e73207468650a20202020202a2070726f70657274792076616c756520666f72206120676976656e20656c656d656e742e204966206066756e636020697320616e206172726179206f72206f626a6563742c207468650a20202020202a20637265617465642066756e6374696f6e2072657475726e732060747275656020666f7220656c656d656e7473207468617420636f6e7461696e20746865206571756976616c656e740a20202020202a20736f757263652070726f706572746965732c206f74686572776973652069742072657475726e73206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520342e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d205b66756e633d5f2e6964656e746974795d205468652076616c756520746f20636f6e7665727420746f20612063616c6c6261636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652063616c6c6261636b2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205f2e6974657261746565287b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d29293b0a20202020202a202f2f203d3e205b7b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205f2e6974657261746565285b2775736572272c202766726564275d29293b0a20202020202a202f2f203d3e205b7b202775736572273a202766726564272c2027616765273a203430207d5d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61702875736572732c205f2e69746572617465652827757365722729293b0a20202020202a202f2f203d3e205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2043726561746520637573746f6d2069746572617465652073686f727468616e64732e0a20202020202a205f2e6974657261746565203d205f2e77726170285f2e69746572617465652c2066756e6374696f6e2869746572617465652c2066756e6329207b0a20202020202a20202072657475726e20215f2e69735265674578702866756e6329203f2069746572617465652866756e6329203a2066756e6374696f6e28737472696e6729207b0a20202020202a202020202072657475726e2066756e632e7465737428737472696e67293b0a20202020202a2020207d3b0a20202020202a207d293b0a20202020202a0a20202020202a205f2e66696c746572285b27616263272c2027646566275d2c202f65662f293b0a20202020202a202f2f203d3e205b27646566275d0a20202020202a2f0a2020202066756e6374696f6e2069746572617465652866756e6329207b0a20202020202072657475726e2062617365497465726174656528747970656f662066756e63203d3d202766756e6374696f6e27203f2066756e63203a2062617365436c6f6e652866756e632c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e206120676976656e0a20202020202a206f626a65637420616e642060736f75726365602c2072657475726e696e67206074727565602069662074686520676976656e206f626a65637420686173206571756976616c656e740a20202020202a2070726f70657274792076616c7565732c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686520637265617465642066756e6374696f6e206973206571756976616c656e7420746f20605f2e69734d617463686020776974682060736f75726365600a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563742060736f75726365600a20202020202a2076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e2053656520605f2e6973457175616c600a20202020202a20666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20312c202762273a20322c202763273a2033207d2c0a20202020202a2020207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c746572286f626a656374732c205f2e6d617463686573287b202761273a20342c202763273a2036207d29293b0a20202020202a202f2f203d3e205b7b202761273a20342c202762273a20352c202763273a2036207d5d0a20202020202a2f0a2020202066756e6374696f6e206d61746368657328736f7572636529207b0a20202020202072657475726e20626173654d6174636865732862617365436c6f6e6528736f757263652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e207468650a20202020202a2076616c756520617420607061746860206f66206120676976656e206f626a65637420746f206073726356616c7565602c2072657475726e696e6720607472756560206966207468650a20202020202a206f626a6563742076616c7565206973206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563740a20202020202a206073726356616c7565602076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e205365650a20202020202a20605f2e6973457175616c6020666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20312c202762273a20322c202763273a2033207d2c0a20202020202a2020207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e64286f626a656374732c205f2e6d61746368657350726f7065727479282761272c203429293b0a20202020202a202f2f203d3e207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a2f0a2020202066756e6374696f6e206d61746368657350726f706572747928706174682c2073726356616c756529207b0a20202020202072657475726e20626173654d61746368657350726f706572747928706174682c2062617365436c6f6e652873726356616c75652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865206d6574686f6420617420607061746860206f66206120676976656e206f626a6563742e0a20202020202a20416e79206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f2074686520696e766f6b6564206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e766f6b65722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a207b202762273a205f2e636f6e7374616e74283229207d207d2c0a20202020202a2020207b202761273a207b202762273a205f2e636f6e7374616e74283129207d207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e6d6574686f642827612e622729293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e6d6574686f64285b2761272c202762275d29293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a20202020766172206d6574686f64203d2062617365526573742866756e6374696f6e28706174682c206172677329207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365496e766f6b65286f626a6563742c20706174682c2061726773293b0a2020202020207d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6d6574686f64603b2074686973206d6574686f64206372656174657320612066756e6374696f6e207468617420696e766f6b65730a20202020202a20746865206d6574686f64206174206120676976656e2070617468206f6620606f626a656374602e20416e79206164646974696f6e616c20617267756d656e7473206172650a20202020202a2070726f766964656420746f2074686520696e766f6b6564206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e766f6b65722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205f2e74696d657328332c205f2e636f6e7374616e74292c0a20202020202a20202020206f626a656374203d207b202761273a2061727261792c202762273a2061727261792c202763273a206172726179207d3b0a20202020202a0a20202020202a205f2e6d6170285b27615b325d272c2027635b305d275d2c205f2e6d6574686f644f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a0a20202020202a205f2e6d6170285b5b2761272c202732275d2c205b2763272c202730275d5d2c205f2e6d6574686f644f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a2f0a20202020766172206d6574686f644f66203d2062617365526573742866756e6374696f6e286f626a6563742c206172677329207b0a20202020202072657475726e2066756e6374696f6e287061746829207b0a202020202020202072657475726e2062617365496e766f6b65286f626a6563742c20706174682c2061726773293b0a2020202020207d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a204164647320616c6c206f776e20656e756d657261626c6520737472696e67206b657965642066756e6374696f6e2070726f70657274696573206f66206120736f757263650a20202020202a206f626a65637420746f207468652064657374696e6174696f6e206f626a6563742e20496620606f626a6563746020697320612066756e6374696f6e2c207468656e206d6574686f64730a20202020202a2061726520616464656420746f206974732070726f746f747970652061732077656c6c2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2055736520605f2e72756e496e436f6e746578746020746f206372656174652061207072697374696e6520606c6f64617368602066756e6374696f6e20746f0a20202020202a2061766f696420636f6e666c6963747320636175736564206279206d6f64696679696e6720746865206f726967696e616c2e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b46756e6374696f6e7c4f626a6563747d205b6f626a6563743d6c6f646173685d205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662066756e6374696f6e7320746f206164642e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e636861696e3d747275655d20537065636966792077686574686572206d6978696e732061726520636861696e61626c652e0a20202020202a204072657475726e73207b46756e6374696f6e7c4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20766f77656c7328737472696e6729207b0a20202020202a20202072657475726e205f2e66696c74657228737472696e672c2066756e6374696f6e287629207b0a20202020202a202020202072657475726e202f5b6165696f755d2f692e746573742876293b0a20202020202a2020207d293b0a20202020202a207d0a20202020202a0a20202020202a205f2e6d6978696e287b2027766f77656c73273a20766f77656c73207d293b0a20202020202a205f2e766f77656c7328276672656427293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a0a20202020202a205f28276672656427292e766f77656c7328292e76616c756528293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a0a20202020202a205f2e6d6978696e287b2027766f77656c73273a20766f77656c73207d2c207b2027636861696e273a2066616c7365207d293b0a20202020202a205f28276672656427292e766f77656c7328293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a2f0a2020202066756e6374696f6e206d6978696e286f626a6563742c20736f757263652c206f7074696f6e7329207b0a2020202020207661722070726f7073203d206b65797328736f75726365292c0a202020202020202020206d6574686f644e616d6573203d206261736546756e6374696f6e7328736f757263652c2070726f7073293b0a0a202020202020696620286f7074696f6e73203d3d206e756c6c2026260a20202020202020202020212869734f626a65637428736f757263652920262620286d6574686f644e616d65732e6c656e677468207c7c202170726f70732e6c656e677468292929207b0a20202020202020206f7074696f6e73203d20736f757263653b0a2020202020202020736f75726365203d206f626a6563743b0a20202020202020206f626a656374203d20746869733b0a20202020202020206d6574686f644e616d6573203d206261736546756e6374696f6e7328736f757263652c206b65797328736f7572636529293b0a2020202020207d0a20202020202076617220636861696e203d20212869734f626a656374286f7074696f6e73292026262027636861696e2720696e206f7074696f6e7329207c7c2021216f7074696f6e732e636861696e2c0a20202020202020202020697346756e63203d20697346756e6374696f6e286f626a656374293b0a0a202020202020617272617945616368286d6574686f644e616d65732c2066756e6374696f6e286d6574686f644e616d6529207b0a20202020202020207661722066756e63203d20736f757263655b6d6574686f644e616d655d3b0a20202020202020206f626a6563745b6d6574686f644e616d655d203d2066756e633b0a202020202020202069662028697346756e6329207b0a202020202020202020206f626a6563742e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020202020202076617220636861696e416c6c203d20746869732e5f5f636861696e5f5f3b0a20202020202020202020202069662028636861696e207c7c20636861696e416c6c29207b0a202020202020202020202020202076617220726573756c74203d206f626a65637428746869732e5f5f777261707065645f5f292c0a202020202020202020202020202020202020616374696f6e73203d20726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928746869732e5f5f616374696f6e735f5f293b0a0a2020202020202020202020202020616374696f6e732e70757368287b202766756e63273a2066756e632c202761726773273a20617267756d656e74732c202774686973417267273a206f626a656374207d293b0a2020202020202020202020202020726573756c742e5f5f636861696e5f5f203d20636861696e416c6c3b0a202020202020202020202020202072657475726e20726573756c743b0a2020202020202020202020207d0a20202020202020202020202072657475726e2066756e632e6170706c79286f626a6563742c20617272617950757368285b746869732e76616c756528295d2c20617267756d656e747329293b0a202020202020202020207d3b0a20202020202020207d0a2020202020207d293b0a0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20526576657274732074686520605f60207661726961626c6520746f206974732070726576696f75732076616c756520616e642072657475726e732061207265666572656e636520746f0a20202020202a2074686520606c6f64617368602066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732074686520606c6f64617368602066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206c6f64617368203d205f2e6e6f436f6e666c69637428293b0a20202020202a2f0a2020202066756e6374696f6e206e6f436f6e666c6963742829207b0a20202020202069662028726f6f742e5f203d3d3d207468697329207b0a2020202020202020726f6f742e5f203d206f6c64446173683b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e332e300a20202020202a204063617465676f7279205574696c0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e6e6f6f70293b0a20202020202a202f2f203d3e205b756e646566696e65642c20756e646566696e65645d0a20202020202a2f0a2020202066756e6374696f6e206e6f6f702829207b0a2020202020202f2f204e6f206f7065726174696f6e20706572666f726d65642e0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420676574732074686520617267756d656e7420617420696e64657820606e602e20496620606e60206973206e656761746976652c0a20202020202a20746865206e746820617267756d656e742066726f6d2074686520656e642069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b6e3d305d2054686520696e646578206f662074686520617267756d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720706173732d746872752066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6e74684172672831293b0a20202020202a2066756e63282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e202762270a20202020202a0a20202020202a207661722066756e63203d205f2e6e7468417267282d32293b0a20202020202a2066756e63282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e202763270a20202020202a2f0a2020202066756e6374696f6e206e7468417267286e29207b0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202072657475726e20626173654e746828617267732c206e293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320606974657261746565736020776974682074686520617267756d656e74732069742072656365697665730a20202020202a20616e642072657475726e7320746865697220726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572285b4d6174682e6d61782c204d6174682e6d696e5d293b0a20202020202a0a20202020202a2066756e6328312c20322c20332c2034293b0a20202020202a202f2f203d3e205b342c20315d0a20202020202a2f0a20202020766172206f766572203d206372656174654f7665722861727261794d6170293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420636865636b73206966202a2a616c6c2a2a206f6620746865206070726564696361746573602072657475726e0a20202020202a20747275746879207768656e20696e766f6b656420776974682074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b707265646963617465733d5b5f2e6964656e746974795d5d0a20202020202a2020546865207072656469636174657320746f20636865636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f7665724576657279285b426f6f6c65616e2c20697346696e6974655d293b0a20202020202a0a20202020202a2066756e6328273127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a2066756e63284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206f7665724576657279203d206372656174654f7665722861727261794576657279293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420636865636b73206966202a2a616e792a2a206f6620746865206070726564696361746573602072657475726e0a20202020202a20747275746879207768656e20696e766f6b656420776974682074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b707265646963617465733d5b5f2e6964656e746974795d5d0a20202020202a2020546865207072656469636174657320746f20636865636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572536f6d65285b426f6f6c65616e2c20697346696e6974655d293b0a20202020202a0a20202020202a2066756e6328273127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206f766572536f6d65203d206372656174654f766572286172726179536f6d65293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e73207468652076616c756520617420607061746860206f66206120676976656e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a207b202762273a2032207d207d2c0a20202020202a2020207b202761273a207b202762273a2031207d207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e70726f70657274792827612e622729293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a0a20202020202a205f2e6d6170285f2e736f72744279286f626a656374732c205f2e70726f7065727479285b2761272c202762275d29292c2027612e6227293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e2070726f7065727479287061746829207b0a20202020202072657475726e2069734b6579287061746829203f206261736550726f706572747928746f4b657928706174682929203a206261736550726f7065727479446565702870617468293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e70726f7065727479603b2074686973206d6574686f64206372656174657320612066756e6374696f6e20746861742072657475726e730a20202020202a207468652076616c7565206174206120676976656e2070617468206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b302c20312c20325d2c0a20202020202a20202020206f626a656374203d207b202761273a2061727261792c202762273a2061727261792c202763273a206172726179207d3b0a20202020202a0a20202020202a205f2e6d6170285b27615b325d272c2027635b305d275d2c205f2e70726f70657274794f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a0a20202020202a205f2e6d6170285b5b2761272c202732275d2c205b2763272c202730275d5d2c205f2e70726f70657274794f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a2f0a2020202066756e6374696f6e2070726f70657274794f66286f626a65637429207b0a20202020202072657475726e2066756e6374696f6e287061746829207b0a202020202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a2062617365476574286f626a6563742c2070617468293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206e756d626572732028706f73697469766520616e642f6f72206e65676174697665292070726f6772657373696e672066726f6d0a20202020202a206073746172746020757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e20412073746570206f6620602d316020697320757365642069662061206e656761746976650a20202020202a20607374617274602069732073706563696669656420776974686f757420616e2060656e6460206f72206073746570602e2049662060656e6460206973206e6f74207370656369666965642c0a20202020202a20697427732073657420746f206073746172746020776974682060737461727460207468656e2073657420746f206030602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204a61766153637269707420666f6c6c6f77732074686520494545452d373534207374616e6461726420666f72207265736f6c76696e670a20202020202a20666c6f6174696e672d706f696e742076616c7565732077686963682063616e2070726f6475636520756e657870656374656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d205b737465703d315d205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2040736565205f2e696e52616e67652c205f2e72616e676552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e67652834293b0a20202020202a202f2f203d3e205b302c20312c20322c20335d0a20202020202a0a20202020202a205f2e72616e6765282d34293b0a20202020202a202f2f203d3e205b302c202d312c202d322c202d335d0a20202020202a0a20202020202a205f2e72616e676528312c2035293b0a20202020202a202f2f203d3e205b312c20322c20332c20345d0a20202020202a0a20202020202a205f2e72616e676528302c2032302c2035293b0a20202020202a202f2f203d3e205b302c20352c2031302c2031355d0a20202020202a0a20202020202a205f2e72616e676528302c202d342c202d31293b0a20202020202a202f2f203d3e205b302c202d312c202d322c202d335d0a20202020202a0a20202020202a205f2e72616e676528312c20342c2030293b0a20202020202a202f2f203d3e205b312c20312c20315d0a20202020202a0a20202020202a205f2e72616e67652830293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a202020207661722072616e6765203d2063726561746552616e676528293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e72616e67656020657863657074207468617420697420706f70756c617465732076616c75657320696e0a20202020202a2064657363656e64696e67206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d205b737465703d315d205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2040736565205f2e696e52616e67652c205f2e72616e67650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e676552696768742834293b0a20202020202a202f2f203d3e205b332c20322c20312c20305d0a20202020202a0a20202020202a205f2e72616e67655269676874282d34293b0a20202020202a202f2f203d3e205b2d332c202d322c202d312c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428312c2035293b0a20202020202a202f2f203d3e205b342c20332c20322c20315d0a20202020202a0a20202020202a205f2e72616e6765526967687428302c2032302c2035293b0a20202020202a202f2f203d3e205b31352c2031302c20352c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428302c202d342c202d31293b0a20202020202a202f2f203d3e205b2d332c202d322c202d312c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428312c20342c2030293b0a20202020202a202f2f203d3e205b312c20312c20315d0a20202020202a0a20202020202a205f2e72616e676552696768742830293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a202020207661722072616e67655269676874203d2063726561746552616e67652874727565293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732061206e657720656d7074792061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720656d7074792061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220617272617973203d205f2e74696d657328322c205f2e737475624172726179293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728617272617973293b0a20202020202a202f2f203d3e205b5b5d2c205b5d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179735b305d203d3d3d206172726179735b315d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e207374756241727261792829207b0a20202020202072657475726e205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e73206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e7374756246616c7365293b0a20202020202a202f2f203d3e205b66616c73652c2066616c73655d0a20202020202a2f0a2020202066756e6374696f6e207374756246616c73652829207b0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732061206e657720656d707479206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720656d707479206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205f2e74696d657328322c205f2e737475624f626a656374293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a65637473293b0a20202020202a202f2f203d3e205b7b7d2c207b7d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374735b305d203d3d3d206f626a656374735b315d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20737475624f626a6563742829207b0a20202020202072657475726e207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e7320616e20656d70747920737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520656d70747920737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e73747562537472696e67293b0a20202020202a202f2f203d3e205b27272c2027275d0a20202020202a2f0a2020202066756e6374696f6e2073747562537472696e672829207b0a20202020202072657475726e2027273b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e73206074727565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e7374756254727565293b0a20202020202a202f2f203d3e205b747275652c20747275655d0a20202020202a2f0a2020202066756e6374696f6e2073747562547275652829207b0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20496e766f6b65732074686520697465726174656520606e602074696d65732c2072657475726e696e6720616e206172726179206f662074686520726573756c7473206f660a20202020202a206561636820696e766f636174696f6e2e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743b2028696e646578292e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f20696e766f6b6520606974657261746565602e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328332c20537472696e67293b0a20202020202a202f2f203d3e205b2730272c202731272c202732275d0a20202020202a0a20202020202a20205f2e74696d657328342c205f2e636f6e7374616e74283029293b0a20202020202a202f2f203d3e205b302c20302c20302c20305d0a20202020202a2f0a2020202066756e6374696f6e2074696d6573286e2c20697465726174656529207b0a2020202020206e203d20746f496e7465676572286e293b0a202020202020696620286e203c2031207c7c206e203e204d41585f534146455f494e544547455229207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220696e646578203d204d41585f41525241595f4c454e4754482c0a202020202020202020206c656e677468203d206e61746976654d696e286e2c204d41585f41525241595f4c454e475448293b0a0a2020202020206974657261746565203d206765744974657261746565286974657261746565293b0a2020202020206e202d3d204d41585f41525241595f4c454e4754483b0a0a20202020202076617220726573756c74203d206261736554696d6573286c656e6774682c206974657261746565293b0a2020202020207768696c6520282b2b696e646578203c206e29207b0a2020202020202020697465726174656528696e646578293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20612070726f706572747920706174682061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772070726f706572747920706174682061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f506174682827612e622e6327293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a0a20202020202a205f2e746f506174682827615b305d2e622e6327293b0a20202020202a202f2f203d3e205b2761272c202730272c202762272c202763275d0a20202020202a2f0a2020202066756e6374696f6e20746f506174682876616c756529207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2061727261794d61702876616c75652c20746f4b6579293b0a2020202020207d0a20202020202072657475726e20697353796d626f6c2876616c756529203f205b76616c75655d203a20636f7079417272617928737472696e67546f5061746828746f537472696e672876616c75652929293b0a202020207d0a0a202020202f2a2a0a20202020202a2047656e657261746573206120756e697175652049442e20496620607072656669786020697320676976656e2c2074686520494420697320617070656e64656420746f2069742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b737472696e677d205b7072656669783d27275d205468652076616c756520746f207072656669782074686520494420776974682e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e697175652049442e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6971756549642827636f6e746163745f27293b0a20202020202a202f2f203d3e2027636f6e746163745f313034270a20202020202a0a20202020202a205f2e756e69717565496428293b0a20202020202a202f2f203d3e2027313035270a20202020202a2f0a2020202066756e6374696f6e20756e6971756549642870726566697829207b0a202020202020766172206964203d202b2b6964436f756e7465723b0a20202020202072657475726e20746f537472696e672870726566697829202b2069643b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20416464732074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e342e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d20617567656e6420546865206669727374206e756d62657220696e20616e206164646974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d20616464656e6420546865207365636f6e64206e756d62657220696e20616e206164646974696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520746f74616c2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e61646428362c2034293b0a20202020202a202f2f203d3e2031300a20202020202a2f0a2020202076617220616464203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e28617567656e642c20616464656e6429207b0a20202020202072657475726e20617567656e64202b20616464656e643b0a202020207d2c2030293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420757020746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e642075702e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420757020746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e646564207570206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6365696c28342e303036293b0a20202020202a202f2f203d3e20350a20202020202a0a20202020202a205f2e6365696c28362e3030342c2032293b0a20202020202a202f2f203d3e20362e30310a20202020202a0a20202020202a205f2e6365696c28363034302c202d32293b0a20202020202a202f2f203d3e20363130300a20202020202a2f0a20202020766172206365696c203d20637265617465526f756e6428276365696c27293b0a0a202020202f2a2a0a20202020202a204469766964652074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206469766964656e6420546865206669727374206e756d62657220696e2061206469766973696f6e2e0a20202020202a2040706172616d207b6e756d6265727d2064697669736f7220546865207365636f6e64206e756d62657220696e2061206469766973696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652071756f7469656e742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64697669646528362c2034293b0a20202020202a202f2f203d3e20312e350a20202020202a2f0a2020202076617220646976696465203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286469766964656e642c2064697669736f7229207b0a20202020202072657475726e206469766964656e64202f2064697669736f723b0a202020207d2c2031293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420646f776e20746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e6420646f776e2e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420646f776e20746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e64656420646f776e206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c6f6f7228342e303036293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e666c6f6f7228302e3034362c2032293b0a20202020202a202f2f203d3e20302e30340a20202020202a0a20202020202a205f2e666c6f6f7228343036302c202d32293b0a20202020202a202f2f203d3e20343030300a20202020202a2f0a2020202076617220666c6f6f72203d20637265617465526f756e642827666c6f6f7227293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d6178696d756d2076616c7565206f6620606172726179602e204966206061727261796020697320656d707479206f722066616c7365792c0a20202020202a2060756e646566696e6564602069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6178696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6178285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20380a20202020202a0a20202020202a205f2e6d6178285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206d617828617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c206964656e746974792c20626173654774290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d617860206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a207468652076616c75652069732072616e6b65642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6178696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2031207d2c207b20276e273a2032207d5d3b0a20202020202a0a20202020202a205f2e6d61784279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e207b20276e273a2032207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61784279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e207b20276e273a2032207d0a20202020202a2f0a2020202066756e6374696f6e206d617842792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c2067657449746572617465652869746572617465652c2032292c20626173654774290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d65616e206f66207468652076616c75657320696e20606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d65616e285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e206d65616e28617272617929207b0a20202020202072657475726e20626173654d65616e2861727261792c206964656e74697479293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d65616e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e6572617465207468652076616c756520746f2062652061766572616765642e0a20202020202a2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2034207d2c207b20276e273a2032207d2c207b20276e273a2038207d2c207b20276e273a2036207d5d3b0a20202020202a0a20202020202a205f2e6d65616e4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e20350a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d65616e4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e206d65616e42792861727261792c20697465726174656529207b0a20202020202072657475726e20626173654d65616e2861727261792c2067657449746572617465652869746572617465652c203229293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d696e696d756d2076616c7565206f6620606172726179602e204966206061727261796020697320656d707479206f722066616c7365792c0a20202020202a2060756e646566696e6564602069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d696e696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d696e285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a205f2e6d696e285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206d696e28617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c206964656e746974792c20626173654c74290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d696e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a207468652076616c75652069732072616e6b65642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d696e696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2031207d2c207b20276e273a2032207d5d3b0a20202020202a0a20202020202a205f2e6d696e4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e207b20276e273a2031207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d696e4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e207b20276e273a2031207d0a20202020202a2f0a2020202066756e6374696f6e206d696e42792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c2067657449746572617465652869746572617465652c2032292c20626173654c74290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a204d756c7469706c792074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206d756c7469706c69657220546865206669727374206e756d62657220696e2061206d756c7469706c69636174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d206d756c7469706c6963616e6420546865207365636f6e64206e756d62657220696e2061206d756c7469706c69636174696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652070726f647563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d756c7469706c7928362c2034293b0a20202020202a202f2f203d3e2032340a20202020202a2f0a20202020766172206d756c7469706c79203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286d756c7469706c6965722c206d756c7469706c6963616e6429207b0a20202020202072657475726e206d756c7469706c696572202a206d756c7469706c6963616e643b0a202020207d2c2031293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e642e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e646564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e726f756e6428342e303036293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e726f756e6428342e3030362c2032293b0a20202020202a202f2f203d3e20342e30310a20202020202a0a20202020202a205f2e726f756e6428343036302c202d32293b0a20202020202a202f2f203d3e20343130300a20202020202a2f0a2020202076617220726f756e64203d20637265617465526f756e642827726f756e6427293b0a0a202020202f2a2a0a20202020202a2053756274726163742074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206d696e75656e6420546865206669727374206e756d62657220696e2061207375627472616374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d2073756274726168656e6420546865207365636f6e64206e756d62657220696e2061207375627472616374696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520646966666572656e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e737562747261637428362c2034293b0a20202020202a202f2f203d3e20320a20202020202a2f0a20202020766172207375627472616374203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286d696e75656e642c2073756274726168656e6429207b0a20202020202072657475726e206d696e75656e64202d2073756274726168656e643b0a202020207d2c2030293b0a0a202020202f2a2a0a20202020202a20436f6d7075746573207468652073756d206f66207468652076616c75657320696e20606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e342e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73756d285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e2073756d28617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736553756d2861727261792c206964656e74697479290a20202020202020203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e73756d60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e6572617465207468652076616c756520746f2062652073756d6d65642e0a20202020202a2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2034207d2c207b20276e273a2032207d2c207b20276e273a2038207d2c207b20276e273a2036207d5d3b0a20202020202a0a20202020202a205f2e73756d4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e2032300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e73756d4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e2073756d42792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736553756d2861727261792c2067657449746572617465652869746572617465652c203229290a20202020202020203a20303b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2f20416464206d6574686f647320746861742072657475726e20777261707065642076616c75657320696e20636861696e2073657175656e6365732e0a202020206c6f646173682e6166746572203d2061667465723b0a202020206c6f646173682e617279203d206172793b0a202020206c6f646173682e61737369676e203d2061737369676e3b0a202020206c6f646173682e61737369676e496e203d2061737369676e496e3b0a202020206c6f646173682e61737369676e496e57697468203d2061737369676e496e576974683b0a202020206c6f646173682e61737369676e57697468203d2061737369676e576974683b0a202020206c6f646173682e6174203d2061743b0a202020206c6f646173682e6265666f7265203d206265666f72653b0a202020206c6f646173682e62696e64203d2062696e643b0a202020206c6f646173682e62696e64416c6c203d2062696e64416c6c3b0a202020206c6f646173682e62696e644b6579203d2062696e644b65793b0a202020206c6f646173682e636173744172726179203d206361737441727261793b0a202020206c6f646173682e636861696e203d20636861696e3b0a202020206c6f646173682e6368756e6b203d206368756e6b3b0a202020206c6f646173682e636f6d70616374203d20636f6d706163743b0a202020206c6f646173682e636f6e636174203d20636f6e6361743b0a202020206c6f646173682e636f6e64203d20636f6e643b0a202020206c6f646173682e636f6e666f726d73203d20636f6e666f726d733b0a202020206c6f646173682e636f6e7374616e74203d20636f6e7374616e743b0a202020206c6f646173682e636f756e744279203d20636f756e7442793b0a202020206c6f646173682e637265617465203d206372656174653b0a202020206c6f646173682e6375727279203d2063757272793b0a202020206c6f646173682e63757272795269676874203d20637572727952696768743b0a202020206c6f646173682e6465626f756e6365203d206465626f756e63653b0a202020206c6f646173682e64656661756c7473203d2064656661756c74733b0a202020206c6f646173682e64656661756c747344656570203d2064656661756c7473446565703b0a202020206c6f646173682e6465666572203d2064656665723b0a202020206c6f646173682e64656c6179203d2064656c61793b0a202020206c6f646173682e646966666572656e6365203d20646966666572656e63653b0a202020206c6f646173682e646966666572656e63654279203d20646966666572656e636542793b0a202020206c6f646173682e646966666572656e636557697468203d20646966666572656e6365576974683b0a202020206c6f646173682e64726f70203d2064726f703b0a202020206c6f646173682e64726f705269676874203d2064726f7052696768743b0a202020206c6f646173682e64726f7052696768745768696c65203d2064726f7052696768745768696c653b0a202020206c6f646173682e64726f705768696c65203d2064726f705768696c653b0a202020206c6f646173682e66696c6c203d2066696c6c3b0a202020206c6f646173682e66696c746572203d2066696c7465723b0a202020206c6f646173682e666c61744d6170203d20666c61744d61703b0a202020206c6f646173682e666c61744d617044656570203d20666c61744d6170446565703b0a202020206c6f646173682e666c61744d61704465707468203d20666c61744d617044657074683b0a202020206c6f646173682e666c617474656e203d20666c617474656e3b0a202020206c6f646173682e666c617474656e44656570203d20666c617474656e446565703b0a202020206c6f646173682e666c617474656e4465707468203d20666c617474656e44657074683b0a202020206c6f646173682e666c6970203d20666c69703b0a202020206c6f646173682e666c6f77203d20666c6f773b0a202020206c6f646173682e666c6f775269676874203d20666c6f7752696768743b0a202020206c6f646173682e66726f6d5061697273203d2066726f6d50616972733b0a202020206c6f646173682e66756e6374696f6e73203d2066756e6374696f6e733b0a202020206c6f646173682e66756e6374696f6e73496e203d2066756e6374696f6e73496e3b0a202020206c6f646173682e67726f75704279203d2067726f757042793b0a202020206c6f646173682e696e697469616c203d20696e697469616c3b0a202020206c6f646173682e696e74657273656374696f6e203d20696e74657273656374696f6e3b0a202020206c6f646173682e696e74657273656374696f6e4279203d20696e74657273656374696f6e42793b0a202020206c6f646173682e696e74657273656374696f6e57697468203d20696e74657273656374696f6e576974683b0a202020206c6f646173682e696e76657274203d20696e766572743b0a202020206c6f646173682e696e766572744279203d20696e7665727442793b0a202020206c6f646173682e696e766f6b654d6170203d20696e766f6b654d61703b0a202020206c6f646173682e6974657261746565203d2069746572617465653b0a202020206c6f646173682e6b65794279203d206b657942793b0a202020206c6f646173682e6b657973203d206b6579733b0a202020206c6f646173682e6b657973496e203d206b657973496e3b0a202020206c6f646173682e6d6170203d206d61703b0a202020206c6f646173682e6d61704b657973203d206d61704b6579733b0a202020206c6f646173682e6d617056616c756573203d206d617056616c7565733b0a202020206c6f646173682e6d617463686573203d206d6174636865733b0a202020206c6f646173682e6d61746368657350726f7065727479203d206d61746368657350726f70657274793b0a202020206c6f646173682e6d656d6f697a65203d206d656d6f697a653b0a202020206c6f646173682e6d65726765203d206d657267653b0a202020206c6f646173682e6d6572676557697468203d206d65726765576974683b0a202020206c6f646173682e6d6574686f64203d206d6574686f643b0a202020206c6f646173682e6d6574686f644f66203d206d6574686f644f663b0a202020206c6f646173682e6d6978696e203d206d6978696e3b0a202020206c6f646173682e6e6567617465203d206e65676174653b0a202020206c6f646173682e6e7468417267203d206e74684172673b0a202020206c6f646173682e6f6d6974203d206f6d69743b0a202020206c6f646173682e6f6d69744279203d206f6d697442793b0a202020206c6f646173682e6f6e6365203d206f6e63653b0a202020206c6f646173682e6f726465724279203d206f7264657242793b0a202020206c6f646173682e6f766572203d206f7665723b0a202020206c6f646173682e6f76657241726773203d206f766572417267733b0a202020206c6f646173682e6f7665724576657279203d206f76657245766572793b0a202020206c6f646173682e6f766572536f6d65203d206f766572536f6d653b0a202020206c6f646173682e7061727469616c203d207061727469616c3b0a202020206c6f646173682e7061727469616c5269676874203d207061727469616c52696768743b0a202020206c6f646173682e706172746974696f6e203d20706172746974696f6e3b0a202020206c6f646173682e7069636b203d207069636b3b0a202020206c6f646173682e7069636b4279203d207069636b42793b0a202020206c6f646173682e70726f7065727479203d2070726f70657274793b0a202020206c6f646173682e70726f70657274794f66203d2070726f70657274794f663b0a202020206c6f646173682e70756c6c203d2070756c6c3b0a202020206c6f646173682e70756c6c416c6c203d2070756c6c416c6c3b0a202020206c6f646173682e70756c6c416c6c4279203d2070756c6c416c6c42793b0a202020206c6f646173682e70756c6c416c6c57697468203d2070756c6c416c6c576974683b0a202020206c6f646173682e70756c6c4174203d2070756c6c41743b0a202020206c6f646173682e72616e6765203d2072616e67653b0a202020206c6f646173682e72616e67655269676874203d2072616e676552696768743b0a202020206c6f646173682e7265617267203d2072656172673b0a202020206c6f646173682e72656a656374203d2072656a6563743b0a202020206c6f646173682e72656d6f7665203d2072656d6f76653b0a202020206c6f646173682e72657374203d20726573743b0a202020206c6f646173682e72657665727365203d20726576657273653b0a202020206c6f646173682e73616d706c6553697a65203d2073616d706c6553697a653b0a202020206c6f646173682e736574203d207365743b0a202020206c6f646173682e73657457697468203d20736574576974683b0a202020206c6f646173682e73687566666c65203d2073687566666c653b0a202020206c6f646173682e736c696365203d20736c6963653b0a202020206c6f646173682e736f72744279203d20736f727442793b0a202020206c6f646173682e736f72746564556e6971203d20736f72746564556e69713b0a202020206c6f646173682e736f72746564556e69714279203d20736f72746564556e697142793b0a202020206c6f646173682e73706c6974203d2073706c69743b0a202020206c6f646173682e737072656164203d207370726561643b0a202020206c6f646173682e7461696c203d207461696c3b0a202020206c6f646173682e74616b65203d2074616b653b0a202020206c6f646173682e74616b655269676874203d2074616b6552696768743b0a202020206c6f646173682e74616b6552696768745768696c65203d2074616b6552696768745768696c653b0a202020206c6f646173682e74616b655768696c65203d2074616b655768696c653b0a202020206c6f646173682e746170203d207461703b0a202020206c6f646173682e7468726f74746c65203d207468726f74746c653b0a202020206c6f646173682e74687275203d20746872753b0a202020206c6f646173682e746f4172726179203d20746f41727261793b0a202020206c6f646173682e746f5061697273203d20746f50616972733b0a202020206c6f646173682e746f5061697273496e203d20746f5061697273496e3b0a202020206c6f646173682e746f50617468203d20746f506174683b0a202020206c6f646173682e746f506c61696e4f626a656374203d20746f506c61696e4f626a6563743b0a202020206c6f646173682e7472616e73666f726d203d207472616e73666f726d3b0a202020206c6f646173682e756e617279203d20756e6172793b0a202020206c6f646173682e756e696f6e203d20756e696f6e3b0a202020206c6f646173682e756e696f6e4279203d20756e696f6e42793b0a202020206c6f646173682e756e696f6e57697468203d20756e696f6e576974683b0a202020206c6f646173682e756e6971203d20756e69713b0a202020206c6f646173682e756e69714279203d20756e697142793b0a202020206c6f646173682e756e697157697468203d20756e6971576974683b0a202020206c6f646173682e756e736574203d20756e7365743b0a202020206c6f646173682e756e7a6970203d20756e7a69703b0a202020206c6f646173682e756e7a697057697468203d20756e7a6970576974683b0a202020206c6f646173682e757064617465203d207570646174653b0a202020206c6f646173682e75706461746557697468203d20757064617465576974683b0a202020206c6f646173682e76616c756573203d2076616c7565733b0a202020206c6f646173682e76616c756573496e203d2076616c756573496e3b0a202020206c6f646173682e776974686f7574203d20776974686f75743b0a202020206c6f646173682e776f726473203d20776f7264733b0a202020206c6f646173682e77726170203d20777261703b0a202020206c6f646173682e786f72203d20786f723b0a202020206c6f646173682e786f724279203d20786f7242793b0a202020206c6f646173682e786f7257697468203d20786f72576974683b0a202020206c6f646173682e7a6970203d207a69703b0a202020206c6f646173682e7a69704f626a656374203d207a69704f626a6563743b0a202020206c6f646173682e7a69704f626a65637444656570203d207a69704f626a656374446565703b0a202020206c6f646173682e7a697057697468203d207a6970576974683b0a0a202020202f2f2041646420616c69617365732e0a202020206c6f646173682e656e7472696573203d20746f50616972733b0a202020206c6f646173682e656e7472696573496e203d20746f5061697273496e3b0a202020206c6f646173682e657874656e64203d2061737369676e496e3b0a202020206c6f646173682e657874656e6457697468203d2061737369676e496e576974683b0a0a202020202f2f20416464206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a202020206d6978696e286c6f646173682c206c6f64617368293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2f20416464206d6574686f647320746861742072657475726e20756e777261707065642076616c75657320696e20636861696e2073657175656e6365732e0a202020206c6f646173682e616464203d206164643b0a202020206c6f646173682e617474656d7074203d20617474656d70743b0a202020206c6f646173682e63616d656c43617365203d2063616d656c436173653b0a202020206c6f646173682e6361706974616c697a65203d206361706974616c697a653b0a202020206c6f646173682e6365696c203d206365696c3b0a202020206c6f646173682e636c616d70203d20636c616d703b0a202020206c6f646173682e636c6f6e65203d20636c6f6e653b0a202020206c6f646173682e636c6f6e6544656570203d20636c6f6e65446565703b0a202020206c6f646173682e636c6f6e654465657057697468203d20636c6f6e6544656570576974683b0a202020206c6f646173682e636c6f6e6557697468203d20636c6f6e65576974683b0a202020206c6f646173682e636f6e666f726d73546f203d20636f6e666f726d73546f3b0a202020206c6f646173682e646562757272203d206465627572723b0a202020206c6f646173682e64656661756c74546f203d2064656661756c74546f3b0a202020206c6f646173682e646976696465203d206469766964653b0a202020206c6f646173682e656e647357697468203d20656e6473576974683b0a202020206c6f646173682e6571203d2065713b0a202020206c6f646173682e657363617065203d206573636170653b0a202020206c6f646173682e657363617065526567457870203d206573636170655265674578703b0a202020206c6f646173682e6576657279203d2065766572793b0a202020206c6f646173682e66696e64203d2066696e643b0a202020206c6f646173682e66696e64496e646578203d2066696e64496e6465783b0a202020206c6f646173682e66696e644b6579203d2066696e644b65793b0a202020206c6f646173682e66696e644c617374203d2066696e644c6173743b0a202020206c6f646173682e66696e644c617374496e646578203d2066696e644c617374496e6465783b0a202020206c6f646173682e66696e644c6173744b6579203d2066696e644c6173744b65793b0a202020206c6f646173682e666c6f6f72203d20666c6f6f723b0a202020206c6f646173682e666f7245616368203d20666f72456163683b0a202020206c6f646173682e666f72456163685269676874203d20666f724561636852696768743b0a202020206c6f646173682e666f72496e203d20666f72496e3b0a202020206c6f646173682e666f72496e5269676874203d20666f72496e52696768743b0a202020206c6f646173682e666f724f776e203d20666f724f776e3b0a202020206c6f646173682e666f724f776e5269676874203d20666f724f776e52696768743b0a202020206c6f646173682e676574203d206765743b0a202020206c6f646173682e6774203d2067743b0a202020206c6f646173682e677465203d206774653b0a202020206c6f646173682e686173203d206861733b0a202020206c6f646173682e686173496e203d20686173496e3b0a202020206c6f646173682e68656164203d20686561643b0a202020206c6f646173682e6964656e74697479203d206964656e746974793b0a202020206c6f646173682e696e636c75646573203d20696e636c756465733b0a202020206c6f646173682e696e6465784f66203d20696e6465784f663b0a202020206c6f646173682e696e52616e6765203d20696e52616e67653b0a202020206c6f646173682e696e766f6b65203d20696e766f6b653b0a202020206c6f646173682e6973417267756d656e7473203d206973417267756d656e74733b0a202020206c6f646173682e69734172726179203d20697341727261793b0a202020206c6f646173682e69734172726179427566666572203d20697341727261794275666665723b0a202020206c6f646173682e697341727261794c696b65203d20697341727261794c696b653b0a202020206c6f646173682e697341727261794c696b654f626a656374203d20697341727261794c696b654f626a6563743b0a202020206c6f646173682e6973426f6f6c65616e203d206973426f6f6c65616e3b0a202020206c6f646173682e6973427566666572203d2069734275666665723b0a202020206c6f646173682e697344617465203d206973446174653b0a202020206c6f646173682e6973456c656d656e74203d206973456c656d656e743b0a202020206c6f646173682e6973456d707479203d206973456d7074793b0a202020206c6f646173682e6973457175616c203d206973457175616c3b0a202020206c6f646173682e6973457175616c57697468203d206973457175616c576974683b0a202020206c6f646173682e69734572726f72203d2069734572726f723b0a202020206c6f646173682e697346696e697465203d20697346696e6974653b0a202020206c6f646173682e697346756e6374696f6e203d20697346756e6374696f6e3b0a202020206c6f646173682e6973496e7465676572203d206973496e74656765723b0a202020206c6f646173682e69734c656e677468203d2069734c656e6774683b0a202020206c6f646173682e69734d6170203d2069734d61703b0a202020206c6f646173682e69734d61746368203d2069734d617463683b0a202020206c6f646173682e69734d6174636857697468203d2069734d61746368576974683b0a202020206c6f646173682e69734e614e203d2069734e614e3b0a202020206c6f646173682e69734e6174697665203d2069734e61746976653b0a202020206c6f646173682e69734e696c203d2069734e696c3b0a202020206c6f646173682e69734e756c6c203d2069734e756c6c3b0a202020206c6f646173682e69734e756d626572203d2069734e756d6265723b0a202020206c6f646173682e69734f626a656374203d2069734f626a6563743b0a202020206c6f646173682e69734f626a6563744c696b65203d2069734f626a6563744c696b653b0a202020206c6f646173682e6973506c61696e4f626a656374203d206973506c61696e4f626a6563743b0a202020206c6f646173682e6973526567457870203d2069735265674578703b0a202020206c6f646173682e697353616665496e7465676572203d20697353616665496e74656765723b0a202020206c6f646173682e6973536574203d2069735365743b0a202020206c6f646173682e6973537472696e67203d206973537472696e673b0a202020206c6f646173682e697353796d626f6c203d20697353796d626f6c3b0a202020206c6f646173682e697354797065644172726179203d206973547970656441727261793b0a202020206c6f646173682e6973556e646566696e6564203d206973556e646566696e65643b0a202020206c6f646173682e69735765616b4d6170203d2069735765616b4d61703b0a202020206c6f646173682e69735765616b536574203d2069735765616b5365743b0a202020206c6f646173682e6a6f696e203d206a6f696e3b0a202020206c6f646173682e6b6562616243617365203d206b65626162436173653b0a202020206c6f646173682e6c617374203d206c6173743b0a202020206c6f646173682e6c617374496e6465784f66203d206c617374496e6465784f663b0a202020206c6f646173682e6c6f77657243617365203d206c6f776572436173653b0a202020206c6f646173682e6c6f7765724669727374203d206c6f77657246697273743b0a202020206c6f646173682e6c74203d206c743b0a202020206c6f646173682e6c7465203d206c74653b0a202020206c6f646173682e6d6178203d206d61783b0a202020206c6f646173682e6d61784279203d206d617842793b0a202020206c6f646173682e6d65616e203d206d65616e3b0a202020206c6f646173682e6d65616e4279203d206d65616e42793b0a202020206c6f646173682e6d696e203d206d696e3b0a202020206c6f646173682e6d696e4279203d206d696e42793b0a202020206c6f646173682e737475624172726179203d207374756241727261793b0a202020206c6f646173682e7374756246616c7365203d207374756246616c73653b0a202020206c6f646173682e737475624f626a656374203d20737475624f626a6563743b0a202020206c6f646173682e73747562537472696e67203d2073747562537472696e673b0a202020206c6f646173682e7374756254727565203d2073747562547275653b0a202020206c6f646173682e6d756c7469706c79203d206d756c7469706c793b0a202020206c6f646173682e6e7468203d206e74683b0a202020206c6f646173682e6e6f436f6e666c696374203d206e6f436f6e666c6963743b0a202020206c6f646173682e6e6f6f70203d206e6f6f703b0a202020206c6f646173682e6e6f77203d206e6f773b0a202020206c6f646173682e706164203d207061643b0a202020206c6f646173682e706164456e64203d20706164456e643b0a202020206c6f646173682e7061645374617274203d2070616453746172743b0a202020206c6f646173682e7061727365496e74203d207061727365496e743b0a202020206c6f646173682e72616e646f6d203d2072616e646f6d3b0a202020206c6f646173682e726564756365203d207265647563653b0a202020206c6f646173682e7265647563655269676874203d2072656475636552696768743b0a202020206c6f646173682e726570656174203d207265706561743b0a202020206c6f646173682e7265706c616365203d207265706c6163653b0a202020206c6f646173682e726573756c74203d20726573756c743b0a202020206c6f646173682e726f756e64203d20726f756e643b0a202020206c6f646173682e72756e496e436f6e74657874203d2072756e496e436f6e746578743b0a202020206c6f646173682e73616d706c65203d2073616d706c653b0a202020206c6f646173682e73697a65203d2073697a653b0a202020206c6f646173682e736e616b6543617365203d20736e616b65436173653b0a202020206c6f646173682e736f6d65203d20736f6d653b0a202020206c6f646173682e736f72746564496e646578203d20736f72746564496e6465783b0a202020206c6f646173682e736f72746564496e6465784279203d20736f72746564496e64657842793b0a202020206c6f646173682e736f72746564496e6465784f66203d20736f72746564496e6465784f663b0a202020206c6f646173682e736f727465644c617374496e646578203d20736f727465644c617374496e6465783b0a202020206c6f646173682e736f727465644c617374496e6465784279203d20736f727465644c617374496e64657842793b0a202020206c6f646173682e736f727465644c617374496e6465784f66203d20736f727465644c617374496e6465784f663b0a202020206c6f646173682e737461727443617365203d207374617274436173653b0a202020206c6f646173682e73746172747357697468203d20737461727473576974683b0a202020206c6f646173682e7375627472616374203d2073756274726163743b0a202020206c6f646173682e73756d203d2073756d3b0a202020206c6f646173682e73756d4279203d2073756d42793b0a202020206c6f646173682e74656d706c617465203d2074656d706c6174653b0a202020206c6f646173682e74696d6573203d2074696d65733b0a202020206c6f646173682e746f46696e697465203d20746f46696e6974653b0a202020206c6f646173682e746f496e7465676572203d20746f496e74656765723b0a202020206c6f646173682e746f4c656e677468203d20746f4c656e6774683b0a202020206c6f646173682e746f4c6f776572203d20746f4c6f7765723b0a202020206c6f646173682e746f4e756d626572203d20746f4e756d6265723b0a202020206c6f646173682e746f53616665496e7465676572203d20746f53616665496e74656765723b0a202020206c6f646173682e746f537472696e67203d20746f537472696e673b0a202020206c6f646173682e746f5570706572203d20746f55707065723b0a202020206c6f646173682e7472696d203d207472696d3b0a202020206c6f646173682e7472696d456e64203d207472696d456e643b0a202020206c6f646173682e7472696d5374617274203d207472696d53746172743b0a202020206c6f646173682e7472756e63617465203d207472756e636174653b0a202020206c6f646173682e756e657363617065203d20756e6573636170653b0a202020206c6f646173682e756e697175654964203d20756e6971756549643b0a202020206c6f646173682e757070657243617365203d207570706572436173653b0a202020206c6f646173682e75707065724669727374203d20757070657246697273743b0a0a202020202f2f2041646420616c69617365732e0a202020206c6f646173682e65616368203d20666f72456163683b0a202020206c6f646173682e656163685269676874203d20666f724561636852696768743b0a202020206c6f646173682e6669727374203d20686561643b0a0a202020206d6978696e286c6f646173682c202866756e6374696f6e2829207b0a20202020202076617220736f75726365203d207b7d3b0a20202020202062617365466f724f776e286c6f646173682c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a202020202020202069662028216861734f776e50726f70657274792e63616c6c286c6f646173682e70726f746f747970652c206d6574686f644e616d652929207b0a20202020202020202020736f757263655b6d6574686f644e616d655d203d2066756e633b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e20736f757263653b0a202020207d2829292c207b2027636861696e273a2066616c7365207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a205468652073656d616e7469632076657273696f6e206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204074797065207b737472696e677d0a20202020202a2f0a202020206c6f646173682e56455253494f4e203d2056455253494f4e3b0a0a202020202f2f2041737369676e2064656661756c7420706c616365686f6c646572732e0a20202020617272617945616368285b2762696e64272c202762696e644b6579272c20276375727279272c202763757272795269676874272c20277061727469616c272c20277061727469616c5269676874275d2c2066756e6374696f6e286d6574686f644e616d6529207b0a2020202020206c6f646173685b6d6574686f644e616d655d2e706c616365686f6c646572203d206c6f646173683b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e64726f706020616e6420605f2e74616b65602076617269616e74732e0a20202020617272617945616368285b2764726f70272c202774616b65275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e286e29207b0a20202020202020206e203d206e203d3d3d20756e646566696e6564203f2031203a206e61746976654d617828746f496e7465676572286e292c2030293b0a0a202020202020202076617220726573756c74203d2028746869732e5f5f66696c74657265645f5f2026262021696e646578290a202020202020202020203f206e6577204c617a79577261707065722874686973290a202020202020202020203a20746869732e636c6f6e6528293b0a0a202020202020202069662028726573756c742e5f5f66696c74657265645f5f29207b0a20202020202020202020726573756c742e5f5f74616b65436f756e745f5f203d206e61746976654d696e286e2c20726573756c742e5f5f74616b65436f756e745f5f293b0a20202020202020207d20656c7365207b0a20202020202020202020726573756c742e5f5f76696577735f5f2e70757368287b0a2020202020202020202020202773697a65273a206e61746976654d696e286e2c204d41585f41525241595f4c454e475448292c0a2020202020202020202020202774797065273a206d6574686f644e616d65202b2028726573756c742e5f5f6469725f5f203c2030203f2027526967687427203a202727290a202020202020202020207d293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d65202b20275269676874275d203d2066756e6374696f6e286e29207b0a202020202020202072657475726e20746869732e7265766572736528295b6d6574686f644e616d655d286e292e7265766572736528293b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320746861742061636365707420616e20606974657261746565602076616c75652e0a20202020617272617945616368285b2766696c746572272c20276d6170272c202774616b655768696c65275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722074797065203d20696e646578202b20312c0a20202020202020202020697346696c746572203d2074797065203d3d204c415a595f46494c5445525f464c4147207c7c2074797065203d3d204c415a595f5748494c455f464c41473b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e28697465726174656529207b0a202020202020202076617220726573756c74203d20746869732e636c6f6e6528293b0a2020202020202020726573756c742e5f5f6974657261746565735f5f2e70757368287b0a20202020202020202020276974657261746565273a2067657449746572617465652869746572617465652c2033292c0a202020202020202020202774797065273a20747970650a20202020202020207d293b0a2020202020202020726573756c742e5f5f66696c74657265645f5f203d20726573756c742e5f5f66696c74657265645f5f207c7c20697346696c7465723b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e686561646020616e6420605f2e6c617374602e0a20202020617272617945616368285b2768656164272c20276c617374275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722074616b654e616d65203d202774616b6527202b2028696e646578203f2027526967687427203a202727293b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a202020202020202072657475726e20746869735b74616b654e616d655d2831292e76616c756528295b305d3b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e696e697469616c6020616e6420605f2e7461696c602e0a20202020617272617945616368285b27696e697469616c272c20277461696c275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722064726f704e616d65203d202764726f7027202b2028696e646578203f202727203a2027526967687427293b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a202020202020202072657475726e20746869732e5f5f66696c74657265645f5f203f206e6577204c617a7957726170706572287468697329203a20746869735b64726f704e616d655d2831293b0a2020202020207d3b0a202020207d293b0a0a202020204c617a79577261707065722e70726f746f747970652e636f6d70616374203d2066756e6374696f6e2829207b0a20202020202072657475726e20746869732e66696c746572286964656e74697479293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e66696e64203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e66696c74657228707265646963617465292e6865616428293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e66696e644c617374203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e7265766572736528292e66696e6428707265646963617465293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e696e766f6b654d6170203d2062617365526573742866756e6374696f6e28706174682c206172677329207b0a20202020202069662028747970656f662070617468203d3d202766756e6374696f6e2729207b0a202020202020202072657475726e206e6577204c617a79577261707065722874686973293b0a2020202020207d0a20202020202072657475726e20746869732e6d61702866756e6374696f6e2876616c756529207b0a202020202020202072657475726e2062617365496e766f6b652876616c75652c20706174682c2061726773293b0a2020202020207d293b0a202020207d293b0a0a202020204c617a79577261707065722e70726f746f747970652e72656a656374203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e66696c746572286e6567617465286765744974657261746565287072656469636174652929293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e736c696365203d2066756e6374696f6e2873746172742c20656e6429207b0a2020202020207374617274203d20746f496e7465676572287374617274293b0a0a20202020202076617220726573756c74203d20746869733b0a20202020202069662028726573756c742e5f5f66696c74657265645f5f20262620287374617274203e2030207c7c20656e64203c20302929207b0a202020202020202072657475726e206e6577204c617a795772617070657228726573756c74293b0a2020202020207d0a202020202020696620287374617274203c203029207b0a2020202020202020726573756c74203d20726573756c742e74616b655269676874282d7374617274293b0a2020202020207d20656c73652069662028737461727429207b0a2020202020202020726573756c74203d20726573756c742e64726f70287374617274293b0a2020202020207d0a20202020202069662028656e6420213d3d20756e646566696e656429207b0a2020202020202020656e64203d20746f496e746567657228656e64293b0a2020202020202020726573756c74203d20656e64203c2030203f20726573756c742e64726f705269676874282d656e6429203a20726573756c742e74616b6528656e64202d207374617274293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e74616b6552696768745768696c65203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e7265766572736528292e74616b655768696c6528707265646963617465292e7265766572736528293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e746f4172726179203d2066756e6374696f6e2829207b0a20202020202072657475726e20746869732e74616b65284d41585f41525241595f4c454e475448293b0a202020207d3b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a2020202062617365466f724f776e284c617a79577261707065722e70726f746f747970652c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a20202020202076617220636865636b4974657261746565203d202f5e283f3a66696c7465727c66696e647c6d61707c72656a656374297c5768696c65242f2e74657374286d6574686f644e616d65292c0a20202020202020202020697354616b6572203d202f5e283f3a686561647c6c61737429242f2e74657374286d6574686f644e616d65292c0a202020202020202020206c6f6461736846756e63203d206c6f646173685b697354616b6572203f20282774616b6527202b20286d6574686f644e616d65203d3d20276c61737427203f2027526967687427203a2027272929203a206d6574686f644e616d655d2c0a20202020202020202020726574556e77726170706564203d20697354616b6572207c7c202f5e66696e642f2e74657374286d6574686f644e616d65293b0a0a20202020202069662028216c6f6461736846756e6329207b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206c6f646173682e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020207661722076616c7565203d20746869732e5f5f777261707065645f5f2c0a20202020202020202020202061726773203d20697354616b6572203f205b315d203a20617267756d656e74732c0a20202020202020202020202069734c617a79203d2076616c756520696e7374616e63656f66204c617a79577261707065722c0a2020202020202020202020206974657261746565203d20617267735b305d2c0a2020202020202020202020207573654c617a79203d2069734c617a79207c7c20697341727261792876616c7565293b0a0a202020202020202076617220696e746572636570746f72203d2066756e6374696f6e2876616c756529207b0a2020202020202020202076617220726573756c74203d206c6f6461736846756e632e6170706c79286c6f646173682c20617272617950757368285b76616c75655d2c206172677329293b0a2020202020202020202072657475726e2028697354616b657220262620636861696e416c6c29203f20726573756c745b305d203a20726573756c743b0a20202020202020207d3b0a0a2020202020202020696620287573654c617a7920262620636865636b497465726174656520262620747970656f66206974657261746565203d3d202766756e6374696f6e272026262069746572617465652e6c656e67746820213d203129207b0a202020202020202020202f2f2041766f6964206c617a79207573652069662074686520697465726174656520686173206120226c656e677468222076616c7565206f74686572207468616e206031602e0a2020202020202020202069734c617a79203d207573654c617a79203d2066616c73653b0a20202020202020207d0a202020202020202076617220636861696e416c6c203d20746869732e5f5f636861696e5f5f2c0a2020202020202020202020206973487962726964203d202121746869732e5f5f616374696f6e735f5f2e6c656e6774682c0a2020202020202020202020206973556e77726170706564203d20726574556e777261707065642026262021636861696e416c6c2c0a2020202020202020202020206f6e6c794c617a79203d2069734c617a79202626202169734879627269643b0a0a20202020202020206966202821726574556e77726170706564202626207573654c617a7929207b0a2020202020202020202076616c7565203d206f6e6c794c617a79203f2076616c7565203a206e6577204c617a79577261707065722874686973293b0a2020202020202020202076617220726573756c74203d2066756e632e6170706c792876616c75652c2061726773293b0a20202020202020202020726573756c742e5f5f616374696f6e735f5f2e70757368287b202766756e63273a20746872752c202761726773273a205b696e746572636570746f725d2c202774686973417267273a20756e646566696e6564207d293b0a2020202020202020202072657475726e206e6577204c6f646173685772617070657228726573756c742c20636861696e416c6c293b0a20202020202020207d0a2020202020202020696620286973556e77726170706564202626206f6e6c794c617a7929207b0a2020202020202020202072657475726e2066756e632e6170706c7928746869732c2061726773293b0a20202020202020207d0a2020202020202020726573756c74203d20746869732e7468727528696e746572636570746f72293b0a202020202020202072657475726e206973556e77726170706564203f2028697354616b6572203f20726573756c742e76616c756528295b305d203a20726573756c742e76616c7565282929203a20726573756c743b0a2020202020207d3b0a202020207d293b0a0a202020202f2f204164642060417272617960206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a20202020617272617945616368285b27706f70272c202770757368272c20277368696674272c2027736f7274272c202773706c696365272c2027756e7368696674275d2c2066756e6374696f6e286d6574686f644e616d6529207b0a2020202020207661722066756e63203d20617272617950726f746f5b6d6574686f644e616d655d2c0a20202020202020202020636861696e4e616d65203d202f5e283f3a707573687c736f72747c756e736869667429242f2e74657374286d6574686f644e616d6529203f202774617027203a202774687275272c0a20202020202020202020726574556e77726170706564203d202f5e283f3a706f707c736869667429242f2e74657374286d6574686f644e616d65293b0a0a2020202020206c6f646173682e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74733b0a202020202020202069662028726574556e777261707065642026262021746869732e5f5f636861696e5f5f29207b0a202020202020202020207661722076616c7565203d20746869732e76616c756528293b0a2020202020202020202072657475726e2066756e632e6170706c7928697341727261792876616c756529203f2076616c7565203a205b5d2c2061726773293b0a20202020202020207d0a202020202020202072657475726e20746869735b636861696e4e616d655d2866756e6374696f6e2876616c756529207b0a2020202020202020202072657475726e2066756e632e6170706c7928697341727261792876616c756529203f2076616c7565203a205b5d2c2061726773293b0a20202020202020207d293b0a2020202020207d3b0a202020207d293b0a0a202020202f2f204d6170206d696e6966696564206d6574686f64206e616d657320746f207468656972207265616c206e616d65732e0a2020202062617365466f724f776e284c617a79577261707065722e70726f746f747970652c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a202020202020766172206c6f6461736846756e63203d206c6f646173685b6d6574686f644e616d655d3b0a202020202020696620286c6f6461736846756e6329207b0a2020202020202020766172206b6579203d20286c6f6461736846756e632e6e616d65202b202727292c0a2020202020202020202020206e616d6573203d207265616c4e616d65735b6b65795d207c7c20287265616c4e616d65735b6b65795d203d205b5d293b0a0a20202020202020206e616d65732e70757368287b20276e616d65273a206d6574686f644e616d652c202766756e63273a206c6f6461736846756e63207d293b0a2020202020207d0a202020207d293b0a0a202020207265616c4e616d65735b63726561746548796272696428756e646566696e65642c20575241505f42494e445f4b45595f464c4147292e6e616d655d203d205b7b0a202020202020276e616d65273a202777726170706572272c0a2020202020202766756e63273a20756e646566696e65640a202020207d5d3b0a0a202020202f2f20416464206d6574686f647320746f20604c617a7957726170706572602e0a202020204c617a79577261707065722e70726f746f747970652e636c6f6e65203d206c617a79436c6f6e653b0a202020204c617a79577261707065722e70726f746f747970652e72657665727365203d206c617a79526576657273653b0a202020204c617a79577261707065722e70726f746f747970652e76616c7565203d206c617a7956616c75653b0a0a202020202f2f2041646420636861696e2073657175656e6365206d6574686f647320746f2074686520606c6f646173686020777261707065722e0a202020206c6f646173682e70726f746f747970652e6174203d207772617070657241743b0a202020206c6f646173682e70726f746f747970652e636861696e203d2077726170706572436861696e3b0a202020206c6f646173682e70726f746f747970652e636f6d6d6974203d2077726170706572436f6d6d69743b0a202020206c6f646173682e70726f746f747970652e6e657874203d20777261707065724e6578743b0a202020206c6f646173682e70726f746f747970652e706c616e74203d2077726170706572506c616e743b0a202020206c6f646173682e70726f746f747970652e72657665727365203d2077726170706572526576657273653b0a202020206c6f646173682e70726f746f747970652e746f4a534f4e203d206c6f646173682e70726f746f747970652e76616c75654f66203d206c6f646173682e70726f746f747970652e76616c7565203d207772617070657256616c75653b0a0a202020202f2f20416464206c617a7920616c69617365732e0a202020206c6f646173682e70726f746f747970652e6669727374203d206c6f646173682e70726f746f747970652e686561643b0a0a202020206966202873796d4974657261746f7229207b0a2020202020206c6f646173682e70726f746f747970655b73796d4974657261746f725d203d2077726170706572546f4974657261746f723b0a202020207d0a2020202072657475726e206c6f646173683b0a20207d293b0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2f204578706f7274206c6f646173682e0a2020766172205f203d2072756e496e436f6e7465787428293b0a0a20202f2f20536f6d6520414d44206275696c64206f7074696d697a6572732c206c696b6520722e6a732c20636865636b20666f7220636f6e646974696f6e207061747465726e73206c696b653a0a202069662028747970656f6620646566696e65203d3d202766756e6374696f6e2720262620747970656f6620646566696e652e616d64203d3d20276f626a6563742720262620646566696e652e616d6429207b0a202020202f2f204578706f7365204c6f64617368206f6e2074686520676c6f62616c206f626a65637420746f2070726576656e74206572726f7273207768656e204c6f646173682069730a202020202f2f206c6f616465642062792061207363726970742074616720696e207468652070726573656e6365206f6620616e20414d44206c6f616465722e0a202020202f2f2053656520687474703a2f2f726571756972656a732e6f72672f646f63732f6572726f72732e68746d6c236d69736d6174636820666f72206d6f72652064657461696c732e0a202020202f2f2055736520605f2e6e6f436f6e666c6963746020746f2072656d6f7665204c6f646173682066726f6d2074686520676c6f62616c206f626a6563742e0a20202020726f6f742e5f203d205f3b0a0a202020202f2f20446566696e6520617320616e20616e6f6e796d6f7573206d6f64756c6520736f2c207468726f7567682070617468206d617070696e672c2069742063616e2062650a202020202f2f207265666572656e636564206173207468652022756e64657273636f726522206d6f64756c652e0a20202020646566696e652866756e6374696f6e2829207b0a20202020202072657475726e205f3b0a202020207d293b0a20207d0a20202f2f20436865636b20666f7220606578706f727473602061667465722060646566696e656020696e20636173652061206275696c64206f7074696d697a657220616464732069742e0a2020656c73652069662028667265654d6f64756c6529207b0a202020202f2f204578706f727420666f72204e6f64652e6a732e0a2020202028667265654d6f64756c652e6578706f727473203d205f292e5f203d205f3b0a202020202f2f204578706f727420666f7220436f6d6d6f6e4a5320737570706f72742e0a20202020667265654578706f7274732e5f203d205f3b0a20207d0a2020656c7365207b0a202020202f2f204578706f727420746f2074686520676c6f62616c206f626a6563742e0a20202020726f6f742e5f203d205f3b0a20207d0a7d2e63616c6c287468697329293b0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3132343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f63657373297b0a2775736520737472696374273b0a0a696620282170726f636573732e76657273696f6e207c7c0a2020202070726f636573732e76657273696f6e2e696e6465784f66282776302e2729203d3d3d2030207c7c0a2020202070726f636573732e76657273696f6e2e696e6465784f66282776312e2729203d3d3d20302026262070726f636573732e76657273696f6e2e696e6465784f66282776312e382e272920213d3d203029207b0a20206d6f64756c652e6578706f727473203d206e6578745469636b3b0a7d20656c7365207b0a20206d6f64756c652e6578706f727473203d2070726f636573732e6e6578745469636b3b0a7d0a0a66756e6374696f6e206e6578745469636b28666e2c20617267312c20617267322c206172673329207b0a202069662028747970656f6620666e20213d3d202766756e6374696f6e2729207b0a202020207468726f77206e657720547970654572726f7228272263616c6c6261636b2220617267756d656e74206d75737420626520612066756e6374696f6e27293b0a20207d0a2020766172206c656e203d20617267756d656e74732e6c656e6774683b0a202076617220617267732c20693b0a202073776974636820286c656e29207b0a20206361736520303a0a20206361736520313a0a2020202072657475726e2070726f636573732e6e6578745469636b28666e293b0a20206361736520323a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b4f6e652829207b0a202020202020666e2e63616c6c286e756c6c2c2061726731293b0a202020207d293b0a20206361736520333a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b54776f2829207b0a202020202020666e2e63616c6c286e756c6c2c20617267312c2061726732293b0a202020207d293b0a20206361736520343a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b54687265652829207b0a202020202020666e2e63616c6c286e756c6c2c20617267312c20617267322c2061726733293b0a202020207d293b0a202064656661756c743a0a2020202061726773203d206e6577204172726179286c656e202d2031293b0a2020202069203d20303b0a202020207768696c65202869203c20617267732e6c656e67746829207b0a202020202020617267735b692b2b5d203d20617267756d656e74735b695d3b0a202020207d0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b2829207b0a202020202020666e2e6170706c79286e756c6c2c2061726773293b0a202020207d293b0a20207d0a7d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f636573732729290a7d2c7b225f70726f63657373223a3132357d5d2c3132353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f207368696d20666f72207573696e672070726f6365737320696e2062726f777365720a7661722070726f63657373203d206d6f64756c652e6578706f727473203d207b7d3b0a0a2f2f206361636865642066726f6d20776861746576657220676c6f62616c2069732070726573656e7420736f207468617420746573742072756e6e657273207468617420737475622069740a2f2f20646f6e277420627265616b207468696e67732e2020427574207765206e65656420746f207772617020697420696e20612074727920636174636820696e20636173652069742069730a2f2f207772617070656420696e20737472696374206d6f646520636f646520776869636820646f65736e277420646566696e6520616e7920676c6f62616c732e20204974277320696e7369646520610a2f2f2066756e6374696f6e2062656361757365207472792f636174636865732064656f7074696d697a6520696e206365727461696e20656e67696e65732e0a0a7661722063616368656453657454696d656f75743b0a76617220636163686564436c65617254696d656f75743b0a0a66756e6374696f6e2064656661756c7453657454696d6f75742829207b0a202020207468726f77206e6577204572726f72282773657454696d656f757420686173206e6f74206265656e20646566696e656427293b0a7d0a66756e6374696f6e2064656661756c74436c65617254696d656f7574202829207b0a202020207468726f77206e6577204572726f722827636c65617254696d656f757420686173206e6f74206265656e20646566696e656427293b0a7d0a2866756e6374696f6e202829207b0a20202020747279207b0a202020202020202069662028747970656f662073657454696d656f7574203d3d3d202766756e6374696f6e2729207b0a20202020202020202020202063616368656453657454696d656f7574203d2073657454696d656f75743b0a20202020202020207d20656c7365207b0a20202020202020202020202063616368656453657454696d656f7574203d2064656661756c7453657454696d6f75743b0a20202020202020207d0a202020207d20636174636820286529207b0a202020202020202063616368656453657454696d656f7574203d2064656661756c7453657454696d6f75743b0a202020207d0a20202020747279207b0a202020202020202069662028747970656f6620636c65617254696d656f7574203d3d3d202766756e6374696f6e2729207b0a202020202020202020202020636163686564436c65617254696d656f7574203d20636c65617254696d656f75743b0a20202020202020207d20656c7365207b0a202020202020202020202020636163686564436c65617254696d656f7574203d2064656661756c74436c65617254696d656f75743b0a20202020202020207d0a202020207d20636174636820286529207b0a2020202020202020636163686564436c65617254696d656f7574203d2064656661756c74436c65617254696d656f75743b0a202020207d0a7d202829290a66756e6374696f6e2072756e54696d656f75742866756e29207b0a202020206966202863616368656453657454696d656f7574203d3d3d2073657454696d656f757429207b0a20202020202020202f2f6e6f726d616c20656e7669726f6d656e747320696e2073616e6520736974756174696f6e730a202020202020202072657475726e2073657454696d656f75742866756e2c2030293b0a202020207d0a202020202f2f2069662073657454696d656f7574207761736e277420617661696c61626c652062757420776173206c617474657220646566696e65640a20202020696620282863616368656453657454696d656f7574203d3d3d2064656661756c7453657454696d6f7574207c7c202163616368656453657454696d656f7574292026262073657454696d656f757429207b0a202020202020202063616368656453657454696d656f7574203d2073657454696d656f75743b0a202020202020202072657475726e2073657454696d656f75742866756e2c2030293b0a202020207d0a20202020747279207b0a20202020202020202f2f207768656e207768656e20736f6d65626f647920686173207363726577656420776974682073657454696d656f757420627574206e6f20492e452e206d6164646e6573730a202020202020202072657475726e2063616368656453657454696d656f75742866756e2c2030293b0a202020207d2063617463682865297b0a2020202020202020747279207b0a2020202020202020202020202f2f205768656e2077652061726520696e20492e452e20627574207468652073637269707420686173206265656e206576616c656420736f20492e452e20646f65736e27742074727573742074686520676c6f62616c206f626a656374207768656e2063616c6c6564206e6f726d616c6c790a20202020202020202020202072657475726e2063616368656453657454696d656f75742e63616c6c286e756c6c2c2066756e2c2030293b0a20202020202020207d2063617463682865297b0a2020202020202020202020202f2f2073616d652061732061626f766520627574207768656e206974277320612076657273696f6e206f6620492e452e2074686174206d75737420686176652074686520676c6f62616c206f626a65637420666f72202774686973272c20686f7066756c6c79206f757220636f6e7465787420636f7272656374206f74686572776973652069742077696c6c207468726f77206120676c6f62616c206572726f720a20202020202020202020202072657475726e2063616368656453657454696d656f75742e63616c6c28746869732c2066756e2c2030293b0a20202020202020207d0a202020207d0a0a0a7d0a66756e6374696f6e2072756e436c65617254696d656f7574286d61726b657229207b0a2020202069662028636163686564436c65617254696d656f7574203d3d3d20636c65617254696d656f757429207b0a20202020202020202f2f6e6f726d616c20656e7669726f6d656e747320696e2073616e6520736974756174696f6e730a202020202020202072657475726e20636c65617254696d656f7574286d61726b6572293b0a202020207d0a202020202f2f20696620636c65617254696d656f7574207761736e277420617661696c61626c652062757420776173206c617474657220646566696e65640a202020206966202828636163686564436c65617254696d656f7574203d3d3d2064656661756c74436c65617254696d656f7574207c7c2021636163686564436c65617254696d656f75742920262620636c65617254696d656f757429207b0a2020202020202020636163686564436c65617254696d656f7574203d20636c65617254696d656f75743b0a202020202020202072657475726e20636c65617254696d656f7574286d61726b6572293b0a202020207d0a20202020747279207b0a20202020202020202f2f207768656e207768656e20736f6d65626f647920686173207363726577656420776974682073657454696d656f757420627574206e6f20492e452e206d6164646e6573730a202020202020202072657475726e20636163686564436c65617254696d656f7574286d61726b6572293b0a202020207d206361746368202865297b0a2020202020202020747279207b0a2020202020202020202020202f2f205768656e2077652061726520696e20492e452e20627574207468652073637269707420686173206265656e206576616c656420736f20492e452e20646f65736e2774202074727573742074686520676c6f62616c206f626a656374207768656e2063616c6c6564206e6f726d616c6c790a20202020202020202020202072657475726e20636163686564436c65617254696d656f75742e63616c6c286e756c6c2c206d61726b6572293b0a20202020202020207d206361746368202865297b0a2020202020202020202020202f2f2073616d652061732061626f766520627574207768656e206974277320612076657273696f6e206f6620492e452e2074686174206d75737420686176652074686520676c6f62616c206f626a65637420666f72202774686973272c20686f7066756c6c79206f757220636f6e7465787420636f7272656374206f74686572776973652069742077696c6c207468726f77206120676c6f62616c206572726f722e0a2020202020202020202020202f2f20536f6d652076657273696f6e73206f6620492e452e206861766520646966666572656e742072756c657320666f7220636c65617254696d656f75742076732073657454696d656f75740a20202020202020202020202072657475726e20636163686564436c65617254696d656f75742e63616c6c28746869732c206d61726b6572293b0a20202020202020207d0a202020207d0a0a0a0a7d0a766172207175657565203d205b5d3b0a76617220647261696e696e67203d2066616c73653b0a7661722063757272656e7451756575653b0a766172207175657565496e646578203d202d313b0a0a66756e6374696f6e20636c65616e55704e6578745469636b2829207b0a202020206966202821647261696e696e67207c7c202163757272656e74517565756529207b0a202020202020202072657475726e3b0a202020207d0a20202020647261696e696e67203d2066616c73653b0a202020206966202863757272656e7451756575652e6c656e67746829207b0a20202020202020207175657565203d2063757272656e7451756575652e636f6e636174287175657565293b0a202020207d20656c7365207b0a20202020202020207175657565496e646578203d202d313b0a202020207d0a202020206966202871756575652e6c656e67746829207b0a2020202020202020647261696e517565756528293b0a202020207d0a7d0a0a66756e6374696f6e20647261696e51756575652829207b0a2020202069662028647261696e696e6729207b0a202020202020202072657475726e3b0a202020207d0a202020207661722074696d656f7574203d2072756e54696d656f757428636c65616e55704e6578745469636b293b0a20202020647261696e696e67203d20747275653b0a0a20202020766172206c656e203d2071756575652e6c656e6774683b0a202020207768696c65286c656e29207b0a202020202020202063757272656e745175657565203d2071756575653b0a20202020202020207175657565203d205b5d3b0a20202020202020207768696c6520282b2b7175657565496e646578203c206c656e29207b0a2020202020202020202020206966202863757272656e74517565756529207b0a2020202020202020202020202020202063757272656e7451756575655b7175657565496e6465785d2e72756e28293b0a2020202020202020202020207d0a20202020202020207d0a20202020202020207175657565496e646578203d202d313b0a20202020202020206c656e203d2071756575652e6c656e6774683b0a202020207d0a2020202063757272656e745175657565203d206e756c6c3b0a20202020647261696e696e67203d2066616c73653b0a2020202072756e436c65617254696d656f75742874696d656f7574293b0a7d0a0a70726f636573732e6e6578745469636b203d2066756e6374696f6e202866756e29207b0a202020207661722061726773203d206e657720417272617928617267756d656e74732e6c656e677468202d2031293b0a2020202069662028617267756d656e74732e6c656e677468203e203129207b0a2020202020202020666f7220287661722069203d20313b2069203c20617267756d656e74732e6c656e6774683b20692b2b29207b0a202020202020202020202020617267735b69202d20315d203d20617267756d656e74735b695d3b0a20202020202020207d0a202020207d0a2020202071756575652e70757368286e6577204974656d2866756e2c206172677329293b0a202020206966202871756575652e6c656e677468203d3d3d20312026262021647261696e696e6729207b0a202020202020202072756e54696d656f757428647261696e5175657565293b0a202020207d0a7d3b0a0a2f2f207638206c696b6573207072656469637469626c65206f626a656374730a66756e6374696f6e204974656d2866756e2c20617272617929207b0a20202020746869732e66756e203d2066756e3b0a20202020746869732e6172726179203d2061727261793b0a7d0a4974656d2e70726f746f747970652e72756e203d2066756e6374696f6e202829207b0a20202020746869732e66756e2e6170706c79286e756c6c2c20746869732e6172726179293b0a7d3b0a70726f636573732e7469746c65203d202762726f77736572273b0a70726f636573732e62726f77736572203d20747275653b0a70726f636573732e656e76203d207b7d3b0a70726f636573732e61726776203d205b5d3b0a70726f636573732e76657273696f6e203d2027273b202f2f20656d70747920737472696e6720746f2061766f696420726567657870206973737565730a70726f636573732e76657273696f6e73203d207b7d3b0a0a66756e6374696f6e206e6f6f702829207b7d0a0a70726f636573732e6f6e203d206e6f6f703b0a70726f636573732e6164644c697374656e6572203d206e6f6f703b0a70726f636573732e6f6e6365203d206e6f6f703b0a70726f636573732e6f6666203d206e6f6f703b0a70726f636573732e72656d6f76654c697374656e6572203d206e6f6f703b0a70726f636573732e72656d6f7665416c6c4c697374656e657273203d206e6f6f703b0a70726f636573732e656d6974203d206e6f6f703b0a70726f636573732e70726570656e644c697374656e6572203d206e6f6f703b0a70726f636573732e70726570656e644f6e63654c697374656e6572203d206e6f6f703b0a0a70726f636573732e6c697374656e657273203d2066756e6374696f6e20286e616d6529207b2072657475726e205b5d207d0a0a70726f636573732e62696e64696e67203d2066756e6374696f6e20286e616d6529207b0a202020207468726f77206e6577204572726f72282770726f636573732e62696e64696e67206973206e6f7420737570706f7274656427293b0a7d3b0a0a70726f636573732e637764203d2066756e6374696f6e202829207b2072657475726e20272f27207d3b0a70726f636573732e6368646972203d2066756e6374696f6e202864697229207b0a202020207468726f77206e6577204572726f72282770726f636573732e6368646972206973206e6f7420737570706f7274656427293b0a7d3b0a70726f636573732e756d61736b203d2066756e6374696f6e2829207b2072657475726e20303b207d3b0a0a7d2c7b7d5d2c3132363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a2f2a212068747470733a2f2f6d7468732e62652f70756e79636f64652076312e342e3120627920406d617468696173202a2f0a3b2866756e6374696f6e28726f6f7429207b0a0a092f2a2a204465746563742066726565207661726961626c6573202a2f0a0976617220667265654578706f727473203d20747970656f66206578706f727473203d3d20276f626a65637427202626206578706f7274732026260a0909216578706f7274732e6e6f646554797065202626206578706f7274733b0a0976617220667265654d6f64756c65203d20747970656f66206d6f64756c65203d3d20276f626a65637427202626206d6f64756c652026260a0909216d6f64756c652e6e6f646554797065202626206d6f64756c653b0a097661722066726565476c6f62616c203d20747970656f6620676c6f62616c203d3d20276f626a6563742720262620676c6f62616c3b0a09696620280a090966726565476c6f62616c2e676c6f62616c203d3d3d2066726565476c6f62616c207c7c0a090966726565476c6f62616c2e77696e646f77203d3d3d2066726565476c6f62616c207c7c0a090966726565476c6f62616c2e73656c66203d3d3d2066726565476c6f62616c0a0929207b0a0909726f6f74203d2066726565476c6f62616c3b0a097d0a0a092f2a2a0a09202a20546865206070756e79636f646560206f626a6563742e0a09202a20406e616d652070756e79636f64650a09202a204074797065204f626a6563740a09202a2f0a097661722070756e79636f64652c0a0a092f2a2a204869676865737420706f736974697665207369676e65642033322d62697420666c6f61742076616c7565202a2f0a096d6178496e74203d20323134373438333634372c202f2f20616b612e2030783746464646464646206f7220325e33312d310a0a092f2a2a20426f6f74737472696e6720706172616d6574657273202a2f0a0962617365203d2033362c0a09744d696e203d20312c0a09744d6178203d2032362c0a09736b6577203d2033382c0a0964616d70203d203730302c0a09696e697469616c42696173203d2037322c0a09696e697469616c4e203d203132382c202f2f20307838300a0964656c696d69746572203d20272d272c202f2f20275c783244270a0a092f2a2a20526567756c61722065787072657373696f6e73202a2f0a09726567657850756e79636f6465203d202f5e786e2d2d2f2c0a0972656765784e6f6e4153434949203d202f5b5e5c7832302d5c7837455d2f2c202f2f20756e7072696e7461626c65204153434949206368617273202b206e6f6e2d41534349492063686172730a097265676578536570617261746f7273203d202f5b5c7832455c75333030325c75464630455c75464636315d2f672c202f2f20524643203334393020736570617261746f72730a0a092f2a2a204572726f72206d65737361676573202a2f0a096572726f7273203d207b0a0909276f766572666c6f77273a20274f766572666c6f773a20696e707574206e6565647320776964657220696e74656765727320746f2070726f63657373272c0a0909276e6f742d6261736963273a2027496c6c6567616c20696e707574203e3d203078383020286e6f74206120626173696320636f646520706f696e7429272c0a090927696e76616c69642d696e707574273a2027496e76616c696420696e707574270a097d2c0a0a092f2a2a20436f6e76656e69656e63652073686f727463757473202a2f0a09626173654d696e7573544d696e203d2062617365202d20744d696e2c0a09666c6f6f72203d204d6174682e666c6f6f722c0a09737472696e6746726f6d43686172436f6465203d20537472696e672e66726f6d43686172436f64652c0a0a092f2a2a2054656d706f72617279207661726961626c65202a2f0a096b65793b0a0a092f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a092f2a2a0a09202a20412067656e65726963206572726f72207574696c6974792066756e6374696f6e2e0a09202a2040707269766174650a09202a2040706172616d207b537472696e677d207479706520546865206572726f7220747970652e0a09202a204072657475726e73207b4572726f727d205468726f77732061206052616e67654572726f7260207769746820746865206170706c696361626c65206572726f72206d6573736167652e0a09202a2f0a0966756e6374696f6e206572726f72287479706529207b0a09097468726f77206e65772052616e67654572726f72286572726f72735b747970655d293b0a097d0a0a092f2a2a0a09202a20412067656e6572696320604172726179236d617060207574696c6974792066756e6374696f6e2e0a09202a2040707269766174650a09202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a09202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e207468617420676574732063616c6c656420666f722065766572792061727261790a09202a206974656d2e0a09202a204072657475726e73207b41727261797d2041206e6577206172726179206f662076616c7565732072657475726e6564206279207468652063616c6c6261636b2066756e6374696f6e2e0a09202a2f0a0966756e6374696f6e206d61702861727261792c20666e29207b0a0909766172206c656e677468203d2061727261792e6c656e6774683b0a090976617220726573756c74203d205b5d3b0a09097768696c6520286c656e6774682d2d29207b0a090909726573756c745b6c656e6774685d203d20666e2861727261795b6c656e6774685d293b0a09097d0a090972657475726e20726573756c743b0a097d0a0a092f2a2a0a09202a20412073696d706c6520604172726179236d6170602d6c696b65207772617070657220746f20776f726b207769746820646f6d61696e206e616d6520737472696e6773206f7220656d61696c0a09202a206164647265737365732e0a09202a2040707269766174650a09202a2040706172616d207b537472696e677d20646f6d61696e2054686520646f6d61696e206e616d65206f7220656d61696c20616464726573732e0a09202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e207468617420676574732063616c6c656420666f722065766572790a09202a206368617261637465722e0a09202a204072657475726e73207b41727261797d2041206e657720737472696e67206f6620636861726163746572732072657475726e6564206279207468652063616c6c6261636b0a09202a2066756e6374696f6e2e0a09202a2f0a0966756e6374696f6e206d6170446f6d61696e28737472696e672c20666e29207b0a0909766172207061727473203d20737472696e672e73706c697428274027293b0a090976617220726573756c74203d2027273b0a09096966202870617274732e6c656e677468203e203129207b0a0909092f2f20496e20656d61696c206164647265737365732c206f6e6c792074686520646f6d61696e206e616d652073686f756c642062652070756e79636f6465642e204c656176650a0909092f2f20746865206c6f63616c20706172742028692e652e2065766572797468696e6720757020746f206040602920696e746163742e0a090909726573756c74203d2070617274735b305d202b202740273b0a090909737472696e67203d2070617274735b315d3b0a09097d0a09092f2f2041766f6964206073706c6974287265676578296020666f722049453820636f6d7061746962696c6974792e20536565202331372e0a0909737472696e67203d20737472696e672e7265706c616365287265676578536570617261746f72732c20275c78324527293b0a0909766172206c6162656c73203d20737472696e672e73706c697428272e27293b0a090976617220656e636f646564203d206d6170286c6162656c732c20666e292e6a6f696e28272e27293b0a090972657475726e20726573756c74202b20656e636f6465643b0a097d0a0a092f2a2a0a09202a204372656174657320616e20617272617920636f6e7461696e696e6720746865206e756d6572696320636f646520706f696e7473206f66206561636820556e69636f64650a09202a2063686172616374657220696e2074686520737472696e672e205768696c65204a6176615363726970742075736573205543532d3220696e7465726e616c6c792c0a09202a20746869732066756e6374696f6e2077696c6c20636f6e7665727420612070616972206f6620737572726f676174652068616c766573202865616368206f662077686963680a09202a205543532d32206578706f73657320617320736570617261746520636861726163746572732920696e746f20612073696e676c6520636f646520706f696e742c0a09202a206d61746368696e67205554462d31362e0a09202a2040736565206070756e79636f64652e756373322e656e636f6465600a09202a2040736565203c68747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d656e636f64696e673e0a09202a20406d656d6265724f662070756e79636f64652e756373320a09202a20406e616d65206465636f64650a09202a2040706172616d207b537472696e677d20737472696e672054686520556e69636f646520696e70757420737472696e6720285543532d32292e0a09202a204072657475726e73207b41727261797d20546865206e6577206172726179206f6620636f646520706f696e74732e0a09202a2f0a0966756e6374696f6e20756373326465636f646528737472696e6729207b0a0909766172206f7574707574203d205b5d2c0a090920202020636f756e746572203d20302c0a0909202020206c656e677468203d20737472696e672e6c656e6774682c0a09092020202076616c75652c0a09092020202065787472613b0a09097768696c652028636f756e746572203c206c656e67746829207b0a09090976616c7565203d20737472696e672e63686172436f6465417428636f756e7465722b2b293b0a0909096966202876616c7565203e3d203078443830302026262076616c7565203c3d2030784442464620262620636f756e746572203c206c656e67746829207b0a090909092f2f206869676820737572726f676174652c20616e642074686572652069732061206e657874206368617261637465720a090909096578747261203d20737472696e672e63686172436f6465417428636f756e7465722b2b293b0a090909096966202828657874726120262030784643303029203d3d2030784443303029207b202f2f206c6f7720737572726f676174650a09090909096f75747075742e7075736828282876616c7565202620307833464629203c3c20313029202b20286578747261202620307833464629202b2030783130303030293b0a090909097d20656c7365207b0a09090909092f2f20756e6d61746368656420737572726f676174653b206f6e6c7920617070656e64207468697320636f646520756e69742c20696e206361736520746865206e6578740a09090909092f2f20636f646520756e697420697320746865206869676820737572726f67617465206f66206120737572726f6761746520706169720a09090909096f75747075742e707573682876616c7565293b0a0909090909636f756e7465722d2d3b0a090909097d0a0909097d20656c7365207b0a090909096f75747075742e707573682876616c7565293b0a0909097d0a09097d0a090972657475726e206f75747075743b0a097d0a0a092f2a2a0a09202a2043726561746573206120737472696e67206261736564206f6e20616e206172726179206f66206e756d6572696320636f646520706f696e74732e0a09202a2040736565206070756e79636f64652e756373322e6465636f6465600a09202a20406d656d6265724f662070756e79636f64652e756373320a09202a20406e616d6520656e636f64650a09202a2040706172616d207b41727261797d20636f6465506f696e747320546865206172726179206f66206e756d6572696320636f646520706f696e74732e0a09202a204072657475726e73207b537472696e677d20546865206e657720556e69636f646520737472696e6720285543532d32292e0a09202a2f0a0966756e6374696f6e2075637332656e636f646528617272617929207b0a090972657475726e206d61702861727261792c2066756e6374696f6e2876616c756529207b0a090909766172206f7574707574203d2027273b0a0909096966202876616c7565203e2030784646464629207b0a0909090976616c7565202d3d20307831303030303b0a090909096f7574707574202b3d20737472696e6746726f6d43686172436f64652876616c7565203e3e3e2031302026203078334646207c20307844383030293b0a0909090976616c7565203d20307844433030207c2076616c756520262030783346463b0a0909097d0a0909096f7574707574202b3d20737472696e6746726f6d43686172436f64652876616c7565293b0a09090972657475726e206f75747075743b0a09097d292e6a6f696e282727293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120626173696320636f646520706f696e7420696e746f20612064696769742f696e74656765722e0a09202a204073656520606469676974546f42617369632829600a09202a2040707269766174650a09202a2040706172616d207b4e756d6265727d20636f6465506f696e7420546865206261736963206e756d6572696320636f646520706f696e742076616c75652e0a09202a204072657475726e73207b4e756d6265727d20546865206e756d657269632076616c7565206f66206120626173696320636f646520706f696e742028666f722075736520696e0a09202a20726570726573656e74696e6720696e7465676572732920696e207468652072616e67652060306020746f206062617365202d2031602c206f72206062617365602069660a09202a2074686520636f646520706f696e7420646f6573206e6f7420726570726573656e7420612076616c75652e0a09202a2f0a0966756e6374696f6e206261736963546f446967697428636f6465506f696e7429207b0a090969662028636f6465506f696e74202d203438203c20313029207b0a09090972657475726e20636f6465506f696e74202d2032323b0a09097d0a090969662028636f6465506f696e74202d203635203c20323629207b0a09090972657475726e20636f6465506f696e74202d2036353b0a09097d0a090969662028636f6465506f696e74202d203937203c20323629207b0a09090972657475726e20636f6465506f696e74202d2039373b0a09097d0a090972657475726e20626173653b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612064696769742f696e746567657220696e746f206120626173696320636f646520706f696e742e0a09202a204073656520606261736963546f44696769742829600a09202a2040707269766174650a09202a2040706172616d207b4e756d6265727d20646967697420546865206e756d657269632076616c7565206f66206120626173696320636f646520706f696e742e0a09202a204072657475726e73207b4e756d6265727d2054686520626173696320636f646520706f696e742077686f73652076616c756520287768656e207573656420666f720a09202a20726570726573656e74696e6720696e7465676572732920697320606469676974602c207768696368206e6565647320746f20626520696e207468652072616e67650a09202a2060306020746f206062617365202d2031602e2049662060666c616760206973206e6f6e2d7a65726f2c207468652075707065726361736520666f726d2069730a09202a20757365643b20656c73652c20746865206c6f7765726361736520666f726d20697320757365642e20546865206265686176696f7220697320756e646566696e65640a09202a2069662060666c616760206973206e6f6e2d7a65726f20616e64206064696769746020686173206e6f2075707065726361736520666f726d2e0a09202a2f0a0966756e6374696f6e206469676974546f42617369632864696769742c20666c616729207b0a09092f2f2020302e2e3235206d617020746f20415343494920612e2e7a206f7220412e2e5a0a09092f2f2032362e2e3335206d617020746f20415343494920302e2e390a090972657475726e206469676974202b203232202b203735202a20286469676974203c20323629202d202828666c616720213d203029203c3c2035293b0a097d0a0a092f2a2a0a09202a20426961732061646170746174696f6e2066756e6374696f6e206173207065722073656374696f6e20332e34206f662052464320333439322e0a09202a2068747470733a2f2f746f6f6c732e696574662e6f72672f68746d6c2f726663333439322373656374696f6e2d332e340a09202a2040707269766174650a09202a2f0a0966756e6374696f6e2061646170742864656c74612c206e756d506f696e74732c20666972737454696d6529207b0a0909766172206b203d20303b0a090964656c7461203d20666972737454696d65203f20666c6f6f722864656c7461202f2064616d7029203a2064656c7461203e3e20313b0a090964656c7461202b3d20666c6f6f722864656c7461202f206e756d506f696e7473293b0a0909666f7220282f2a206e6f20696e697469616c697a6174696f6e202a2f3b2064656c7461203e20626173654d696e7573544d696e202a20744d6178203e3e20313b206b202b3d206261736529207b0a09090964656c7461203d20666c6f6f722864656c7461202f20626173654d696e7573544d696e293b0a09097d0a090972657475726e20666c6f6f72286b202b2028626173654d696e7573544d696e202b203129202a2064656c7461202f202864656c7461202b20736b657729293b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c7320746f206120737472696e67206f6620556e69636f64650a09202a2073796d626f6c732e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e707574205468652050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a204072657475726e73207b537472696e677d2054686520726573756c74696e6720737472696e67206f6620556e69636f64652073796d626f6c732e0a09202a2f0a0966756e6374696f6e206465636f646528696e70757429207b0a09092f2f20446f6e277420757365205543532d320a0909766172206f7574707574203d205b5d2c0a090920202020696e7075744c656e677468203d20696e7075742e6c656e6774682c0a0909202020206f75742c0a09092020202069203d20302c0a0909202020206e203d20696e697469616c4e2c0a09092020202062696173203d20696e697469616c426961732c0a09092020202062617369632c0a0909202020206a2c0a090920202020696e6465782c0a0909202020206f6c64692c0a090920202020772c0a0909202020206b2c0a09092020202064696769742c0a090920202020742c0a0909202020202f2a2a204361636865642063616c63756c6174696f6e20726573756c7473202a2f0a090920202020626173654d696e7573543b0a0a09092f2f2048616e646c652074686520626173696320636f646520706f696e74733a206c6574206062617369636020626520746865206e756d626572206f6620696e70757420636f64650a09092f2f20706f696e7473206265666f726520746865206c6173742064656c696d697465722c206f7220603060206966207468657265206973206e6f6e652c207468656e20636f70790a09092f2f2074686520666972737420626173696320636f646520706f696e747320746f20746865206f75747075742e0a0a09096261736963203d20696e7075742e6c617374496e6465784f662864656c696d69746572293b0a0909696620286261736963203c203029207b0a0909096261736963203d20303b0a09097d0a0a0909666f7220286a203d20303b206a203c2062617369633b202b2b6a29207b0a0909092f2f2069662069742773206e6f74206120626173696320636f646520706f696e740a09090969662028696e7075742e63686172436f64654174286a29203e3d203078383029207b0a090909096572726f7228276e6f742d626173696327293b0a0909097d0a0909096f75747075742e7075736828696e7075742e63686172436f64654174286a29293b0a09097d0a0a09092f2f204d61696e206465636f64696e67206c6f6f703a207374617274206a75737420616674657220746865206c6173742064656c696d6974657220696620616e7920626173696320636f64650a09092f2f20706f696e7473207765726520636f706965643b2073746172742061742074686520626567696e6e696e67206f74686572776973652e0a0a0909666f722028696e646578203d206261736963203e2030203f206261736963202b2031203a20303b20696e646578203c20696e7075744c656e6774683b202f2a206e6f2066696e616c2065787072657373696f6e202a2f29207b0a0a0909092f2f2060696e646578602069732074686520696e646578206f6620746865206e6578742063686172616374657220746f20626520636f6e73756d65642e0a0909092f2f204465636f646520612067656e6572616c697a6564207661726961626c652d6c656e67746820696e746567657220696e746f206064656c7461602c0a0909092f2f207768696368206765747320616464656420746f206069602e20546865206f766572666c6f7720636865636b696e67206973206561736965720a0909092f2f20696620776520696e6372656173652060696020617320776520676f2c207468656e207375627472616374206f666620697473207374617274696e670a0909092f2f2076616c75652061742074686520656e6420746f206f627461696e206064656c7461602e0a090909666f7220286f6c6469203d20692c2077203d20312c206b203d20626173653b202f2a206e6f20636f6e646974696f6e202a2f3b206b202b3d206261736529207b0a0a0909090969662028696e646578203e3d20696e7075744c656e67746829207b0a09090909096572726f722827696e76616c69642d696e70757427293b0a090909097d0a0a090909096469676974203d206261736963546f446967697428696e7075742e63686172436f6465417428696e6465782b2b29293b0a0a09090909696620286469676974203e3d2062617365207c7c206469676974203e20666c6f6f7228286d6178496e74202d206929202f20772929207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a0909090969202b3d206469676974202a20773b0a0909090974203d206b203c3d2062696173203f20744d696e203a20286b203e3d2062696173202b20744d6178203f20744d6178203a206b202d2062696173293b0a0a09090909696620286469676974203c207429207b0a0909090909627265616b3b0a090909097d0a0a09090909626173654d696e757354203d2062617365202d20743b0a090909096966202877203e20666c6f6f72286d6178496e74202f20626173654d696e7573542929207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a0909090977202a3d20626173654d696e7573543b0a0a0909097d0a0a0909096f7574203d206f75747075742e6c656e677468202b20313b0a09090962696173203d2061646170742869202d206f6c64692c206f75742c206f6c6469203d3d2030293b0a0a0909092f2f206069602077617320737570706f73656420746f20777261702061726f756e642066726f6d20606f75746020746f206030602c0a0909092f2f20696e6372656d656e74696e6720606e6020656163682074696d652c20736f207765276c6c206669782074686174206e6f773a0a09090969662028666c6f6f722869202f206f757429203e206d6178496e74202d206e29207b0a090909096572726f7228276f766572666c6f7727293b0a0909097d0a0a0909096e202b3d20666c6f6f722869202f206f7574293b0a0909096920253d206f75743b0a0a0909092f2f20496e7365727420606e6020617420706f736974696f6e20606960206f6620746865206f75747075740a0909096f75747075742e73706c69636528692b2b2c20302c206e293b0a0a09097d0a0a090972657475726e2075637332656e636f6465286f7574707574293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120737472696e67206f6620556e69636f64652073796d626f6c732028652e672e206120646f6d61696e206e616d65206c6162656c2920746f20610a09202a2050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e7075742054686520737472696e67206f6620556e69636f64652073796d626f6c732e0a09202a204072657475726e73207b537472696e677d2054686520726573756c74696e672050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a2f0a0966756e6374696f6e20656e636f646528696e70757429207b0a0909766172206e2c0a09092020202064656c74612c0a09092020202068616e646c65644350436f756e742c0a09092020202062617369634c656e6774682c0a090920202020626961732c0a0909202020206a2c0a0909202020206d2c0a090920202020712c0a0909202020206b2c0a090920202020742c0a09092020202063757272656e7456616c75652c0a0909202020206f7574707574203d205b5d2c0a0909202020202f2a2a2060696e7075744c656e677468602077696c6c20686f6c6420746865206e756d626572206f6620636f646520706f696e747320696e2060696e707574602e202a2f0a090920202020696e7075744c656e6774682c0a0909202020202f2a2a204361636865642063616c63756c6174696f6e20726573756c7473202a2f0a09092020202068616e646c65644350436f756e74506c75734f6e652c0a090920202020626173654d696e7573542c0a090920202020714d696e7573543b0a0a09092f2f20436f6e766572742074686520696e70757420696e205543532d3220746f20556e69636f64650a0909696e707574203d20756373326465636f646528696e707574293b0a0a09092f2f20436163686520746865206c656e6774680a0909696e7075744c656e677468203d20696e7075742e6c656e6774683b0a0a09092f2f20496e697469616c697a65207468652073746174650a09096e203d20696e697469616c4e3b0a090964656c7461203d20303b0a090962696173203d20696e697469616c426961733b0a0a09092f2f2048616e646c652074686520626173696320636f646520706f696e74730a0909666f7220286a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a09090963757272656e7456616c7565203d20696e7075745b6a5d3b0a0909096966202863757272656e7456616c7565203c203078383029207b0a090909096f75747075742e7075736828737472696e6746726f6d43686172436f64652863757272656e7456616c756529293b0a0909097d0a09097d0a0a090968616e646c65644350436f756e74203d2062617369634c656e677468203d206f75747075742e6c656e6774683b0a0a09092f2f206068616e646c65644350436f756e746020697320746865206e756d626572206f6620636f646520706f696e747320746861742068617665206265656e2068616e646c65643b0a09092f2f206062617369634c656e6774686020697320746865206e756d626572206f6620626173696320636f646520706f696e74732e0a0a09092f2f2046696e6973682074686520626173696320737472696e67202d206966206974206973206e6f7420656d707479202d207769746820612064656c696d697465720a09096966202862617369634c656e67746829207b0a0909096f75747075742e707573682864656c696d69746572293b0a09097d0a0a09092f2f204d61696e20656e636f64696e67206c6f6f703a0a09097768696c65202868616e646c65644350436f756e74203c20696e7075744c656e67746829207b0a0a0909092f2f20416c6c206e6f6e2d626173696320636f646520706f696e7473203c206e2068617665206265656e2068616e646c656420616c72656164792e2046696e6420746865206e6578740a0909092f2f206c6172676572206f6e653a0a090909666f7220286d203d206d6178496e742c206a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a0909090963757272656e7456616c7565203d20696e7075745b6a5d3b0a090909096966202863757272656e7456616c7565203e3d206e2026262063757272656e7456616c7565203c206d29207b0a09090909096d203d2063757272656e7456616c75653b0a090909097d0a0909097d0a0a0909092f2f20496e637265617365206064656c74616020656e6f75676820746f20616476616e636520746865206465636f6465722773203c6e2c693e20737461746520746f203c6d2c303e2c0a0909092f2f2062757420677561726420616761696e7374206f766572666c6f770a09090968616e646c65644350436f756e74506c75734f6e65203d2068616e646c65644350436f756e74202b20313b0a090909696620286d202d206e203e20666c6f6f7228286d6178496e74202d2064656c746129202f2068616e646c65644350436f756e74506c75734f6e652929207b0a090909096572726f7228276f766572666c6f7727293b0a0909097d0a0a09090964656c7461202b3d20286d202d206e29202a2068616e646c65644350436f756e74506c75734f6e653b0a0909096e203d206d3b0a0a090909666f7220286a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a0909090963757272656e7456616c7565203d20696e7075745b6a5d3b0a0a090909096966202863757272656e7456616c7565203c206e202626202b2b64656c7461203e206d6178496e7429207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a090909096966202863757272656e7456616c7565203d3d206e29207b0a09090909092f2f20526570726573656e742064656c746120617320612067656e6572616c697a6564207661726961626c652d6c656e67746820696e74656765720a0909090909666f72202871203d2064656c74612c206b203d20626173653b202f2a206e6f20636f6e646974696f6e202a2f3b206b202b3d206261736529207b0a09090909090974203d206b203c3d2062696173203f20744d696e203a20286b203e3d2062696173202b20744d6178203f20744d6178203a206b202d2062696173293b0a0909090909096966202871203c207429207b0a09090909090909627265616b3b0a0909090909097d0a090909090909714d696e757354203d2071202d20743b0a090909090909626173654d696e757354203d2062617365202d20743b0a0909090909096f75747075742e70757368280a09090909090909737472696e6746726f6d43686172436f6465286469676974546f42617369632874202b20714d696e757354202520626173654d696e7573542c203029290a090909090909293b0a09090909090971203d20666c6f6f7228714d696e757354202f20626173654d696e757354293b0a09090909097d0a0a09090909096f75747075742e7075736828737472696e6746726f6d43686172436f6465286469676974546f426173696328712c20302929293b0a090909090962696173203d2061646170742864656c74612c2068616e646c65644350436f756e74506c75734f6e652c2068616e646c65644350436f756e74203d3d2062617369634c656e677468293b0a090909090964656c7461203d20303b0a09090909092b2b68616e646c65644350436f756e743b0a090909097d0a0909097d0a0a0909092b2b64656c74613b0a0909092b2b6e3b0a0a09097d0a090972657475726e206f75747075742e6a6f696e282727293b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612050756e79636f646520737472696e6720726570726573656e74696e67206120646f6d61696e206e616d65206f7220616e20656d61696c20616464726573730a09202a20746f20556e69636f64652e204f6e6c79207468652050756e79636f646564207061727473206f662074686520696e7075742077696c6c20626520636f6e7665727465642c20692e652e0a09202a20697420646f65736e2774206d617474657220696620796f752063616c6c206974206f6e206120737472696e6720746861742068617320616c7265616479206265656e0a09202a20636f6e76657274656420746f20556e69636f64652e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e707574205468652050756e79636f64656420646f6d61696e206e616d65206f7220656d61696c206164647265737320746f0a09202a20636f6e7665727420746f20556e69636f64652e0a09202a204072657475726e73207b537472696e677d2054686520556e69636f646520726570726573656e746174696f6e206f662074686520676976656e2050756e79636f64650a09202a20737472696e672e0a09202a2f0a0966756e6374696f6e20746f556e69636f646528696e70757429207b0a090972657475726e206d6170446f6d61696e28696e7075742c2066756e6374696f6e28737472696e6729207b0a09090972657475726e20726567657850756e79636f64652e7465737428737472696e67290a090909093f206465636f646528737472696e672e736c6963652834292e746f4c6f776572436173652829290a090909093a20737472696e673b0a09097d293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120556e69636f646520737472696e6720726570726573656e74696e67206120646f6d61696e206e616d65206f7220616e20656d61696c206164647265737320746f0a09202a2050756e79636f64652e204f6e6c7920746865206e6f6e2d4153434949207061727473206f662074686520646f6d61696e206e616d652077696c6c20626520636f6e7665727465642c0a09202a20692e652e20697420646f65736e2774206d617474657220696620796f752063616c6c2069742077697468206120646f6d61696e2074686174277320616c726561647920696e0a09202a2041534349492e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e7075742054686520646f6d61696e206e616d65206f7220656d61696c206164647265737320746f20636f6e766572742c20617320610a09202a20556e69636f646520737472696e672e0a09202a204072657475726e73207b537472696e677d205468652050756e79636f646520726570726573656e746174696f6e206f662074686520676976656e20646f6d61696e206e616d65206f720a09202a20656d61696c20616464726573732e0a09202a2f0a0966756e6374696f6e20746f415343494928696e70757429207b0a090972657475726e206d6170446f6d61696e28696e7075742c2066756e6374696f6e28737472696e6729207b0a09090972657475726e2072656765784e6f6e41534349492e7465737428737472696e67290a090909093f2027786e2d2d27202b20656e636f646528737472696e67290a090909093a20737472696e673b0a09097d293b0a097d0a0a092f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a092f2a2a20446566696e6520746865207075626c696320415049202a2f0a0970756e79636f6465203d207b0a09092f2a2a0a0909202a204120737472696e6720726570726573656e74696e67207468652063757272656e742050756e79636f64652e6a732076657273696f6e206e756d6265722e0a0909202a20406d656d6265724f662070756e79636f64650a0909202a20407479706520537472696e670a0909202a2f0a09092776657273696f6e273a2027312e342e31272c0a09092f2a2a0a0909202a20416e206f626a656374206f66206d6574686f647320746f20636f6e766572742066726f6d204a617661536372697074277320696e7465726e616c206368617261637465720a0909202a20726570726573656e746174696f6e20285543532d322920746f20556e69636f646520636f646520706f696e74732c20616e64206261636b2e0a0909202a2040736565203c68747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d656e636f64696e673e0a0909202a20406d656d6265724f662070756e79636f64650a0909202a204074797065204f626a6563740a0909202a2f0a09092775637332273a207b0a090909276465636f6465273a20756373326465636f64652c0a09090927656e636f6465273a2075637332656e636f64650a09097d2c0a0909276465636f6465273a206465636f64652c0a090927656e636f6465273a20656e636f64652c0a090927746f4153434949273a20746f41534349492c0a090927746f556e69636f6465273a20746f556e69636f64650a097d3b0a0a092f2a2a204578706f7365206070756e79636f646560202a2f0a092f2f20536f6d6520414d44206275696c64206f7074696d697a6572732c206c696b6520722e6a732c20636865636b20666f7220737065636966696320636f6e646974696f6e207061747465726e730a092f2f206c696b652074686520666f6c6c6f77696e673a0a09696620280a0909747970656f6620646566696e65203d3d202766756e6374696f6e272026260a0909747970656f6620646566696e652e616d64203d3d20276f626a656374272026260a0909646566696e652e616d640a0929207b0a0909646566696e65282770756e79636f6465272c2066756e6374696f6e2829207b0a09090972657475726e2070756e79636f64653b0a09097d293b0a097d20656c73652069662028667265654578706f72747320262620667265654d6f64756c6529207b0a0909696620286d6f64756c652e6578706f727473203d3d20667265654578706f72747329207b0a0909092f2f20696e204e6f64652e6a732c20696f2e6a732c206f722052696e676f4a532076302e382e302b0a090909667265654d6f64756c652e6578706f727473203d2070756e79636f64653b0a09097d20656c7365207b0a0909092f2f20696e204e61727768616c206f722052696e676f4a532076302e372e302d0a090909666f7220286b657920696e2070756e79636f646529207b0a0909090970756e79636f64652e6861734f776e50726f7065727479286b6579292026262028667265654578706f7274735b6b65795d203d2070756e79636f64655b6b65795d293b0a0909097d0a09097d0a097d20656c7365207b0a09092f2f20696e205268696e6f206f722061207765622062726f777365720a0909726f6f742e70756e79636f6465203d2070756e79636f64653b0a097d0a0a7d287468697329293b0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3132373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a2f2f204966206f626a2e6861734f776e50726f706572747920686173206265656e206f76657272696464656e2c207468656e2063616c6c696e670a2f2f206f626a2e6861734f776e50726f70657274792870726f70292077696c6c20627265616b2e0a2f2f205365653a2068747470733a2f2f6769746875622e636f6d2f6a6f79656e742f6e6f64652f6973737565732f313730370a66756e6374696f6e206861734f776e50726f7065727479286f626a2c2070726f7029207b0a202072657475726e204f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c286f626a2c2070726f70293b0a7d0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e2871732c207365702c2065712c206f7074696f6e7329207b0a2020736570203d20736570207c7c202726273b0a20206571203d206571207c7c20273d273b0a2020766172206f626a203d207b7d3b0a0a202069662028747970656f6620717320213d3d2027737472696e6727207c7c2071732e6c656e677468203d3d3d203029207b0a2020202072657475726e206f626a3b0a20207d0a0a202076617220726567657870203d202f5c2b2f673b0a20207173203d2071732e73706c697428736570293b0a0a2020766172206d61784b657973203d20313030303b0a2020696620286f7074696f6e7320262620747970656f66206f7074696f6e732e6d61784b657973203d3d3d20276e756d6265722729207b0a202020206d61784b657973203d206f7074696f6e732e6d61784b6579733b0a20207d0a0a2020766172206c656e203d2071732e6c656e6774683b0a20202f2f206d61784b657973203c3d2030206d65616e7320746861742077652073686f756c64206e6f74206c696d6974206b65797320636f756e740a2020696620286d61784b657973203e2030202626206c656e203e206d61784b65797329207b0a202020206c656e203d206d61784b6579733b0a20207d0a0a2020666f7220287661722069203d20303b2069203c206c656e3b202b2b6929207b0a202020207661722078203d2071735b695d2e7265706c616365287265676578702c202725323027292c0a2020202020202020696478203d20782e696e6465784f66286571292c0a20202020202020206b7374722c20767374722c206b2c20763b0a0a2020202069662028696478203e3d203029207b0a2020202020206b737472203d20782e73756273747228302c20696478293b0a20202020202076737472203d20782e73756273747228696478202b2031293b0a202020207d20656c7365207b0a2020202020206b737472203d20783b0a20202020202076737472203d2027273b0a202020207d0a0a202020206b203d206465636f6465555249436f6d706f6e656e74286b737472293b0a2020202076203d206465636f6465555249436f6d706f6e656e742876737472293b0a0a2020202069662028216861734f776e50726f7065727479286f626a2c206b2929207b0a2020202020206f626a5b6b5d203d20763b0a202020207d20656c7365206966202869734172726179286f626a5b6b5d2929207b0a2020202020206f626a5b6b5d2e707573682876293b0a202020207d20656c7365207b0a2020202020206f626a5b6b5d203d205b6f626a5b6b5d2c20765d3b0a202020207d0a20207d0a0a202072657475726e206f626a3b0a7d3b0a0a7661722069734172726179203d2041727261792e69734172726179207c7c2066756e6374696f6e2028787329207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c28787329203d3d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a7d2c7b7d5d2c3132383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a76617220737472696e676966795072696d6974697665203d2066756e6374696f6e287629207b0a20207377697463682028747970656f66207629207b0a20202020636173652027737472696e67273a0a20202020202072657475726e20763b0a0a20202020636173652027626f6f6c65616e273a0a20202020202072657475726e2076203f20277472756527203a202766616c7365273b0a0a202020206361736520276e756d626572273a0a20202020202072657475726e20697346696e697465287629203f2076203a2027273b0a0a2020202064656661756c743a0a20202020202072657475726e2027273b0a20207d0a7d3b0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e286f626a2c207365702c2065712c206e616d6529207b0a2020736570203d20736570207c7c202726273b0a20206571203d206571207c7c20273d273b0a2020696620286f626a203d3d3d206e756c6c29207b0a202020206f626a203d20756e646566696e65643b0a20207d0a0a202069662028747970656f66206f626a203d3d3d20276f626a6563742729207b0a2020202072657475726e206d6170286f626a6563744b657973286f626a292c2066756e6374696f6e286b29207b0a202020202020766172206b73203d20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286b2929202b2065713b0a2020202020206966202869734172726179286f626a5b6b5d2929207b0a202020202020202072657475726e206d6170286f626a5b6b5d2c2066756e6374696f6e287629207b0a2020202020202020202072657475726e206b73202b20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665287629293b0a20202020202020207d292e6a6f696e28736570293b0a2020202020207d20656c7365207b0a202020202020202072657475726e206b73202b20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286f626a5b6b5d29293b0a2020202020207d0a202020207d292e6a6f696e28736570293b0a0a20207d0a0a202069662028216e616d65292072657475726e2027273b0a202072657475726e20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286e616d652929202b206571202b0a202020202020202020656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286f626a29293b0a7d3b0a0a7661722069734172726179203d2041727261792e69734172726179207c7c2066756e6374696f6e2028787329207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c28787329203d3d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a66756e6374696f6e206d6170202878732c206629207b0a20206966202878732e6d6170292072657475726e2078732e6d61702866293b0a202076617220726573203d205b5d3b0a2020666f7220287661722069203d20303b2069203c2078732e6c656e6774683b20692b2b29207b0a202020207265732e7075736828662878735b695d2c206929293b0a20207d0a202072657475726e207265733b0a7d0a0a766172206f626a6563744b657973203d204f626a6563742e6b657973207c7c2066756e6374696f6e20286f626a29207b0a202076617220726573203d205b5d3b0a2020666f722028766172206b657920696e206f626a29207b0a20202020696620284f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c286f626a2c206b65792929207265732e70757368286b6579293b0a20207d0a202072657475726e207265733b0a7d3b0a0a7d2c7b7d5d2c3132393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a6578706f7274732e6465636f6465203d206578706f7274732e7061727365203d207265717569726528272e2f6465636f646527293b0a6578706f7274732e656e636f6465203d206578706f7274732e737472696e67696679203d207265717569726528272e2f656e636f646527293b0a0a7d2c7b222e2f6465636f6465223a3132372c222e2f656e636f6465223a3132387d5d2c3133303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2065736c696e742d64697361626c65206e6f64652f6e6f2d646570726563617465642d617069202a2f0a76617220627566666572203d2072657175697265282762756666657227290a76617220427566666572203d206275666665722e4275666665720a0a2f2f20616c7465726e617469766520746f207573696e67204f626a6563742e6b65797320666f72206f6c642062726f77736572730a66756e6374696f6e20636f707950726f707320287372632c2064737429207b0a2020666f722028766172206b657920696e2073726329207b0a202020206473745b6b65795d203d207372635b6b65795d0a20207d0a7d0a696620284275666665722e66726f6d202626204275666665722e616c6c6f63202626204275666665722e616c6c6f63556e73616665202626204275666665722e616c6c6f63556e73616665536c6f7729207b0a20206d6f64756c652e6578706f727473203d206275666665720a7d20656c7365207b0a20202f2f20436f70792070726f706572746965732066726f6d2072657175697265282762756666657227290a2020636f707950726f7073286275666665722c206578706f727473290a20206578706f7274732e427566666572203d20536166654275666665720a7d0a0a66756e6374696f6e205361666542756666657220286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202072657475726e20427566666572286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f20436f707920737461746963206d6574686f64732066726f6d204275666665720a636f707950726f7073284275666665722c2053616665427566666572290a0a536166654275666665722e66726f6d203d2066756e6374696f6e20286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202069662028747970656f6620617267203d3d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d757374206e6f742062652061206e756d62657227290a20207d0a202072657475726e20427566666572286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a536166654275666665722e616c6c6f63203d2066756e6374696f6e202873697a652c2066696c6c2c20656e636f64696e6729207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202076617220627566203d204275666665722873697a65290a20206966202866696c6c20213d3d20756e646566696e656429207b0a2020202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e672729207b0a2020202020206275662e66696c6c2866696c6c2c20656e636f64696e67290a202020207d20656c7365207b0a2020202020206275662e66696c6c2866696c6c290a202020207d0a20207d20656c7365207b0a202020206275662e66696c6c2830290a20207d0a202072657475726e206275660a7d0a0a536166654275666665722e616c6c6f63556e73616665203d2066756e6374696f6e202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202072657475726e204275666665722873697a65290a7d0a0a536166654275666665722e616c6c6f63556e73616665536c6f77203d2066756e6374696f6e202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202072657475726e206275666665722e536c6f774275666665722873697a65290a7d0a0a7d2c7b22627566666572223a33327d5d2c3133313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a76617220436c69656e7452657175657374203d207265717569726528272e2f6c69622f7265717565737427290a76617220657874656e64203d207265717569726528277874656e6427290a76617220737461747573436f646573203d207265717569726528276275696c74696e2d7374617475732d636f64657327290a7661722075726c203d2072657175697265282775726c27290a0a7661722068747470203d206578706f7274730a0a687474702e72657175657374203d2066756e6374696f6e20286f7074732c20636229207b0a0969662028747970656f66206f707473203d3d3d2027737472696e6727290a09096f707473203d2075726c2e7061727365286f707473290a09656c73650a09096f707473203d20657874656e64286f707473290a0a092f2f204e6f726d616c6c792c207468652070616765206973206c6f616465642066726f6d2068747470206f722068747470732c20736f206e6f742073706563696679696e6720612070726f746f636f6c0a092f2f2077696c6c20726573756c7420696e2061202876616c6964292070726f746f636f6c2d72656c61746976652075726c2e20486f77657665722c207468697320776f6e277420776f726b2069660a092f2f207468652070726f746f636f6c20697320736f6d657468696e6720656c73652c206c696b65202766696c653a270a097661722064656661756c7450726f746f636f6c203d20676c6f62616c2e6c6f636174696f6e2e70726f746f636f6c2e736561726368282f5e68747470733f3a242f29203d3d3d202d31203f2027687474703a27203a2027270a0a097661722070726f746f636f6c203d206f7074732e70726f746f636f6c207c7c2064656661756c7450726f746f636f6c0a0976617220686f7374203d206f7074732e686f73746e616d65207c7c206f7074732e686f73740a0976617220706f7274203d206f7074732e706f72740a097661722070617468203d206f7074732e70617468207c7c20272f270a0a092f2f204e656365737361727920666f722049507636206164647265737365730a0969662028686f737420262620686f73742e696e6465784f6628273a272920213d3d202d31290a0909686f7374203d20275b27202b20686f7374202b20275d270a0a092f2f2054686973206d617920626520612072656c61746976652075726c2e205468652062726f777365722073686f756c6420616c776179732062652061626c6520746f20696e7465727072657420697420636f72726563746c792e0a096f7074732e75726c203d2028686f7374203f202870726f746f636f6c202b20272f2f27202b20686f737429203a20272729202b2028706f7274203f20273a27202b20706f7274203a20272729202b20706174680a096f7074732e6d6574686f64203d20286f7074732e6d6574686f64207c7c202747455427292e746f55707065724361736528290a096f7074732e68656164657273203d206f7074732e68656164657273207c7c207b7d0a0a092f2f20416c736f2076616c6964206f7074732e617574682c206f7074732e6d6f64650a0a0976617220726571203d206e657720436c69656e7452657175657374286f707473290a09696620286362290a09097265712e6f6e2827726573706f6e7365272c206362290a0972657475726e207265710a7d0a0a687474702e676574203d2066756e6374696f6e2067657420286f7074732c20636229207b0a0976617220726571203d20687474702e72657175657374286f7074732c206362290a097265712e656e6428290a0972657475726e207265710a7d0a0a687474702e4167656e74203d2066756e6374696f6e202829207b7d0a687474702e4167656e742e64656661756c744d6178536f636b657473203d20340a0a687474702e5354415455535f434f444553203d20737461747573436f6465730a0a687474702e4d4554484f4453203d205b0a0927434845434b4f5554272c0a0927434f4e4e454354272c0a0927434f5059272c0a092744454c455445272c0a0927474554272c0a092748454144272c0a09274c4f434b272c0a09274d2d534541524348272c0a09274d45524745272c0a09274d4b4143544956495459272c0a09274d4b434f4c272c0a09274d4f5645272c0a09274e4f54494659272c0a09274f5054494f4e53272c0a09275041544348272c0a0927504f5354272c0a092750524f5046494e44272c0a092750524f505041544348272c0a09275055524745272c0a0927505554272c0a09275245504f5254272c0a0927534541524348272c0a0927535542534352494245272c0a09275452414345272c0a0927554e4c4f434b272c0a0927554e535542534352494245270a5d0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f6c69622f72657175657374223a3133332c226275696c74696e2d7374617475732d636f646573223a33372c2275726c223a33352c227874656e64223a3134397d5d2c3133323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a6578706f7274732e6665746368203d20697346756e6374696f6e28676c6f62616c2e66657463682920262620697346756e6374696f6e28676c6f62616c2e5265616461626c6553747265616d290a0a6578706f7274732e626c6f62436f6e7374727563746f72203d2066616c73650a747279207b0a096e657720426c6f62285b6e65772041727261794275666665722831295d290a096578706f7274732e626c6f62436f6e7374727563746f72203d20747275650a7d20636174636820286529207b7d0a0a2f2f2054686520786872207265717565737420746f206578616d706c652e636f6d206d61792076696f6c61746520736f6d652072657374726963746976652043535020636f6e66696775726174696f6e732c0a2f2f20736f2069662077652772652072756e6e696e6720696e20612062726f77736572207468617420737570706f72747320606665746368602c2061766f69642063616c6c696e672067657458485228290a2f2f20616e6420617373756d6520737570706f727420666f72206365727461696e2066656174757265732062656c6f772e0a766172207868720a66756e6374696f6e20676574584852202829207b0a092f2f20436163686520746865207868722076616c75650a096966202878687220213d3d20756e646566696e6564292072657475726e207868720a0a0969662028676c6f62616c2e584d4c487474705265717565737429207b0a0909786872203d206e657720676c6f62616c2e584d4c487474705265717565737428290a09092f2f2049662058446f6d61696e5265717565737420697320617661696c61626c6520286965206f6e6c792c20776865726520786872206d69676874206e6f7420776f726b0a09092f2f2063726f737320646f6d61696e292c20757365207468652070616765206c6f636174696f6e2e204f746865727769736520757365206578616d706c652e636f6d0a09092f2f204e6f74653a207468697320646f65736e27742061637475616c6c79206d616b6520616e206874747020726571756573742e0a0909747279207b0a0909097868722e6f70656e2827474554272c20676c6f62616c2e58446f6d61696e52657175657374203f20272f27203a202768747470733a2f2f6578616d706c652e636f6d27290a09097d206361746368286529207b0a090909786872203d206e756c6c0a09097d0a097d20656c7365207b0a09092f2f205365727669636520776f726b65727320646f6e27742068617665205848520a0909786872203d206e756c6c0a097d0a0972657475726e207868720a7d0a0a66756e6374696f6e20636865636b54797065537570706f727420287479706529207b0a0976617220786872203d2067657458485228290a096966202821786872292072657475726e2066616c73650a09747279207b0a09097868722e726573706f6e736554797065203d20747970650a090972657475726e207868722e726573706f6e736554797065203d3d3d20747970650a097d20636174636820286529207b7d0a0972657475726e2066616c73650a7d0a0a2f2f20466f7220736f6d6520737472616e676520726561736f6e2c2053616661726920372e30207265706f72747320747970656f6620676c6f62616c2e4172726179427566666572203d3d3d20276f626a656374272e0a2f2f2053616661726920372e31206170706561727320746f20686176652066697865642074686973206275672e0a76617220686176654172726179427566666572203d20747970656f6620676c6f62616c2e417272617942756666657220213d3d2027756e646566696e6564270a7661722068617665536c696365203d2068617665417272617942756666657220262620697346756e6374696f6e28676c6f62616c2e41727261794275666665722e70726f746f747970652e736c696365290a0a2f2f20496620666574636820697320737570706f727465642c207468656e2061727261796275666665722077696c6c20626520737570706f7274656420746f6f2e20536b69702063616c6c696e670a2f2f20636865636b54797065537570706f727428292c2073696e636520746861742063616c6c732067657458485228292e0a6578706f7274732e6172726179627566666572203d206578706f7274732e6665746368207c7c202868617665417272617942756666657220262620636865636b54797065537570706f7274282761727261796275666665722729290a0a2f2f205468657365206e6578742074776f20746573747320756e61766f696461626c792073686f77207761726e696e677320696e204368726f6d652e2053696e63652066657463682077696c6c20616c776179730a2f2f2062652075736564206966206974277320617661696c61626c652c206a7573742072657475726e2066616c736520666f7220746865736520746f2061766f696420746865207761726e696e67732e0a6578706f7274732e6d7373747265616d203d20216578706f7274732e66657463682026262068617665536c69636520262620636865636b54797065537570706f727428276d732d73747265616d27290a6578706f7274732e6d6f7a6368756e6b65646172726179627566666572203d20216578706f7274732e6665746368202626206861766541727261794275666665722026260a09636865636b54797065537570706f727428276d6f7a2d6368756e6b65642d617272617962756666657227290a0a2f2f20496620666574636820697320737570706f727465642c207468656e206f766572726964654d696d65547970652077696c6c20626520737570706f7274656420746f6f2e20536b69702063616c6c696e670a2f2f2067657458485228292e0a6578706f7274732e6f766572726964654d696d6554797065203d206578706f7274732e6665746368207c7c20286765745848522829203f20697346756e6374696f6e2867657458485228292e6f766572726964654d696d655479706529203a2066616c7365290a0a6578706f7274732e76624172726179203d20697346756e6374696f6e28676c6f62616c2e56424172726179290a0a66756e6374696f6e20697346756e6374696f6e202876616c756529207b0a0972657475726e20747970656f662076616c7565203d3d3d202766756e6374696f6e270a7d0a0a786872203d206e756c6c202f2f2048656c702067630a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3133333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c2c427566666572297b0a766172206361706162696c697479203d207265717569726528272e2f6361706162696c69747927290a76617220696e686572697473203d20726571756972652827696e68657269747327290a76617220726573706f6e7365203d207265717569726528272e2f726573706f6e736527290a7661722073747265616d203d207265717569726528277265616461626c652d73747265616d27290a76617220746f4172726179427566666572203d20726571756972652827746f2d617272617962756666657227290a0a76617220496e636f6d696e674d657373616765203d20726573706f6e73652e496e636f6d696e674d6573736167650a7661722072537461746573203d20726573706f6e73652e72656164795374617465730a0a66756e6374696f6e206465636964654d6f6465202870726566657242696e6172792c20757365466574636829207b0a09696620286361706162696c6974792e666574636820262620757365466574636829207b0a090972657475726e20276665746368270a097d20656c736520696620286361706162696c6974792e6d6f7a6368756e6b6564617272617962756666657229207b0a090972657475726e20276d6f7a2d6368756e6b65642d6172726179627566666572270a097d20656c736520696620286361706162696c6974792e6d7373747265616d29207b0a090972657475726e20276d732d73747265616d270a097d20656c736520696620286361706162696c6974792e61727261796275666665722026262070726566657242696e61727929207b0a090972657475726e20276172726179627566666572270a097d20656c736520696620286361706162696c6974792e766241727261792026262070726566657242696e61727929207b0a090972657475726e2027746578743a76626172726179270a097d20656c7365207b0a090972657475726e202774657874270a097d0a7d0a0a76617220436c69656e7452657175657374203d206d6f64756c652e6578706f727473203d2066756e6374696f6e20286f70747329207b0a097661722073656c66203d20746869730a0973747265616d2e5772697461626c652e63616c6c2873656c66290a0a0973656c662e5f6f707473203d206f7074730a0973656c662e5f626f6479203d205b5d0a0973656c662e5f68656164657273203d207b7d0a09696620286f7074732e61757468290a090973656c662e7365744865616465722827417574686f72697a6174696f6e272c202742617369632027202b206e657720427566666572286f7074732e61757468292e746f537472696e6728276261736536342729290a094f626a6563742e6b657973286f7074732e68656164657273292e666f72456163682866756e6374696f6e20286e616d6529207b0a090973656c662e736574486561646572286e616d652c206f7074732e686561646572735b6e616d655d290a097d290a0a097661722070726566657242696e6172790a09766172207573654665746368203d20747275650a09696620286f7074732e6d6f6465203d3d3d202764697361626c652d666574636827207c7c202774696d656f75742720696e206f70747329207b0a09092f2f2049662074686520757365206f66205848522073686f756c642062652070726566657272656420616e6420696e636c756465732070726573657276696e67207468652027636f6e74656e742d7479706527206865616465722e0a09092f2f20466f7263652058485220746f20626520757365642073696e6365207468652046657463682041504920646f6573206e6f742079657420737570706f72742074696d656f7574732e0a09097573654665746368203d2066616c73650a090970726566657242696e617279203d20747275650a097d20656c736520696620286f7074732e6d6f6465203d3d3d20277072656665722d73747265616d696e672729207b0a09092f2f2049662073747265616d696e6720697320612068696768207072696f72697479206275742062696e61727920636f6d7061746962696c69747920616e640a09092f2f20746865206163637572616379206f66207468652027636f6e74656e742d747970652720686561646572206172656e27740a090970726566657242696e617279203d2066616c73650a097d20656c736520696620286f7074732e6d6f6465203d3d3d2027616c6c6f772d77726f6e672d636f6e74656e742d747970652729207b0a09092f2f2049662073747265616d696e67206973206d6f726520696d706f7274616e74207468616e2070726573657276696e67207468652027636f6e74656e742d7479706527206865616465720a090970726566657242696e617279203d20216361706162696c6974792e6f766572726964654d696d65547970650a097d20656c73652069662028216f7074732e6d6f6465207c7c206f7074732e6d6f6465203d3d3d202764656661756c7427207c7c206f7074732e6d6f6465203d3d3d20277072656665722d666173742729207b0a09092f2f205573652062696e61727920696620746578742073747265616d696e67206d617920636f72727570742064617461206f722074686520636f6e74656e742d74797065206865616465722c206f7220666f722073706565640a090970726566657242696e617279203d20747275650a097d20656c7365207b0a09097468726f77206e6577204572726f722827496e76616c69642076616c756520666f72206f7074732e6d6f646527290a097d0a0973656c662e5f6d6f6465203d206465636964654d6f64652870726566657242696e6172792c207573654665746368290a0a0973656c662e6f6e282766696e697368272c2066756e6374696f6e202829207b0a090973656c662e5f6f6e46696e69736828290a097d290a7d0a0a696e68657269747328436c69656e74526571756573742c2073747265616d2e5772697461626c65290a0a436c69656e74526571756573742e70726f746f747970652e736574486561646572203d2066756e6374696f6e20286e616d652c2076616c756529207b0a097661722073656c66203d20746869730a09766172206c6f7765724e616d65203d206e616d652e746f4c6f7765724361736528290a092f2f205468697320636865636b206973206e6f74206e65636573736172792c206275742069742070726576656e7473207761726e696e67732066726f6d2062726f77736572732061626f75742073657474696e6720756e736166650a092f2f20686561646572732e20546f20626520686f6e6573742049276d206e6f7420656e746972656c79207375726520686964696e67207468657365207761726e696e6773206973206120676f6f64207468696e672c206275740a092f2f20687474702d62726f77736572696679206469642069742c20736f20492077696c6c20746f6f2e0a0969662028756e73616665486561646572732e696e6465784f66286c6f7765724e616d652920213d3d202d31290a090972657475726e0a0a0973656c662e5f686561646572735b6c6f7765724e616d655d203d207b0a09096e616d653a206e616d652c0a090976616c75653a2076616c75650a097d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e676574486561646572203d2066756e6374696f6e20286e616d6529207b0a0976617220686561646572203d20746869732e5f686561646572735b6e616d652e746f4c6f7765724361736528295d0a0969662028686561646572290a090972657475726e206865616465722e76616c75650a0972657475726e206e756c6c0a7d0a0a436c69656e74526571756573742e70726f746f747970652e72656d6f7665486561646572203d2066756e6374696f6e20286e616d6529207b0a097661722073656c66203d20746869730a0964656c6574652073656c662e5f686561646572735b6e616d652e746f4c6f7765724361736528295d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f6f6e46696e697368203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a096966202873656c662e5f64657374726f796564290a090972657475726e0a09766172206f707473203d2073656c662e5f6f7074730a0a0976617220686561646572734f626a203d2073656c662e5f686561646572730a0976617220626f6479203d206e756c6c0a09696620286f7074732e6d6574686f6420213d3d202747455427202626206f7074732e6d6574686f6420213d3d2027484541442729207b0a0909696620286361706162696c6974792e626c6f62436f6e7374727563746f7229207b0a090909626f6479203d206e657720676c6f62616c2e426c6f622873656c662e5f626f64792e6d61702866756e6374696f6e202862756666657229207b0a0909090972657475726e20746f417272617942756666657228627566666572290a0909097d292c207b0a09090909747970653a2028686561646572734f626a5b27636f6e74656e742d74797065275d207c7c207b7d292e76616c7565207c7c2027270a0909097d290a09097d20656c7365207b0a0909092f2f20676574207574663820737472696e670a090909626f6479203d204275666665722e636f6e6361742873656c662e5f626f6479292e746f537472696e6728290a09097d0a097d0a0a092f2f2063726561746520666c617474656e6564206c697374206f6620686561646572730a0976617220686561646572734c697374203d205b5d0a094f626a6563742e6b65797328686561646572734f626a292e666f72456163682866756e6374696f6e20286b65794e616d6529207b0a0909766172206e616d65203d20686561646572734f626a5b6b65794e616d655d2e6e616d650a09097661722076616c7565203d20686561646572734f626a5b6b65794e616d655d2e76616c75650a09096966202841727261792e697341727261792876616c75652929207b0a09090976616c75652e666f72456163682866756e6374696f6e20287629207b0a09090909686561646572734c6973742e70757368285b6e616d652c20765d290a0909097d290a09097d20656c7365207b0a090909686561646572734c6973742e70757368285b6e616d652c2076616c75655d290a09097d0a097d290a0a096966202873656c662e5f6d6f6465203d3d3d202766657463682729207b0a0909676c6f62616c2e66657463682873656c662e5f6f7074732e75726c2c207b0a0909096d6574686f643a2073656c662e5f6f7074732e6d6574686f642c0a090909686561646572733a20686561646572734c6973742c0a090909626f64793a20626f6479207c7c20756e646566696e65642c0a0909096d6f64653a2027636f7273272c0a09090963726564656e7469616c733a206f7074732e7769746843726564656e7469616c73203f2027696e636c75646527203a202773616d652d6f726967696e270a09097d292e7468656e2866756e6374696f6e2028726573706f6e736529207b0a09090973656c662e5f6665746368526573706f6e7365203d20726573706f6e73650a09090973656c662e5f636f6e6e65637428290a09097d2c2066756e6374696f6e2028726561736f6e29207b0a09090973656c662e656d697428276572726f72272c20726561736f6e290a09097d290a097d20656c7365207b0a090976617220786872203d2073656c662e5f786872203d206e657720676c6f62616c2e584d4c487474705265717565737428290a0909747279207b0a0909097868722e6f70656e2873656c662e5f6f7074732e6d6574686f642c2073656c662e5f6f7074732e75726c2c2074727565290a09097d206361746368202865727229207b0a09090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09090972657475726e0a09097d0a0a09092f2f2043616e27742073657420726573706f6e736554797065206f6e207265616c6c79206f6c642062726f77736572730a09096966202827726573706f6e7365547970652720696e20786872290a0909097868722e726573706f6e736554797065203d2073656c662e5f6d6f64652e73706c697428273a27295b305d0a0a090969662028277769746843726564656e7469616c732720696e20786872290a0909097868722e7769746843726564656e7469616c73203d2021216f7074732e7769746843726564656e7469616c730a0a09096966202873656c662e5f6d6f6465203d3d3d2027746578742720262620276f766572726964654d696d65547970652720696e20786872290a0909097868722e6f766572726964654d696d65547970652827746578742f706c61696e3b20636861727365743d782d757365722d646566696e656427290a0a0909696620282774696d656f75742720696e206f70747329207b0a0909097868722e74696d656f7574203d206f7074732e74696d656f75740a0909097868722e6f6e74696d656f7574203d2066756e6374696f6e202829207b0a0909090973656c662e656d6974282774696d656f757427290a0909097d0a09097d0a0a0909686561646572734c6973742e666f72456163682866756e6374696f6e202868656164657229207b0a0909097868722e73657452657175657374486561646572286865616465725b305d2c206865616465725b315d290a09097d290a0a090973656c662e5f726573706f6e7365203d206e756c6c0a09097868722e6f6e726561647973746174656368616e6765203d2066756e6374696f6e202829207b0a09090973776974636820287868722e7265616479537461746529207b0a090909096361736520725374617465732e4c4f4144494e473a0a090909096361736520725374617465732e444f4e453a0a090909090973656c662e5f6f6e58485250726f677265737328290a0909090909627265616b0a0909097d0a09097d0a09092f2f204e656365737361727920666f722073747265616d696e6720696e2046697265666f782c2073696e6365207868722e726573706f6e7365206973204f4e4c5920646566696e65640a09092f2f20696e206f6e70726f67726573732c206e6f7420696e206f6e726561647973746174656368616e67652077697468207868722e72656164795374617465203d20330a09096966202873656c662e5f6d6f6465203d3d3d20276d6f7a2d6368756e6b65642d61727261796275666665722729207b0a0909097868722e6f6e70726f6772657373203d2066756e6374696f6e202829207b0a0909090973656c662e5f6f6e58485250726f677265737328290a0909097d0a09097d0a0a09097868722e6f6e6572726f72203d2066756e6374696f6e202829207b0a0909096966202873656c662e5f64657374726f796564290a0909090972657475726e0a09090973656c662e656d697428276572726f72272c206e6577204572726f722827584852206572726f722729290a09097d0a0a0909747279207b0a0909097868722e73656e6428626f6479290a09097d206361746368202865727229207b0a09090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09090972657475726e0a09097d0a097d0a7d0a0a2f2a2a0a202a20436865636b73206966207868722e737461747573206973207265616461626c6520616e64206e6f6e2d7a65726f2c20696e6469636174696e67206e6f206572726f722e0a202a204576656e2074686f75676820746865207370656320736179732069742073686f756c6420626520617661696c61626c6520696e207265616479537461746520332c0a202a20616363657373696e67206974207468726f777320616e20657863657074696f6e20696e204945380a202a2f0a66756e6374696f6e2073746174757356616c6964202878687229207b0a09747279207b0a090976617220737461747573203d207868722e7374617475730a090972657475726e202873746174757320213d3d206e756c6c2026262073746174757320213d3d2030290a097d20636174636820286529207b0a090972657475726e2066616c73650a097d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f6f6e58485250726f6772657373203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a09696620282173746174757356616c69642873656c662e5f78687229207c7c2073656c662e5f64657374726f796564290a090972657475726e0a0a09696620282173656c662e5f726573706f6e7365290a090973656c662e5f636f6e6e65637428290a0a0973656c662e5f726573706f6e73652e5f6f6e58485250726f677265737328290a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f636f6e6e656374203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a096966202873656c662e5f64657374726f796564290a090972657475726e0a0a0973656c662e5f726573706f6e7365203d206e657720496e636f6d696e674d6573736167652873656c662e5f7868722c2073656c662e5f6665746368526573706f6e73652c2073656c662e5f6d6f6465290a0973656c662e5f726573706f6e73652e6f6e28276572726f72272c2066756e6374696f6e2865727229207b0a090973656c662e656d697428276572726f72272c20657272290a097d290a0a0973656c662e656d69742827726573706f6e7365272c2073656c662e5f726573706f6e7365290a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a097661722073656c66203d20746869730a0a0973656c662e5f626f64792e70757368286368756e6b290a09636228290a7d0a0a436c69656e74526571756573742e70726f746f747970652e61626f7274203d20436c69656e74526571756573742e70726f746f747970652e64657374726f79203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0973656c662e5f64657374726f796564203d20747275650a096966202873656c662e5f726573706f6e7365290a090973656c662e5f726573706f6e73652e5f64657374726f796564203d20747275650a096966202873656c662e5f786872290a090973656c662e5f7868722e61626f727428290a092f2f2043757272656e746c792c2074686572652069736e277420612077617920746f207472756c792061626f727420612066657463682e0a092f2f20496620796f75206c696b652062696b657368656464696e672c207365652068747470733a2f2f6769746875622e636f6d2f7768617477672f66657463682f6973737565732f32370a7d0a0a436c69656e74526571756573742e70726f746f747970652e656e64203d2066756e6374696f6e2028646174612c20656e636f64696e672c20636229207b0a097661722073656c66203d20746869730a0969662028747970656f662064617461203d3d3d202766756e6374696f6e2729207b0a09096362203d20646174610a090964617461203d20756e646566696e65640a097d0a0a0973747265616d2e5772697461626c652e70726f746f747970652e656e642e63616c6c2873656c662c20646174612c20656e636f64696e672c206362290a7d0a0a436c69656e74526571756573742e70726f746f747970652e666c75736848656164657273203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e73657454696d656f7574203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e7365744e6f44656c6179203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e736574536f636b65744b656570416c697665203d2066756e6374696f6e202829207b7d0a0a2f2f2054616b656e2066726f6d20687474703a2f2f7777772e77332e6f72672f54522f584d4c48747470526571756573742f237468652d736574726571756573746865616465722532382532392d6d6574686f640a76617220756e7361666548656164657273203d205b0a09276163636570742d63686172736574272c0a09276163636570742d656e636f64696e67272c0a09276163636573732d636f6e74726f6c2d726571756573742d68656164657273272c0a09276163636573732d636f6e74726f6c2d726571756573742d6d6574686f64272c0a0927636f6e6e656374696f6e272c0a0927636f6e74656e742d6c656e677468272c0a0927636f6f6b6965272c0a0927636f6f6b696532272c0a092764617465272c0a0927646e74272c0a0927657870656374272c0a0927686f7374272c0a09276b6565702d616c697665272c0a09276f726967696e272c0a092772656665726572272c0a09277465272c0a0927747261696c6572272c0a09277472616e736665722d656e636f64696e67272c0a092775706772616465272c0a0927757365722d6167656e74272c0a0927766961270a5d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d2c72657175697265282262756666657222292e427566666572290a7d2c7b222e2f6361706162696c697479223a3133322c222e2f726573706f6e7365223a3133342c225f70726f63657373223a3132352c22627566666572223a33322c22696e686572697473223a3132312c227265616461626c652d73747265616d223a3134342c22746f2d6172726179627566666572223a3134367d5d2c3133343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c2c427566666572297b0a766172206361706162696c697479203d207265717569726528272e2f6361706162696c69747927290a76617220696e686572697473203d20726571756972652827696e68657269747327290a7661722073747265616d203d207265717569726528277265616461626c652d73747265616d27290a0a7661722072537461746573203d206578706f7274732e7265616479537461746573203d207b0a09554e53454e543a20302c0a094f50454e45443a20312c0a09484541444552535f52454345495645443a20322c0a094c4f4144494e473a20332c0a09444f4e453a20340a7d0a0a76617220496e636f6d696e674d657373616765203d206578706f7274732e496e636f6d696e674d657373616765203d2066756e6374696f6e20287868722c20726573706f6e73652c206d6f646529207b0a097661722073656c66203d20746869730a0973747265616d2e5265616461626c652e63616c6c2873656c66290a0a0973656c662e5f6d6f6465203d206d6f64650a0973656c662e68656164657273203d207b7d0a0973656c662e72617748656164657273203d205b5d0a0973656c662e747261696c657273203d207b7d0a0973656c662e726177547261696c657273203d205b5d0a0a092f2f2046616b65207468652027636c6f736527206576656e742c20627574206f6e6c79206f6e63652027656e64272066697265730a0973656c662e6f6e2827656e64272c2066756e6374696f6e202829207b0a09092f2f20546865206e6578745469636b206973206e656365737361727920746f2070726576656e742074686520277265717565737427206d6f64756c652066726f6d2063617573696e6720616e20696e66696e697465206c6f6f700a090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a09090973656c662e656d69742827636c6f736527290a09097d290a097d290a0a09696620286d6f6465203d3d3d202766657463682729207b0a090973656c662e5f6665746368526573706f6e7365203d20726573706f6e73650a0a090973656c662e75726c203d20726573706f6e73652e75726c0a090973656c662e737461747573436f6465203d20726573706f6e73652e7374617475730a090973656c662e7374617475734d657373616765203d20726573706f6e73652e737461747573546578740a09090a0909726573706f6e73652e686561646572732e666f72456163682866756e6374696f6e286865616465722c206b6579297b0a09090973656c662e686561646572735b6b65792e746f4c6f7765724361736528295d203d206865616465720a09090973656c662e726177486561646572732e70757368286b65792c20686561646572290a09097d290a0a0a09092f2f20544f444f3a207468697320646f65736e27742072657370656374206261636b70726573737572652e204f6e6365205772697461626c6553747265616d20697320617661696c61626c652c20746869732063616e2062652066697865640a090976617220726561646572203d20726573706f6e73652e626f64792e67657452656164657228290a090966756e6374696f6e2072656164202829207b0a0909097265616465722e7265616428292e7468656e2866756e6374696f6e2028726573756c7429207b0a090909096966202873656c662e5f64657374726f796564290a090909090972657475726e0a0909090969662028726573756c742e646f6e6529207b0a090909090973656c662e70757368286e756c6c290a090909090972657475726e0a090909097d0a0909090973656c662e70757368286e65772042756666657228726573756c742e76616c756529290a090909097265616428290a0909097d292e63617463682866756e6374696f6e2865727229207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09097d0a09097265616428290a0a097d20656c7365207b0a090973656c662e5f786872203d207868720a090973656c662e5f706f73203d20300a0a090973656c662e75726c203d207868722e726573706f6e736555524c0a090973656c662e737461747573436f6465203d207868722e7374617475730a090973656c662e7374617475734d657373616765203d207868722e737461747573546578740a09097661722068656164657273203d207868722e676574416c6c526573706f6e73654865616465727328292e73706c6974282f5c723f5c6e2f290a0909686561646572732e666f72456163682866756e6374696f6e202868656164657229207b0a090909766172206d617463686573203d206865616465722e6d61746368282f5e285b5e3a5d2b293a5c732a282e2a292f290a090909696620286d61746368657329207b0a09090909766172206b6579203d206d6174636865735b315d2e746f4c6f7765724361736528290a09090909696620286b6579203d3d3d20277365742d636f6f6b69652729207b0a09090909096966202873656c662e686561646572735b6b65795d203d3d3d20756e646566696e656429207b0a09090909090973656c662e686561646572735b6b65795d203d205b5d0a09090909097d0a090909090973656c662e686561646572735b6b65795d2e70757368286d6174636865735b325d290a090909097d20656c7365206966202873656c662e686561646572735b6b65795d20213d3d20756e646566696e656429207b0a090909090973656c662e686561646572735b6b65795d202b3d20272c2027202b206d6174636865735b325d0a090909097d20656c7365207b0a090909090973656c662e686561646572735b6b65795d203d206d6174636865735b325d0a090909097d0a0909090973656c662e726177486561646572732e70757368286d6174636865735b315d2c206d6174636865735b325d290a0909097d0a09097d290a0a090973656c662e5f63686172736574203d2027782d757365722d646566696e6564270a090969662028216361706162696c6974792e6f766572726964654d696d655479706529207b0a090909766172206d696d6554797065203d2073656c662e726177486561646572735b276d696d652d74797065275d0a090909696620286d696d655479706529207b0a0909090976617220636861727365744d61746368203d206d696d65547970652e6d61746368282f3b5c732a636861727365743d285b5e3b5d29283b7c24292f290a0909090969662028636861727365744d6174636829207b0a090909090973656c662e5f63686172736574203d20636861727365744d617463685b315d2e746f4c6f7765724361736528290a090909097d0a0909097d0a090909696620282173656c662e5f63686172736574290a0909090973656c662e5f63686172736574203d20277574662d3827202f2f20626573742067756573730a09097d0a097d0a7d0a0a696e68657269747328496e636f6d696e674d6573736167652c2073747265616d2e5265616461626c65290a0a496e636f6d696e674d6573736167652e70726f746f747970652e5f72656164203d2066756e6374696f6e202829207b7d0a0a496e636f6d696e674d6573736167652e70726f746f747970652e5f6f6e58485250726f6772657373203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a0976617220786872203d2073656c662e5f7868720a0a0976617220726573706f6e7365203d206e756c6c0a09737769746368202873656c662e5f6d6f646529207b0a0909636173652027746578743a76626172726179273a202f2f20466f72204945390a090909696620287868722e7265616479537461746520213d3d20725374617465732e444f4e45290a09090909627265616b0a090909747279207b0a090909092f2f2054686973206661696c7320696e204945380a09090909726573706f6e7365203d206e657720676c6f62616c2e56424172726179287868722e726573706f6e7365426f6479292e746f417272617928290a0909097d20636174636820286529207b7d0a09090969662028726573706f6e736520213d3d206e756c6c29207b0a0909090973656c662e70757368286e65772042756666657228726573706f6e736529290a09090909627265616b0a0909097d0a0909092f2f2046616c6c73207468726f75676820696e20494538090a090963617365202774657874273a0a090909747279207b202f2f20546869732077696c6c206661696c207768656e2072656164795374617465203d203320696e204945392e20537769746368206d6f646520616e64207761697420666f722072656164795374617465203d20340a09090909726573706f6e7365203d207868722e726573706f6e7365546578740a0909097d20636174636820286529207b0a0909090973656c662e5f6d6f6465203d2027746578743a76626172726179270a09090909627265616b0a0909097d0a09090969662028726573706f6e73652e6c656e677468203e2073656c662e5f706f7329207b0a09090909766172206e657744617461203d20726573706f6e73652e7375627374722873656c662e5f706f73290a090909096966202873656c662e5f63686172736574203d3d3d2027782d757365722d646566696e65642729207b0a090909090976617220627566666572203d206e657720427566666572286e6577446174612e6c656e677468290a0909090909666f7220287661722069203d20303b2069203c206e6577446174612e6c656e6774683b20692b2b290a0909090909096275666665725b695d203d206e6577446174612e63686172436f64654174286929202620307866660a0a090909090973656c662e7075736828627566666572290a090909097d20656c7365207b0a090909090973656c662e70757368286e6577446174612c2073656c662e5f63686172736574290a090909097d0a0909090973656c662e5f706f73203d20726573706f6e73652e6c656e6774680a0909097d0a090909627265616b0a09096361736520276172726179627566666572273a0a090909696620287868722e7265616479537461746520213d3d20725374617465732e444f4e45207c7c20217868722e726573706f6e7365290a09090909627265616b0a090909726573706f6e7365203d207868722e726573706f6e73650a09090973656c662e70757368286e657720427566666572286e65772055696e7438417272617928726573706f6e73652929290a090909627265616b0a09096361736520276d6f7a2d6368756e6b65642d6172726179627566666572273a202f2f2074616b652077686f6c650a090909726573706f6e7365203d207868722e726573706f6e73650a090909696620287868722e7265616479537461746520213d3d20725374617465732e4c4f4144494e47207c7c2021726573706f6e7365290a09090909627265616b0a09090973656c662e70757368286e657720427566666572286e65772055696e7438417272617928726573706f6e73652929290a090909627265616b0a09096361736520276d732d73747265616d273a0a090909726573706f6e7365203d207868722e726573706f6e73650a090909696620287868722e7265616479537461746520213d3d20725374617465732e4c4f4144494e47290a09090909627265616b0a09090976617220726561646572203d206e657720676c6f62616c2e4d5353747265616d52656164657228290a0909097265616465722e6f6e70726f6772657373203d2066756e6374696f6e202829207b0a09090909696620287265616465722e726573756c742e627974654c656e677468203e2073656c662e5f706f7329207b0a090909090973656c662e70757368286e657720427566666572286e65772055696e74384172726179287265616465722e726573756c742e736c6963652873656c662e5f706f73292929290a090909090973656c662e5f706f73203d207265616465722e726573756c742e627974654c656e6774680a090909097d0a0909097d0a0909097265616465722e6f6e6c6f6164203d2066756e6374696f6e202829207b0a0909090973656c662e70757368286e756c6c290a0909097d0a0909092f2f207265616465722e6f6e6572726f72203d203f3f3f202f2f20544f444f3a20746869730a0909097265616465722e726561644173417272617942756666657228726573706f6e7365290a090909627265616b0a097d0a0a092f2f20546865206d732d73747265616d20636173652068616e646c657320656e642073657061726174656c7920696e207265616465722e6f6e6c6f616428290a096966202873656c662e5f7868722e72656164795374617465203d3d3d20725374617465732e444f4e452026262073656c662e5f6d6f646520213d3d20276d732d73747265616d2729207b0a090973656c662e70757368286e756c6c290a097d0a7d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d2c72657175697265282262756666657222292e427566666572290a7d2c7b222e2f6361706162696c697479223a3133322c225f70726f63657373223a3132352c22627566666572223a33322c22696e686572697473223a3132312c227265616461626c652d73747265616d223a3134347d5d2c3133353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220746f537472696e67203d207b7d2e746f537472696e673b0a0a6d6f64756c652e6578706f727473203d2041727261792e69734172726179207c7c2066756e6374696f6e202861727229207b0a202072657475726e20746f537472696e672e63616c6c2861727229203d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a7d2c7b7d5d2c3133363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2061206475706c65782073747265616d206973206a75737420612073747265616d207468617420697320626f7468207265616461626c6520616e64207772697461626c652e0a2f2f2053696e6365204a5320646f65736e27742068617665206d756c7469706c652070726f746f747970616c20696e6865726974616e63652c207468697320636c6173730a2f2f2070726f746f747970616c6c7920696e6865726974732066726f6d205265616461626c652c20616e64207468656e20706172617369746963616c6c792066726f6d0a2f2f205772697461626c652e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172206f626a6563744b657973203d204f626a6563742e6b657973207c7c2066756e6374696f6e20286f626a29207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206f626a29207b0a202020206b6579732e70757368286b6579293b0a20207d72657475726e206b6579733b0a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d204475706c65783b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a766172205265616461626c65203d207265717569726528272e2f5f73747265616d5f7265616461626c6527293b0a766172205772697461626c65203d207265717569726528272e2f5f73747265616d5f7772697461626c6527293b0a0a7574696c2e696e686572697473284475706c65782c205265616461626c65293b0a0a766172206b657973203d206f626a6563744b657973285772697461626c652e70726f746f74797065293b0a666f7220287661722076203d20303b2076203c206b6579732e6c656e6774683b20762b2b29207b0a2020766172206d6574686f64203d206b6579735b765d3b0a202069662028214475706c65782e70726f746f747970655b6d6574686f645d29204475706c65782e70726f746f747970655b6d6574686f645d203d205772697461626c652e70726f746f747970655b6d6574686f645d3b0a7d0a0a66756e6374696f6e204475706c6578286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f66204475706c657829292072657475726e206e6577204475706c6578286f7074696f6e73293b0a0a20205265616461626c652e63616c6c28746869732c206f7074696f6e73293b0a20205772697461626c652e63616c6c28746869732c206f7074696f6e73293b0a0a2020696620286f7074696f6e73202626206f7074696f6e732e7265616461626c65203d3d3d2066616c73652920746869732e7265616461626c65203d2066616c73653b0a0a2020696620286f7074696f6e73202626206f7074696f6e732e7772697461626c65203d3d3d2066616c73652920746869732e7772697461626c65203d2066616c73653b0a0a2020746869732e616c6c6f7748616c664f70656e203d20747275653b0a2020696620286f7074696f6e73202626206f7074696f6e732e616c6c6f7748616c664f70656e203d3d3d2066616c73652920746869732e616c6c6f7748616c664f70656e203d2066616c73653b0a0a2020746869732e6f6e63652827656e64272c206f6e656e64293b0a7d0a0a2f2f20746865206e6f2d68616c662d6f70656e20656e666f726365720a66756e6374696f6e206f6e656e642829207b0a20202f2f20696620776520616c6c6f772068616c662d6f70656e2073746174652c206f7220696620746865207772697461626c65207369646520656e6465642c0a20202f2f207468656e207765277265206f6b2e0a202069662028746869732e616c6c6f7748616c664f70656e207c7c20746869732e5f7772697461626c6553746174652e656e646564292072657475726e3b0a0a20202f2f206e6f206d6f726520646174612063616e206265207772697474656e2e0a20202f2f2042757420616c6c6f77206d6f72652077726974657320746f2068617070656e20696e2074686973207469636b2e0a202070726f636573734e6578745469636b286f6e456e644e542c2074686973293b0a7d0a0a66756e6374696f6e206f6e456e644e542873656c6629207b0a202073656c662e656e6428293b0a7d0a0a4f626a6563742e646566696e6550726f7065727479284475706c65782e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e6564207c7c20746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7265616461626c6553746174652e64657374726f79656420262620746869732e5f7772697461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e6564207c7c20746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2076616c75653b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a4475706c65782e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e70757368286e756c6c293b0a2020746869732e656e6428293b0a0a202070726f636573734e6578745469636b2863622c20657272293b0a7d3b0a0a66756e6374696f6e20666f72456163682878732c206629207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020662878735b695d2c2069293b0a20207d0a7d0a7d2c7b222e2f5f73747265616d5f7265616461626c65223a3133382c222e2f5f73747265616d5f7772697461626c65223a3134302c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132312c2270726f636573732d6e65787469636b2d61726773223a3132347d5d2c3133373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f206120706173737468726f7567682073747265616d2e0a2f2f206261736963616c6c79206a75737420746865206d6f7374206d696e696d616c20736f7274206f66205472616e73666f726d2073747265616d2e0a2f2f204576657279207772697474656e206368756e6b2067657473206f75747075742061732d69732e0a0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d20506173735468726f7567683b0a0a766172205472616e73666f726d203d207265717569726528272e2f5f73747265616d5f7472616e73666f726d27293b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7574696c2e696e68657269747328506173735468726f7567682c205472616e73666f726d293b0a0a66756e6374696f6e20506173735468726f756768286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f6620506173735468726f75676829292072657475726e206e657720506173735468726f756768286f7074696f6e73293b0a0a20205472616e73666f726d2e63616c6c28746869732c206f7074696f6e73293b0a7d0a0a506173735468726f7567682e70726f746f747970652e5f7472616e73666f726d203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20206362286e756c6c2c206368756e6b293b0a7d3b0a7d2c7b222e2f5f73747265616d5f7472616e73666f726d223a3133392c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132317d5d2c3133383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d205265616461626c653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722069734172726179203d207265717569726528276973617272617927293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204475706c65783b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a5265616461626c652e5265616461626c655374617465203d205265616461626c6553746174653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204545203d207265717569726528276576656e747327292e4576656e74456d69747465723b0a0a7661722045456c697374656e6572436f756e74203d2066756e6374696f6e2028656d69747465722c207479706529207b0a202072657475726e20656d69747465722e6c697374656e6572732874797065292e6c656e6774683b0a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722053747265616d203d207265717569726528272e2f696e7465726e616c2f73747265616d732f73747265616d27293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2f20544f444f28626d6575726572293a204368616e67652074686973206261636b20746f20636f6e7374206f6e636520686f6c6520636865636b73206172650a2f2f2070726f7065726c79206f7074696d697a65642061776179206561726c7920696e2049676e6974696f6e2b547572626f46616e2e0a2f2a3c7265706c6163656d656e743e2a2f0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a766172204f757255696e74384172726179203d20676c6f62616c2e55696e74384172726179207c7c2066756e6374696f6e202829207b7d3b0a66756e6374696f6e205f75696e74384172726179546f427566666572286368756e6b29207b0a202072657475726e204275666665722e66726f6d286368756e6b293b0a7d0a66756e6374696f6e205f697355696e74384172726179286f626a29207b0a202072657475726e204275666665722e6973427566666572286f626a29207c7c206f626a20696e7374616e63656f66204f757255696e743841727261793b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722064656275675574696c203d207265717569726528277574696c27293b0a766172206465627567203d20766f696420303b0a6966202864656275675574696c2026262064656275675574696c2e64656275676c6f6729207b0a20206465627567203d2064656275675574696c2e64656275676c6f67282773747265616d27293b0a7d20656c7365207b0a20206465627567203d2066756e6374696f6e202829207b7d3b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a766172204275666665724c697374203d207265717569726528272e2f696e7465726e616c2f73747265616d732f4275666665724c69737427293b0a7661722064657374726f79496d706c203d207265717569726528272e2f696e7465726e616c2f73747265616d732f64657374726f7927293b0a76617220537472696e674465636f6465723b0a0a7574696c2e696e686572697473285265616461626c652c2053747265616d293b0a0a766172206b50726f78794576656e7473203d205b276572726f72272c2027636c6f7365272c202764657374726f79272c20277061757365272c2027726573756d65275d3b0a0a66756e6374696f6e2070726570656e644c697374656e657228656d69747465722c206576656e742c20666e29207b0a20202f2f205361646c792074686973206973206e6f7420636163686561626c6520617320736f6d65206c69627261726965732062756e646c65207468656972206f776e0a20202f2f206576656e7420656d697474657220696d706c656d656e746174696f6e2077697468207468656d2e0a202069662028747970656f6620656d69747465722e70726570656e644c697374656e6572203d3d3d202766756e6374696f6e2729207b0a2020202072657475726e20656d69747465722e70726570656e644c697374656e6572286576656e742c20666e293b0a20207d20656c7365207b0a202020202f2f20546869732069732061206861636b20746f206d616b6520737572652074686174206f7572206572726f722068616e646c6572206973206174746163686564206265666f726520616e790a202020202f2f20757365726c616e64206f6e65732e20204e4556455220444f20544849532e20546869732069732068657265206f6e6c792062656361757365207468697320636f6465206e656564730a202020202f2f20746f20636f6e74696e756520746f20776f726b2077697468206f6c6465722076657273696f6e73206f66204e6f64652e6a73207468617420646f206e6f7420696e636c7564650a202020202f2f207468652070726570656e644c697374656e65722829206d6574686f642e2054686520676f616c20697320746f206576656e7475616c6c792072656d6f76652074686973206861636b2e0a202020206966202821656d69747465722e5f6576656e7473207c7c2021656d69747465722e5f6576656e74735b6576656e745d2920656d69747465722e6f6e286576656e742c20666e293b656c736520696620286973417272617928656d69747465722e5f6576656e74735b6576656e745d292920656d69747465722e5f6576656e74735b6576656e745d2e756e736869667428666e293b656c736520656d69747465722e5f6576656e74735b6576656e745d203d205b666e2c20656d69747465722e5f6576656e74735b6576656e745d5d3b0a20207d0a7d0a0a66756e6374696f6e205265616461626c655374617465286f7074696f6e732c2073747265616d29207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206f7074696f6e73203d206f7074696f6e73207c7c207b7d3b0a0a20202f2f206f626a6563742073747265616d20666c61672e205573656420746f206d616b652072656164286e292069676e6f7265206e20616e6420746f0a20202f2f206d616b6520616c6c2074686520627566666572206d657267696e6720616e64206c656e67746820636865636b7320676f20617761790a2020746869732e6f626a6563744d6f6465203d2021216f7074696f6e732e6f626a6563744d6f64653b0a0a20206966202873747265616d20696e7374616e63656f66204475706c65782920746869732e6f626a6563744d6f6465203d20746869732e6f626a6563744d6f6465207c7c2021216f7074696f6e732e7265616461626c654f626a6563744d6f64653b0a0a20202f2f2074686520706f696e742061742077686963682069742073746f70732063616c6c696e67205f72656164282920746f2066696c6c20746865206275666665720a20202f2f204e6f74653a203020697320612076616c69642076616c75652c206d65616e732022646f6e27742063616c6c205f7265616420707265656d70746976656c792065766572220a20207661722068776d203d206f7074696f6e732e6869676857617465724d61726b3b0a20207661722064656661756c7448776d203d20746869732e6f626a6563744d6f6465203f203136203a203136202a20313032343b0a2020746869732e6869676857617465724d61726b203d2068776d207c7c2068776d203d3d3d2030203f2068776d203a2064656661756c7448776d3b0a0a20202f2f206361737420746f20696e74732e0a2020746869732e6869676857617465724d61726b203d204d6174682e666c6f6f7228746869732e6869676857617465724d61726b293b0a0a20202f2f2041206c696e6b6564206c697374206973207573656420746f2073746f72652064617461206368756e6b7320696e7374656164206f6620616e2061727261792062656361757365207468650a20202f2f206c696e6b6564206c6973742063616e2072656d6f766520656c656d656e74732066726f6d2074686520626567696e6e696e6720666173746572207468616e0a20202f2f2061727261792e736869667428290a2020746869732e627566666572203d206e6577204275666665724c69737428293b0a2020746869732e6c656e677468203d20303b0a2020746869732e7069706573203d206e756c6c3b0a2020746869732e7069706573436f756e74203d20303b0a2020746869732e666c6f77696e67203d206e756c6c3b0a2020746869732e656e646564203d2066616c73653b0a2020746869732e656e64456d6974746564203d2066616c73653b0a2020746869732e72656164696e67203d2066616c73653b0a0a20202f2f206120666c616720746f2062652061626c6520746f2074656c6c20696620746865206576656e7420277265616461626c65272f27646174612720697320656d69747465640a20202f2f20696d6d6564696174656c792c206f72206f6e2061206c61746572207469636b2e2020576520736574207468697320746f20747275652061742066697273742c20626563617573650a20202f2f20616e7920616374696f6e7320746861742073686f756c646e27742068617070656e20756e74696c20226c61746572222073686f756c642067656e6572616c6c7920616c736f0a20202f2f206e6f742068617070656e206265666f72652074686520666972737420726561642063616c6c2e0a2020746869732e73796e63203d20747275653b0a0a20202f2f207768656e657665722077652072657475726e206e756c6c2c207468656e20776520736574206120666c616720746f207361790a20202f2f2074686174207765277265206177616974696e67206120277265616461626c6527206576656e7420656d697373696f6e2e0a2020746869732e6e6565645265616461626c65203d2066616c73653b0a2020746869732e656d69747465645265616461626c65203d2066616c73653b0a2020746869732e7265616461626c654c697374656e696e67203d2066616c73653b0a2020746869732e726573756d655363686564756c6564203d2066616c73653b0a0a20202f2f20686173206974206265656e2064657374726f7965640a2020746869732e64657374726f796564203d2066616c73653b0a0a20202f2f2043727970746f206973206b696e64206f66206f6c6420616e64206372757374792e2020486973746f726963616c6c792c206974732064656661756c7420737472696e670a20202f2f20656e636f64696e67206973202762696e6172792720736f207765206861766520746f206d616b65207468697320636f6e666967757261626c652e0a20202f2f2045766572797468696e6720656c736520696e2074686520756e6976657273652075736573202775746638272c2074686f7567682e0a2020746869732e64656661756c74456e636f64696e67203d206f7074696f6e732e64656661756c74456e636f64696e67207c7c202775746638273b0a0a20202f2f20746865206e756d626572206f662077726974657273207468617420617265206177616974696e67206120647261696e206576656e7420696e202e706970652829730a2020746869732e6177616974447261696e203d20303b0a0a20202f2f20696620747275652c2061206d61796265526561644d6f726520686173206265656e207363686564756c65640a2020746869732e72656164696e674d6f7265203d2066616c73653b0a0a2020746869732e6465636f646572203d206e756c6c3b0a2020746869732e656e636f64696e67203d206e756c6c3b0a2020696620286f7074696f6e732e656e636f64696e6729207b0a202020206966202821537472696e674465636f6465722920537472696e674465636f646572203d20726571756972652827737472696e675f6465636f6465722f27292e537472696e674465636f6465723b0a20202020746869732e6465636f646572203d206e657720537472696e674465636f646572286f7074696f6e732e656e636f64696e67293b0a20202020746869732e656e636f64696e67203d206f7074696f6e732e656e636f64696e673b0a20207d0a7d0a0a66756e6374696f6e205265616461626c65286f7074696f6e7329207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206966202821287468697320696e7374616e63656f66205265616461626c6529292072657475726e206e6577205265616461626c65286f7074696f6e73293b0a0a2020746869732e5f7265616461626c655374617465203d206e6577205265616461626c655374617465286f7074696f6e732c2074686973293b0a0a20202f2f206c65676163790a2020746869732e7265616461626c65203d20747275653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e72656164203d3d3d202766756e6374696f6e272920746869732e5f72656164203d206f7074696f6e732e726561643b0a0a2020202069662028747970656f66206f7074696f6e732e64657374726f79203d3d3d202766756e6374696f6e272920746869732e5f64657374726f79203d206f7074696f6e732e64657374726f793b0a20207d0a0a202053747265616d2e63616c6c2874686973293b0a7d0a0a4f626a6563742e646566696e6550726f7065727479285265616461626c652e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7265616461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a202020206966202821746869732e5f7265616461626c65537461746529207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a5265616461626c652e70726f746f747970652e64657374726f79203d2064657374726f79496d706c2e64657374726f793b0a5265616461626c652e70726f746f747970652e5f756e64657374726f79203d2064657374726f79496d706c2e756e64657374726f793b0a5265616461626c652e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e70757368286e756c6c293b0a2020636228657272293b0a7d3b0a0a2f2f204d616e75616c6c792073686f766520736f6d657468696e6720696e746f2074686520726561642829206275666665722e0a2f2f20546869732072657475726e73207472756520696620746865206869676857617465724d61726b20686173206e6f74206265656e20686974207965742c0a2f2f2073696d696c617220746f20686f77205772697461626c652e777269746528292072657475726e73207472756520696620796f752073686f756c640a2f2f207772697465282920736f6d65206d6f72652e0a5265616461626c652e70726f746f747970652e70757368203d2066756e6374696f6e20286368756e6b2c20656e636f64696e6729207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220736b69704368756e6b436865636b3b0a0a2020696620282173746174652e6f626a6563744d6f646529207b0a2020202069662028747970656f66206368756e6b203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d20656e636f64696e67207c7c2073746174652e64656661756c74456e636f64696e673b0a20202020202069662028656e636f64696e6720213d3d2073746174652e656e636f64696e6729207b0a20202020202020206368756e6b203d204275666665722e66726f6d286368756e6b2c20656e636f64696e67293b0a2020202020202020656e636f64696e67203d2027273b0a2020202020207d0a202020202020736b69704368756e6b436865636b203d20747275653b0a202020207d0a20207d20656c7365207b0a20202020736b69704368756e6b436865636b203d20747275653b0a20207d0a0a202072657475726e207265616461626c654164644368756e6b28746869732c206368756e6b2c20656e636f64696e672c2066616c73652c20736b69704368756e6b436865636b293b0a7d3b0a0a2f2f20556e73686966742073686f756c64202a616c776179732a20626520736f6d657468696e67206469726563746c79206f7574206f66207265616428290a5265616461626c652e70726f746f747970652e756e7368696674203d2066756e6374696f6e20286368756e6b29207b0a202072657475726e207265616461626c654164644368756e6b28746869732c206368756e6b2c206e756c6c2c20747275652c2066616c7365293b0a7d3b0a0a66756e6374696f6e207265616461626c654164644368756e6b2873747265616d2c206368756e6b2c20656e636f64696e672c20616464546f46726f6e742c20736b69704368756e6b436865636b29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a2020696620286368756e6b203d3d3d206e756c6c29207b0a2020202073746174652e72656164696e67203d2066616c73653b0a202020206f6e456f664368756e6b2873747265616d2c207374617465293b0a20207d20656c7365207b0a202020207661722065723b0a202020206966202821736b69704368756e6b436865636b29206572203d206368756e6b496e76616c69642873746174652c206368756e6b293b0a2020202069662028657229207b0a20202020202073747265616d2e656d697428276572726f72272c206572293b0a202020207d20656c7365206966202873746174652e6f626a6563744d6f6465207c7c206368756e6b202626206368756e6b2e6c656e677468203e203029207b0a20202020202069662028747970656f66206368756e6b20213d3d2027737472696e6727202626202173746174652e6f626a6563744d6f6465202626204f626a6563742e67657450726f746f747970654f66286368756e6b2920213d3d204275666665722e70726f746f7479706529207b0a20202020202020206368756e6b203d205f75696e74384172726179546f427566666572286368756e6b293b0a2020202020207d0a0a20202020202069662028616464546f46726f6e7429207b0a20202020202020206966202873746174652e656e64456d6974746564292073747265616d2e656d697428276572726f72272c206e6577204572726f72282773747265616d2e756e7368696674282920616674657220656e64206576656e742729293b656c7365206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2074727565293b0a2020202020207d20656c7365206966202873746174652e656e64656429207b0a202020202020202073747265616d2e656d697428276572726f72272c206e6577204572726f72282773747265616d2e70757368282920616674657220454f462729293b0a2020202020207d20656c7365207b0a202020202020202073746174652e72656164696e67203d2066616c73653b0a20202020202020206966202873746174652e6465636f6465722026262021656e636f64696e6729207b0a202020202020202020206368756e6b203d2073746174652e6465636f6465722e7772697465286368756e6b293b0a202020202020202020206966202873746174652e6f626a6563744d6f6465207c7c206368756e6b2e6c656e67746820213d3d203029206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2066616c7365293b656c7365206d61796265526561644d6f72652873747265616d2c207374617465293b0a20202020202020207d20656c7365207b0a202020202020202020206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2066616c7365293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365206966202821616464546f46726f6e7429207b0a20202020202073746174652e72656164696e67203d2066616c73653b0a202020207d0a20207d0a0a202072657475726e206e6565644d6f726544617461287374617465293b0a7d0a0a66756e6374696f6e206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c20616464546f46726f6e7429207b0a20206966202873746174652e666c6f77696e672026262073746174652e6c656e677468203d3d3d2030202626202173746174652e73796e6329207b0a2020202073747265616d2e656d6974282764617461272c206368756e6b293b0a2020202073747265616d2e726561642830293b0a20207d20656c7365207b0a202020202f2f20757064617465207468652062756666657220696e666f2e0a2020202073746174652e6c656e677468202b3d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a2020202069662028616464546f46726f6e74292073746174652e6275666665722e756e7368696674286368756e6b293b656c73652073746174652e6275666665722e70757368286368756e6b293b0a0a202020206966202873746174652e6e6565645265616461626c652920656d69745265616461626c652873747265616d293b0a20207d0a20206d61796265526561644d6f72652873747265616d2c207374617465293b0a7d0a0a66756e6374696f6e206368756e6b496e76616c69642873746174652c206368756e6b29207b0a20207661722065723b0a202069662028215f697355696e74384172726179286368756e6b2920262620747970656f66206368756e6b20213d3d2027737472696e6727202626206368756e6b20213d3d20756e646566696e6564202626202173746174652e6f626a6563744d6f646529207b0a202020206572203d206e657720547970654572726f722827496e76616c6964206e6f6e2d737472696e672f627566666572206368756e6b27293b0a20207d0a202072657475726e2065723b0a7d0a0a2f2f20696620697427732070617374207468652068696768207761746572206d61726b2c2077652063616e207075736820696e20736f6d65206d6f72652e0a2f2f20416c736f2c2069662077652068617665206e6f2064617461207965742c2077652063616e207374616e6420736f6d650a2f2f206d6f72652062797465732e20205468697320697320746f20776f726b2061726f756e642063617365732077686572652068776d3d302c0a2f2f207375636820617320746865207265706c2e2020416c736f2c20696620746865207075736828292074726967676572656420610a2f2f207265616461626c65206576656e742c20616e642074686520757365722063616c6c65642072656164286c617267654e756d62657229207375636820746861740a2f2f206e6565645265616461626c6520776173207365742c207468656e207765206f7567687420746f2070757368206d6f72652c20736f207468617420616e6f746865720a2f2f20277265616461626c6527206576656e742077696c6c206265207472696767657265642e0a66756e6374696f6e206e6565644d6f72654461746128737461746529207b0a202072657475726e202173746174652e656e646564202626202873746174652e6e6565645265616461626c65207c7c2073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b207c7c2073746174652e6c656e677468203d3d3d2030293b0a7d0a0a5265616461626c652e70726f746f747970652e6973506175736564203d2066756e6374696f6e202829207b0a202072657475726e20746869732e5f7265616461626c6553746174652e666c6f77696e67203d3d3d2066616c73653b0a7d3b0a0a2f2f206261636b776172647320636f6d7061746962696c6974792e0a5265616461626c652e70726f746f747970652e736574456e636f64696e67203d2066756e6374696f6e2028656e6329207b0a20206966202821537472696e674465636f6465722920537472696e674465636f646572203d20726571756972652827737472696e675f6465636f6465722f27292e537472696e674465636f6465723b0a2020746869732e5f7265616461626c6553746174652e6465636f646572203d206e657720537472696e674465636f64657228656e63293b0a2020746869732e5f7265616461626c6553746174652e656e636f64696e67203d20656e633b0a202072657475726e20746869733b0a7d3b0a0a2f2f20446f6e2774207261697365207468652068776d203e20384d420a766172204d41585f48574d203d2030783830303030303b0a66756e6374696f6e20636f6d707574654e65774869676857617465724d61726b286e29207b0a2020696620286e203e3d204d41585f48574d29207b0a202020206e203d204d41585f48574d3b0a20207d20656c7365207b0a202020202f2f2047657420746865206e657874206869676865737420706f776572206f66203220746f2070726576656e7420696e6372656173696e672068776d206578636573736976656c7920696e0a202020202f2f2074696e7920616d6f756e74730a202020206e2d2d3b0a202020206e207c3d206e203e3e3e20313b0a202020206e207c3d206e203e3e3e20323b0a202020206e207c3d206e203e3e3e20343b0a202020206e207c3d206e203e3e3e20383b0a202020206e207c3d206e203e3e3e2031363b0a202020206e2b2b3b0a20207d0a202072657475726e206e3b0a7d0a0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20686f774d756368546f52656164286e2c20737461746529207b0a2020696620286e203c3d2030207c7c2073746174652e6c656e677468203d3d3d20302026262073746174652e656e646564292072657475726e20303b0a20206966202873746174652e6f626a6563744d6f6465292072657475726e20313b0a2020696620286e20213d3d206e29207b0a202020202f2f204f6e6c7920666c6f77206f6e652062756666657220617420612074696d650a202020206966202873746174652e666c6f77696e672026262073746174652e6c656e677468292072657475726e2073746174652e6275666665722e686561642e646174612e6c656e6774683b656c73652072657475726e2073746174652e6c656e6774683b0a20207d0a20202f2f2049662077652772652061736b696e6720666f72206d6f7265207468616e207468652063757272656e742068776d2c207468656e207261697365207468652068776d2e0a2020696620286e203e2073746174652e6869676857617465724d61726b292073746174652e6869676857617465724d61726b203d20636f6d707574654e65774869676857617465724d61726b286e293b0a2020696620286e203c3d2073746174652e6c656e677468292072657475726e206e3b0a20202f2f20446f6e2774206861766520656e6f7567680a2020696620282173746174652e656e64656429207b0a2020202073746174652e6e6565645265616461626c65203d20747275653b0a2020202072657475726e20303b0a20207d0a202072657475726e2073746174652e6c656e6774683b0a7d0a0a2f2f20796f752063616e206f76657272696465206569746865722074686973206d6574686f642c206f7220746865206173796e63205f72656164286e292062656c6f772e0a5265616461626c652e70726f746f747970652e72656164203d2066756e6374696f6e20286e29207b0a20206465627567282772656164272c206e293b0a20206e203d207061727365496e74286e2c203130293b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a2020766172206e4f726967203d206e3b0a0a2020696620286e20213d3d2030292073746174652e656d69747465645265616461626c65203d2066616c73653b0a0a20202f2f20696620776527726520646f696e67207265616428302920746f20747269676765722061207265616461626c65206576656e742c206275742077650a20202f2f20616c7265616479206861766520612062756e6368206f66206461746120696e20746865206275666665722c207468656e206a75737420747269676765720a20202f2f2074686520277265616461626c6527206576656e7420616e64206d6f7665206f6e2e0a2020696620286e203d3d3d20302026262073746174652e6e6565645265616461626c65202626202873746174652e6c656e677468203e3d2073746174652e6869676857617465724d61726b207c7c2073746174652e656e6465642929207b0a2020202064656275672827726561643a20656d69745265616461626c65272c2073746174652e6c656e6774682c2073746174652e656e646564293b0a202020206966202873746174652e6c656e677468203d3d3d20302026262073746174652e656e6465642920656e645265616461626c652874686973293b656c736520656d69745265616461626c652874686973293b0a2020202072657475726e206e756c6c3b0a20207d0a0a20206e203d20686f774d756368546f52656164286e2c207374617465293b0a0a20202f2f20696620776527766520656e6465642c20616e64207765277265206e6f7720636c6561722c207468656e2066696e6973682069742075702e0a2020696620286e203d3d3d20302026262073746174652e656e64656429207b0a202020206966202873746174652e6c656e677468203d3d3d20302920656e645265616461626c652874686973293b0a2020202072657475726e206e756c6c3b0a20207d0a0a20202f2f20416c6c207468652061637475616c206368756e6b2067656e65726174696f6e206c6f676963206e6565647320746f2062650a20202f2f202a62656c6f772a207468652063616c6c20746f205f726561642e202054686520726561736f6e206973207468617420696e206365727461696e0a20202f2f2073796e7468657469632073747265616d2063617365732c207375636820617320706173737468726f7567682073747265616d732c205f726561640a20202f2f206d6179206265206120636f6d706c6574656c792073796e6368726f6e6f7573206f7065726174696f6e207768696368206d6179206368616e67650a20202f2f20746865207374617465206f66207468652072656164206275666665722c2070726f766964696e6720656e6f7567682064617461207768656e0a20202f2f206265666f726520746865726520776173202a6e6f742a20656e6f7567682e0a20202f2f0a20202f2f20536f2c20746865207374657073206172653a0a20202f2f20312e20466967757265206f7574207768617420746865207374617465206f66207468696e67732077696c6c20626520616674657220776520646f0a20202f2f206120726561642066726f6d20746865206275666665722e0a20202f2f0a20202f2f20322e204966207468617420726573756c74696e672073746174652077696c6c20747269676765722061205f726561642c207468656e2063616c6c205f726561642e0a20202f2f204e6f746520746861742074686973206d6179206265206173796e6368726f6e6f75732c206f722073796e6368726f6e6f75732e20205965732c2069742069730a20202f2f20646565706c792075676c7920746f20777269746520415049732074686973207761792c206275742074686174207374696c6c20646f65736e2774206d65616e0a20202f2f207468617420746865205265616461626c6520636c6173732073686f756c642062656861766520696d70726f7065726c792c2061732073747265616d73206172650a20202f2f2064657369676e656420746f2062652073796e632f6173796e632061676e6f737469632e0a20202f2f2054616b65206e6f746520696620746865205f726561642063616c6c2069732073796e63206f72206173796e63202869652c2069662074686520726561642063616c6c0a20202f2f206861732072657475726e656420796574292c20736f2074686174207765206b6e6f772077686574686572206f72206e6f742069742773207361666520746f20656d69740a20202f2f20277265616461626c6527206574632e0a20202f2f0a20202f2f20332e2041637475616c6c792070756c6c2074686520726571756573746564206368756e6b73206f7574206f66207468652062756666657220616e642072657475726e2e0a0a20202f2f206966207765206e6565642061207265616461626c65206576656e742c207468656e207765206e65656420746f20646f20736f6d652072656164696e672e0a202076617220646f52656164203d2073746174652e6e6565645265616461626c653b0a2020646562756728276e656564207265616461626c65272c20646f52656164293b0a0a20202f2f2069662077652063757272656e746c792068617665206c657373207468616e20746865206869676857617465724d61726b2c207468656e20616c736f207265616420736f6d650a20206966202873746174652e6c656e677468203d3d3d2030207c7c2073746174652e6c656e677468202d206e203c2073746174652e6869676857617465724d61726b29207b0a20202020646f52656164203d20747275653b0a20202020646562756728276c656e677468206c657373207468616e2077617465726d61726b272c20646f52656164293b0a20207d0a0a20202f2f20686f77657665722c20696620776527766520656e6465642c207468656e2074686572652773206e6f20706f696e742c20616e6420696620776527726520616c72656164790a20202f2f2072656164696e672c207468656e206974277320756e6e65636573736172792e0a20206966202873746174652e656e646564207c7c2073746174652e72656164696e6729207b0a20202020646f52656164203d2066616c73653b0a202020206465627567282772656164696e67206f7220656e646564272c20646f52656164293b0a20207d20656c73652069662028646f5265616429207b0a2020202064656275672827646f207265616427293b0a2020202073746174652e72656164696e67203d20747275653b0a2020202073746174652e73796e63203d20747275653b0a202020202f2f20696620746865206c656e6774682069732063757272656e746c79207a65726f2c207468656e207765202a6e6565642a2061207265616461626c65206576656e742e0a202020206966202873746174652e6c656e677468203d3d3d2030292073746174652e6e6565645265616461626c65203d20747275653b0a202020202f2f2063616c6c20696e7465726e616c2072656164206d6574686f640a20202020746869732e5f726561642873746174652e6869676857617465724d61726b293b0a2020202073746174652e73796e63203d2066616c73653b0a202020202f2f204966205f726561642070757368656420646174612073796e6368726f6e6f75736c792c207468656e206072656164696e67602077696c6c2062652066616c73652c0a202020202f2f20616e64207765206e65656420746f2072652d6576616c7561746520686f77206d75636820646174612077652063616e2072657475726e20746f2074686520757365722e0a20202020696620282173746174652e72656164696e6729206e203d20686f774d756368546f52656164286e4f7269672c207374617465293b0a20207d0a0a2020766172207265743b0a2020696620286e203e20302920726574203d2066726f6d4c697374286e2c207374617465293b656c736520726574203d206e756c6c3b0a0a202069662028726574203d3d3d206e756c6c29207b0a2020202073746174652e6e6565645265616461626c65203d20747275653b0a202020206e203d20303b0a20207d20656c7365207b0a2020202073746174652e6c656e677468202d3d206e3b0a20207d0a0a20206966202873746174652e6c656e677468203d3d3d203029207b0a202020202f2f2049662077652068617665206e6f7468696e6720696e20746865206275666665722c207468656e2077652077616e7420746f206b6e6f770a202020202f2f20617320736f6f6e206173207765202a646f2a2067657420736f6d657468696e6720696e746f20746865206275666665722e0a20202020696620282173746174652e656e646564292073746174652e6e6565645265616461626c65203d20747275653b0a0a202020202f2f20496620776520747269656420746f2072656164282920706173742074686520454f462c207468656e20656d697420656e64206f6e20746865206e657874207469636b2e0a20202020696620286e4f72696720213d3d206e2026262073746174652e656e6465642920656e645265616461626c652874686973293b0a20207d0a0a20206966202872657420213d3d206e756c6c2920746869732e656d6974282764617461272c20726574293b0a0a202072657475726e207265743b0a7d3b0a0a66756e6374696f6e206f6e456f664368756e6b2873747265616d2c20737461746529207b0a20206966202873746174652e656e646564292072657475726e3b0a20206966202873746174652e6465636f64657229207b0a20202020766172206368756e6b203d2073746174652e6465636f6465722e656e6428293b0a20202020696620286368756e6b202626206368756e6b2e6c656e67746829207b0a20202020202073746174652e6275666665722e70757368286368756e6b293b0a20202020202073746174652e6c656e677468202b3d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a202020207d0a20207d0a202073746174652e656e646564203d20747275653b0a0a20202f2f20656d697420277265616461626c6527206e6f7720746f206d616b6520737572652069742067657473207069636b65642075702e0a2020656d69745265616461626c652873747265616d293b0a7d0a0a2f2f20446f6e277420656d6974207265616461626c65207269676874206177617920696e2073796e63206d6f64652c206265636175736520746869732063616e20747269676765720a2f2f20616e6f74686572207265616428292063616c6c203d3e20737461636b206f766572666c6f772e202054686973207761792c206974206d6967687420747269676765720a2f2f2061206e6578745469636b20726563757273696f6e207761726e696e672c2062757420746861742773206e6f7420736f206261642e0a66756e6374696f6e20656d69745265616461626c652873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a202073746174652e6e6565645265616461626c65203d2066616c73653b0a2020696620282173746174652e656d69747465645265616461626c6529207b0a2020202064656275672827656d69745265616461626c65272c2073746174652e666c6f77696e67293b0a2020202073746174652e656d69747465645265616461626c65203d20747275653b0a202020206966202873746174652e73796e63292070726f636573734e6578745469636b28656d69745265616461626c655f2c2073747265616d293b656c736520656d69745265616461626c655f2873747265616d293b0a20207d0a7d0a0a66756e6374696f6e20656d69745265616461626c655f2873747265616d29207b0a202064656275672827656d6974207265616461626c6527293b0a202073747265616d2e656d697428277265616461626c6527293b0a2020666c6f772873747265616d293b0a7d0a0a2f2f206174207468697320706f696e742c207468652075736572206861732070726573756d61626c79207365656e2074686520277265616461626c6527206576656e742c0a2f2f20616e642063616c6c65642072656164282920746f20636f6e73756d6520736f6d6520646174612e202074686174206d61792068617665207472696767657265640a2f2f20696e207475726e20616e6f74686572205f72656164286e292063616c6c2c20696e20776869636820636173652072656164696e67203d20747275652069660a2f2f206974277320696e2070726f67726573732e0a2f2f20486f77657665722c206966207765277265206e6f7420656e6465642c206f722072656164696e672c20616e6420746865206c656e677468203c2068776d2c0a2f2f207468656e20676f20616865616420616e642074727920746f207265616420736f6d65206d6f726520707265656d70746976656c792e0a66756e6374696f6e206d61796265526561644d6f72652873747265616d2c20737461746529207b0a2020696620282173746174652e72656164696e674d6f726529207b0a2020202073746174652e72656164696e674d6f7265203d20747275653b0a2020202070726f636573734e6578745469636b286d61796265526561644d6f72655f2c2073747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e206d61796265526561644d6f72655f2873747265616d2c20737461746529207b0a2020766172206c656e203d2073746174652e6c656e6774683b0a20207768696c6520282173746174652e72656164696e67202626202173746174652e666c6f77696e67202626202173746174652e656e6465642026262073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b29207b0a20202020646562756728276d61796265526561644d6f72652072656164203027293b0a2020202073747265616d2e726561642830293b0a20202020696620286c656e203d3d3d2073746174652e6c656e677468290a2020202020202f2f206469646e27742067657420616e7920646174612c2073746f70207370696e6e696e672e0a202020202020627265616b3b656c7365206c656e203d2073746174652e6c656e6774683b0a20207d0a202073746174652e72656164696e674d6f7265203d2066616c73653b0a7d0a0a2f2f206162737472616374206d6574686f642e2020746f206265206f76657272696464656e20696e20737065636966696320696d706c656d656e746174696f6e20636c61737365732e0a2f2f2063616c6c2063622865722c2064617461292077686572652064617461206973203c3d206e20696e206c656e6774682e0a2f2f20666f72207669727475616c20286e6f6e2d737472696e672c206e6f6e2d627566666572292073747265616d732c20226c656e6774682220697320736f6d65776861740a2f2f206172626974726172792c20616e642070657268617073206e6f742076657279206d65616e696e6766756c2e0a5265616461626c652e70726f746f747970652e5f72656164203d2066756e6374696f6e20286e29207b0a2020746869732e656d697428276572726f72272c206e6577204572726f7228275f726561642829206973206e6f7420696d706c656d656e7465642729293b0a7d3b0a0a5265616461626c652e70726f746f747970652e70697065203d2066756e6374696f6e2028646573742c20706970654f70747329207b0a202076617220737263203d20746869733b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a0a2020737769746368202873746174652e7069706573436f756e7429207b0a202020206361736520303a0a20202020202073746174652e7069706573203d20646573743b0a202020202020627265616b3b0a202020206361736520313a0a20202020202073746174652e7069706573203d205b73746174652e70697065732c20646573745d3b0a202020202020627265616b3b0a2020202064656661756c743a0a20202020202073746174652e70697065732e707573682864657374293b0a202020202020627265616b3b0a20207d0a202073746174652e7069706573436f756e74202b3d20313b0a2020646562756728277069706520636f756e743d2564206f7074733d256a272c2073746174652e7069706573436f756e742c20706970654f707473293b0a0a202076617220646f456e64203d202821706970654f707473207c7c20706970654f7074732e656e6420213d3d2066616c736529202626206465737420213d3d2070726f636573732e7374646f7574202626206465737420213d3d2070726f636573732e7374646572723b0a0a202076617220656e64466e203d20646f456e64203f206f6e656e64203a20756e706970653b0a20206966202873746174652e656e64456d6974746564292070726f636573734e6578745469636b28656e64466e293b656c7365207372632e6f6e63652827656e64272c20656e64466e293b0a0a2020646573742e6f6e2827756e70697065272c206f6e756e70697065293b0a202066756e6374696f6e206f6e756e70697065287265616461626c652c20756e70697065496e666f29207b0a20202020646562756728276f6e756e7069706527293b0a20202020696620287265616461626c65203d3d3d2073726329207b0a20202020202069662028756e70697065496e666f20262620756e70697065496e666f2e686173556e7069706564203d3d3d2066616c736529207b0a2020202020202020756e70697065496e666f2e686173556e7069706564203d20747275653b0a2020202020202020636c65616e757028293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206f6e656e642829207b0a20202020646562756728276f6e656e6427293b0a20202020646573742e656e6428293b0a20207d0a0a20202f2f207768656e20746865206465737420647261696e732c206974207265647563657320746865206177616974447261696e20636f756e7465720a20202f2f206f6e2074686520736f757263652e20205468697320776f756c64206265206d6f726520656c6567616e7420776974682061202e6f6e636528290a20202f2f2068616e646c657220696e20666c6f7728292c2062757420616464696e6720616e642072656d6f76696e672072657065617465646c792069730a20202f2f20746f6f20736c6f772e0a2020766172206f6e647261696e203d20706970654f6e447261696e28737263293b0a2020646573742e6f6e2827647261696e272c206f6e647261696e293b0a0a202076617220636c65616e65645570203d2066616c73653b0a202066756e6374696f6e20636c65616e75702829207b0a2020202064656275672827636c65616e757027293b0a202020202f2f20636c65616e7570206576656e742068616e646c657273206f6e63652074686520706970652069732062726f6b656e0a20202020646573742e72656d6f76654c697374656e65722827636c6f7365272c206f6e636c6f7365293b0a20202020646573742e72656d6f76654c697374656e6572282766696e697368272c206f6e66696e697368293b0a20202020646573742e72656d6f76654c697374656e65722827647261696e272c206f6e647261696e293b0a20202020646573742e72656d6f76654c697374656e657228276572726f72272c206f6e6572726f72293b0a20202020646573742e72656d6f76654c697374656e65722827756e70697065272c206f6e756e70697065293b0a202020207372632e72656d6f76654c697374656e65722827656e64272c206f6e656e64293b0a202020207372632e72656d6f76654c697374656e65722827656e64272c20756e70697065293b0a202020207372632e72656d6f76654c697374656e6572282764617461272c206f6e64617461293b0a0a20202020636c65616e65645570203d20747275653b0a0a202020202f2f20696620746865207265616465722069732077616974696e6720666f72206120647261696e206576656e742066726f6d20746869730a202020202f2f207370656369666963207772697465722c207468656e20697420776f756c6420636175736520697420746f206e657665722073746172740a202020202f2f20666c6f77696e6720616761696e2e0a202020202f2f20536f2c2069662074686973206973206177616974696e67206120647261696e2c207468656e207765206a7573742063616c6c206974206e6f772e0a202020202f2f20496620776520646f6e2774206b6e6f772c207468656e20617373756d652074686174207765206172652077616974696e6720666f72206f6e652e0a202020206966202873746174652e6177616974447261696e202626202821646573742e5f7772697461626c655374617465207c7c20646573742e5f7772697461626c6553746174652e6e656564447261696e2929206f6e647261696e28293b0a20207d0a0a20202f2f20496620746865207573657220707573686573206d6f72652064617461207768696c652077652772652077726974696e6720746f2064657374207468656e207765276c6c20656e642075700a20202f2f20696e206f6e6461746120616761696e2e20486f77657665722c207765206f6e6c792077616e7420746f20696e637265617365206177616974447261696e206f6e636520626563617573650a20202f2f20646573742077696c6c206f6e6c7920656d6974206f6e652027647261696e27206576656e7420666f7220746865206d756c7469706c65207772697465732e0a20202f2f203d3e20496e74726f647563652061206775617264206f6e20696e6372656173696e67206177616974447261696e2e0a202076617220696e637265617365644177616974447261696e203d2066616c73653b0a20207372632e6f6e282764617461272c206f6e64617461293b0a202066756e6374696f6e206f6e64617461286368756e6b29207b0a20202020646562756728276f6e6461746127293b0a20202020696e637265617365644177616974447261696e203d2066616c73653b0a2020202076617220726574203d20646573742e7772697465286368756e6b293b0a202020206966202866616c7365203d3d3d207265742026262021696e637265617365644177616974447261696e29207b0a2020202020202f2f20496620746865207573657220756e706970656420647572696e672060646573742e77726974652829602c20697420697320706f737369626c650a2020202020202f2f20746f2067657420737475636b20696e2061207065726d616e656e746c792070617573656420737461746520696620746861742077726974650a2020202020202f2f20616c736f2072657475726e65642066616c73652e0a2020202020202f2f203d3e20436865636b207768657468657220606465737460206973207374696c6c206120706970696e672064657374696e6174696f6e2e0a202020202020696620282873746174652e7069706573436f756e74203d3d3d20312026262073746174652e7069706573203d3d3d2064657374207c7c2073746174652e7069706573436f756e74203e203120262620696e6465784f662873746174652e70697065732c20646573742920213d3d202d31292026262021636c65616e6564557029207b0a20202020202020206465627567282766616c736520777269746520726573706f6e73652c207061757365272c207372632e5f7265616461626c6553746174652e6177616974447261696e293b0a20202020202020207372632e5f7265616461626c6553746174652e6177616974447261696e2b2b3b0a2020202020202020696e637265617365644177616974447261696e203d20747275653b0a2020202020207d0a2020202020207372632e706175736528293b0a202020207d0a20207d0a0a20202f2f2069662074686520646573742068617320616e206572726f722c207468656e2073746f7020706970696e6720696e746f2069742e0a20202f2f20686f77657665722c20646f6e277420737570707265737320746865207468726f77696e67206265686176696f7220666f7220746869732e0a202066756e6374696f6e206f6e6572726f7228657229207b0a20202020646562756728276f6e6572726f72272c206572293b0a20202020756e7069706528293b0a20202020646573742e72656d6f76654c697374656e657228276572726f72272c206f6e6572726f72293b0a202020206966202845456c697374656e6572436f756e7428646573742c20276572726f722729203d3d3d20302920646573742e656d697428276572726f72272c206572293b0a20207d0a0a20202f2f204d616b652073757265206f7572206572726f722068616e646c6572206973206174746163686564206265666f726520757365726c616e64206f6e65732e0a202070726570656e644c697374656e657228646573742c20276572726f72272c206f6e6572726f72293b0a0a20202f2f20426f746820636c6f736520616e642066696e6973682073686f756c64207472696767657220756e706970652c20627574206f6e6c79206f6e63652e0a202066756e6374696f6e206f6e636c6f73652829207b0a20202020646573742e72656d6f76654c697374656e6572282766696e697368272c206f6e66696e697368293b0a20202020756e7069706528293b0a20207d0a2020646573742e6f6e63652827636c6f7365272c206f6e636c6f7365293b0a202066756e6374696f6e206f6e66696e6973682829207b0a20202020646562756728276f6e66696e69736827293b0a20202020646573742e72656d6f76654c697374656e65722827636c6f7365272c206f6e636c6f7365293b0a20202020756e7069706528293b0a20207d0a2020646573742e6f6e6365282766696e697368272c206f6e66696e697368293b0a0a202066756e6374696f6e20756e706970652829207b0a2020202064656275672827756e7069706527293b0a202020207372632e756e706970652864657374293b0a20207d0a0a20202f2f2074656c6c20746865206465737420746861742069742773206265696e6720706970656420746f0a2020646573742e656d6974282770697065272c20737263293b0a0a20202f2f2073746172742074686520666c6f77206966206974206861736e2774206265656e207374617274656420616c72656164792e0a2020696620282173746174652e666c6f77696e6729207b0a20202020646562756728277069706520726573756d6527293b0a202020207372632e726573756d6528293b0a20207d0a0a202072657475726e20646573743b0a7d3b0a0a66756e6374696f6e20706970654f6e447261696e2873726329207b0a202072657475726e2066756e6374696f6e202829207b0a20202020766172207374617465203d207372632e5f7265616461626c6553746174653b0a2020202064656275672827706970654f6e447261696e272c2073746174652e6177616974447261696e293b0a202020206966202873746174652e6177616974447261696e292073746174652e6177616974447261696e2d2d3b0a202020206966202873746174652e6177616974447261696e203d3d3d20302026262045456c697374656e6572436f756e74287372632c202764617461272929207b0a20202020202073746174652e666c6f77696e67203d20747275653b0a202020202020666c6f7728737263293b0a202020207d0a20207d3b0a7d0a0a5265616461626c652e70726f746f747970652e756e70697065203d2066756e6374696f6e20286465737429207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220756e70697065496e666f203d207b20686173556e70697065643a2066616c7365207d3b0a0a20202f2f206966207765277265206e6f7420706970696e6720616e7977686572652c207468656e20646f206e6f7468696e672e0a20206966202873746174652e7069706573436f756e74203d3d3d2030292072657475726e20746869733b0a0a20202f2f206a757374206f6e652064657374696e6174696f6e2e20206d6f737420636f6d6d6f6e20636173652e0a20206966202873746174652e7069706573436f756e74203d3d3d203129207b0a202020202f2f2070617373656420696e206f6e652c206275742069742773206e6f7420746865207269676874206f6e652e0a202020206966202864657374202626206465737420213d3d2073746174652e7069706573292072657475726e20746869733b0a0a20202020696620282164657374292064657374203d2073746174652e70697065733b0a0a202020202f2f20676f742061206d617463682e0a2020202073746174652e7069706573203d206e756c6c3b0a2020202073746174652e7069706573436f756e74203d20303b0a2020202073746174652e666c6f77696e67203d2066616c73653b0a2020202069662028646573742920646573742e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a2020202072657475726e20746869733b0a20207d0a0a20202f2f20736c6f7720636173652e206d756c7469706c6520706970652064657374696e6174696f6e732e0a0a202069662028216465737429207b0a202020202f2f2072656d6f766520616c6c2e0a20202020766172206465737473203d2073746174652e70697065733b0a20202020766172206c656e203d2073746174652e7069706573436f756e743b0a2020202073746174652e7069706573203d206e756c6c3b0a2020202073746174652e7069706573436f756e74203d20303b0a2020202073746174652e666c6f77696e67203d2066616c73653b0a0a20202020666f7220287661722069203d20303b2069203c206c656e3b20692b2b29207b0a20202020202064657374735b695d2e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a202020207d72657475726e20746869733b0a20207d0a0a20202f2f2074727920746f2066696e6420746865207269676874206f6e652e0a202076617220696e646578203d20696e6465784f662873746174652e70697065732c2064657374293b0a202069662028696e646578203d3d3d202d31292072657475726e20746869733b0a0a202073746174652e70697065732e73706c69636528696e6465782c2031293b0a202073746174652e7069706573436f756e74202d3d20313b0a20206966202873746174652e7069706573436f756e74203d3d3d2031292073746174652e7069706573203d2073746174652e70697065735b305d3b0a0a2020646573742e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a0a202072657475726e20746869733b0a7d3b0a0a2f2f207365742075702064617461206576656e74732069662074686579206172652061736b656420666f720a2f2f20456e73757265207265616461626c65206c697374656e657273206576656e7475616c6c792067657420736f6d657468696e670a5265616461626c652e70726f746f747970652e6f6e203d2066756e6374696f6e202865762c20666e29207b0a202076617220726573203d2053747265616d2e70726f746f747970652e6f6e2e63616c6c28746869732c2065762c20666e293b0a0a2020696620286576203d3d3d2027646174612729207b0a202020202f2f20537461727420666c6f77696e67206f6e206e657874207469636b2069662073747265616d2069736e2774206578706c696369746c79207061757365640a2020202069662028746869732e5f7265616461626c6553746174652e666c6f77696e6720213d3d2066616c73652920746869732e726573756d6528293b0a20207d20656c736520696620286576203d3d3d20277265616461626c652729207b0a20202020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a20202020696620282173746174652e656e64456d6974746564202626202173746174652e7265616461626c654c697374656e696e6729207b0a20202020202073746174652e7265616461626c654c697374656e696e67203d2073746174652e6e6565645265616461626c65203d20747275653b0a20202020202073746174652e656d69747465645265616461626c65203d2066616c73653b0a202020202020696620282173746174652e72656164696e6729207b0a202020202020202070726f636573734e6578745469636b286e52656164696e674e6578745469636b2c2074686973293b0a2020202020207d20656c7365206966202873746174652e6c656e67746829207b0a2020202020202020656d69745265616461626c652874686973293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207265733b0a7d3b0a5265616461626c652e70726f746f747970652e6164644c697374656e6572203d205265616461626c652e70726f746f747970652e6f6e3b0a0a66756e6374696f6e206e52656164696e674e6578745469636b2873656c6629207b0a2020646562756728277265616461626c65206e6578747469636b2072656164203027293b0a202073656c662e726561642830293b0a7d0a0a2f2f207061757365282920616e6420726573756d652829206172652072656d6e616e7473206f6620746865206c6567616379207265616461626c652073747265616d204150490a2f2f2049662074686520757365722075736573207468656d2c207468656e2073776974636820696e746f206f6c64206d6f64652e0a5265616461626c652e70726f746f747970652e726573756d65203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a2020696620282173746174652e666c6f77696e6729207b0a2020202064656275672827726573756d6527293b0a2020202073746174652e666c6f77696e67203d20747275653b0a20202020726573756d6528746869732c207374617465293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20726573756d652873747265616d2c20737461746529207b0a2020696620282173746174652e726573756d655363686564756c656429207b0a2020202073746174652e726573756d655363686564756c6564203d20747275653b0a2020202070726f636573734e6578745469636b28726573756d655f2c2073747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e20726573756d655f2873747265616d2c20737461746529207b0a2020696620282173746174652e72656164696e6729207b0a2020202064656275672827726573756d652072656164203027293b0a2020202073747265616d2e726561642830293b0a20207d0a0a202073746174652e726573756d655363686564756c6564203d2066616c73653b0a202073746174652e6177616974447261696e203d20303b0a202073747265616d2e656d69742827726573756d6527293b0a2020666c6f772873747265616d293b0a20206966202873746174652e666c6f77696e67202626202173746174652e72656164696e67292073747265616d2e726561642830293b0a7d0a0a5265616461626c652e70726f746f747970652e7061757365203d2066756e6374696f6e202829207b0a20206465627567282763616c6c20706175736520666c6f77696e673d256a272c20746869732e5f7265616461626c6553746174652e666c6f77696e67293b0a20206966202866616c736520213d3d20746869732e5f7265616461626c6553746174652e666c6f77696e6729207b0a2020202064656275672827706175736527293b0a20202020746869732e5f7265616461626c6553746174652e666c6f77696e67203d2066616c73653b0a20202020746869732e656d69742827706175736527293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20666c6f772873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a202064656275672827666c6f77272c2073746174652e666c6f77696e67293b0a20207768696c65202873746174652e666c6f77696e672026262073747265616d2e72656164282920213d3d206e756c6c29207b7d0a7d0a0a2f2f207772617020616e206f6c642d7374796c652073747265616d20617320746865206173796e63206461746120736f757263652e0a2f2f2054686973206973202a6e6f742a2070617274206f6620746865207265616461626c652073747265616d20696e746572666163652e0a2f2f20497420697320616e2075676c7920756e666f7274756e617465206d657373206f6620686973746f72792e0a5265616461626c652e70726f746f747970652e77726170203d2066756e6374696f6e202873747265616d29207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220706175736564203d2066616c73653b0a0a20207661722073656c66203d20746869733b0a202073747265616d2e6f6e2827656e64272c2066756e6374696f6e202829207b0a20202020646562756728277772617070656420656e6427293b0a202020206966202873746174652e6465636f646572202626202173746174652e656e64656429207b0a202020202020766172206368756e6b203d2073746174652e6465636f6465722e656e6428293b0a202020202020696620286368756e6b202626206368756e6b2e6c656e677468292073656c662e70757368286368756e6b293b0a202020207d0a0a2020202073656c662e70757368286e756c6c293b0a20207d293b0a0a202073747265616d2e6f6e282764617461272c2066756e6374696f6e20286368756e6b29207b0a202020206465627567282777726170706564206461746127293b0a202020206966202873746174652e6465636f64657229206368756e6b203d2073746174652e6465636f6465722e7772697465286368756e6b293b0a0a202020202f2f20646f6e277420736b6970206f7665722066616c73792076616c75657320696e206f626a6563744d6f64650a202020206966202873746174652e6f626a6563744d6f646520262620286368756e6b203d3d3d206e756c6c207c7c206368756e6b203d3d3d20756e646566696e656429292072657475726e3b656c736520696620282173746174652e6f626a6563744d6f64652026262028216368756e6b207c7c20216368756e6b2e6c656e67746829292072657475726e3b0a0a2020202076617220726574203d2073656c662e70757368286368756e6b293b0a20202020696620282172657429207b0a202020202020706175736564203d20747275653b0a20202020202073747265616d2e706175736528293b0a202020207d0a20207d293b0a0a20202f2f2070726f787920616c6c20746865206f74686572206d6574686f64732e0a20202f2f20696d706f7274616e74207768656e207772617070696e672066696c7465727320616e64206475706c657865732e0a2020666f722028766172206920696e2073747265616d29207b0a2020202069662028746869735b695d203d3d3d20756e646566696e656420262620747970656f662073747265616d5b695d203d3d3d202766756e6374696f6e2729207b0a202020202020746869735b695d203d2066756e6374696f6e20286d6574686f6429207b0a202020202020202072657475726e2066756e6374696f6e202829207b0a2020202020202020202072657475726e2073747265616d5b6d6574686f645d2e6170706c792873747265616d2c20617267756d656e7473293b0a20202020202020207d3b0a2020202020207d2869293b0a202020207d0a20207d0a0a20202f2f2070726f7879206365727461696e20696d706f7274616e74206576656e74732e0a2020666f722028766172206e203d20303b206e203c206b50726f78794576656e74732e6c656e6774683b206e2b2b29207b0a2020202073747265616d2e6f6e286b50726f78794576656e74735b6e5d2c2073656c662e656d69742e62696e642873656c662c206b50726f78794576656e74735b6e5d29293b0a20207d0a0a20202f2f207768656e2077652074727920746f20636f6e73756d6520736f6d65206d6f72652062797465732c2073696d706c7920756e7061757365207468650a20202f2f20756e6465726c79696e672073747265616d2e0a202073656c662e5f72656164203d2066756e6374696f6e20286e29207b0a202020206465627567282777726170706564205f72656164272c206e293b0a202020206966202870617573656429207b0a202020202020706175736564203d2066616c73653b0a20202020202073747265616d2e726573756d6528293b0a202020207d0a20207d3b0a0a202072657475726e2073656c663b0a7d3b0a0a2f2f206578706f73656420666f722074657374696e6720707572706f736573206f6e6c792e0a5265616461626c652e5f66726f6d4c697374203d2066726f6d4c6973743b0a0a2f2f20506c75636b206f6666206e2062797465732066726f6d20616e206172726179206f6620627566666572732e0a2f2f204c656e6774682069732074686520636f6d62696e6564206c656e67746873206f6620616c6c20746865206275666665727320696e20746865206c6973742e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e2066726f6d4c697374286e2c20737461746529207b0a20202f2f206e6f7468696e672062756666657265640a20206966202873746174652e6c656e677468203d3d3d2030292072657475726e206e756c6c3b0a0a2020766172207265743b0a20206966202873746174652e6f626a6563744d6f64652920726574203d2073746174652e6275666665722e736869667428293b656c73652069662028216e207c7c206e203e3d2073746174652e6c656e67746829207b0a202020202f2f207265616420697420616c6c2c207472756e6361746520746865206c6973740a202020206966202873746174652e6465636f6465722920726574203d2073746174652e6275666665722e6a6f696e282727293b656c7365206966202873746174652e6275666665722e6c656e677468203d3d3d20312920726574203d2073746174652e6275666665722e686561642e646174613b656c736520726574203d2073746174652e6275666665722e636f6e6361742873746174652e6c656e677468293b0a2020202073746174652e6275666665722e636c65617228293b0a20207d20656c7365207b0a202020202f2f20726561642070617274206f66206c6973740a20202020726574203d2066726f6d4c6973745061727469616c286e2c2073746174652e6275666665722c2073746174652e6465636f646572293b0a20207d0a0a202072657475726e207265743b0a7d0a0a2f2f204578747261637473206f6e6c7920656e6f756768206275666665726564206461746120746f20736174697366792074686520616d6f756e74207265717565737465642e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e2066726f6d4c6973745061727469616c286e2c206c6973742c20686173537472696e677329207b0a2020766172207265743b0a2020696620286e203c206c6973742e686561642e646174612e6c656e67746829207b0a202020202f2f20736c696365206973207468652073616d6520666f72206275666665727320616e6420737472696e67730a20202020726574203d206c6973742e686561642e646174612e736c69636528302c206e293b0a202020206c6973742e686561642e64617461203d206c6973742e686561642e646174612e736c696365286e293b0a20207d20656c736520696620286e203d3d3d206c6973742e686561642e646174612e6c656e67746829207b0a202020202f2f206669727374206368756e6b20697320612070657266656374206d617463680a20202020726574203d206c6973742e736869667428293b0a20207d20656c7365207b0a202020202f2f20726573756c74207370616e73206d6f7265207468616e206f6e65206275666665720a20202020726574203d20686173537472696e6773203f20636f707946726f6d427566666572537472696e67286e2c206c69737429203a20636f707946726f6d427566666572286e2c206c697374293b0a20207d0a202072657475726e207265743b0a7d0a0a2f2f20436f7069657320612073706563696669656420616d6f756e74206f6620636861726163746572732066726f6d20746865206c697374206f6620627566666572656420646174610a2f2f206368756e6b732e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20636f707946726f6d427566666572537472696e67286e2c206c69737429207b0a20207661722070203d206c6973742e686561643b0a20207661722063203d20313b0a202076617220726574203d20702e646174613b0a20206e202d3d207265742e6c656e6774683b0a20207768696c65202870203d20702e6e65787429207b0a2020202076617220737472203d20702e646174613b0a20202020766172206e62203d206e203e207374722e6c656e677468203f207374722e6c656e677468203a206e3b0a20202020696620286e62203d3d3d207374722e6c656e6774682920726574202b3d207374723b656c736520726574202b3d207374722e736c69636528302c206e293b0a202020206e202d3d206e623b0a20202020696620286e203d3d3d203029207b0a202020202020696620286e62203d3d3d207374722e6c656e67746829207b0a20202020202020202b2b633b0a202020202020202069662028702e6e65787429206c6973742e68656164203d20702e6e6578743b656c7365206c6973742e68656164203d206c6973742e7461696c203d206e756c6c3b0a2020202020207d20656c7365207b0a20202020202020206c6973742e68656164203d20703b0a2020202020202020702e64617461203d207374722e736c696365286e62293b0a2020202020207d0a202020202020627265616b3b0a202020207d0a202020202b2b633b0a20207d0a20206c6973742e6c656e677468202d3d20633b0a202072657475726e207265743b0a7d0a0a2f2f20436f7069657320612073706563696669656420616d6f756e74206f662062797465732066726f6d20746865206c697374206f662062756666657265642064617461206368756e6b732e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20636f707946726f6d427566666572286e2c206c69737429207b0a202076617220726574203d204275666665722e616c6c6f63556e73616665286e293b0a20207661722070203d206c6973742e686561643b0a20207661722063203d20313b0a2020702e646174612e636f707928726574293b0a20206e202d3d20702e646174612e6c656e6774683b0a20207768696c65202870203d20702e6e65787429207b0a2020202076617220627566203d20702e646174613b0a20202020766172206e62203d206e203e206275662e6c656e677468203f206275662e6c656e677468203a206e3b0a202020206275662e636f7079287265742c207265742e6c656e677468202d206e2c20302c206e62293b0a202020206e202d3d206e623b0a20202020696620286e203d3d3d203029207b0a202020202020696620286e62203d3d3d206275662e6c656e67746829207b0a20202020202020202b2b633b0a202020202020202069662028702e6e65787429206c6973742e68656164203d20702e6e6578743b656c7365206c6973742e68656164203d206c6973742e7461696c203d206e756c6c3b0a2020202020207d20656c7365207b0a20202020202020206c6973742e68656164203d20703b0a2020202020202020702e64617461203d206275662e736c696365286e62293b0a2020202020207d0a202020202020627265616b3b0a202020207d0a202020202b2b633b0a20207d0a20206c6973742e6c656e677468202d3d20633b0a202072657475726e207265743b0a7d0a0a66756e6374696f6e20656e645265616461626c652873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a0a20202f2f204966207765206765742068657265206265666f726520636f6e73756d696e6720616c6c207468652062797465732c207468656e207468617420697320610a20202f2f2062756720696e206e6f64652e202053686f756c64206e657665722068617070656e2e0a20206966202873746174652e6c656e677468203e203029207468726f77206e6577204572726f72282722656e645265616461626c652829222063616c6c6564206f6e206e6f6e2d656d7074792073747265616d27293b0a0a2020696620282173746174652e656e64456d697474656429207b0a2020202073746174652e656e646564203d20747275653b0a2020202070726f636573734e6578745469636b28656e645265616461626c654e542c2073746174652c2073747265616d293b0a20207d0a7d0a0a66756e6374696f6e20656e645265616461626c654e542873746174652c2073747265616d29207b0a20202f2f20436865636b2074686174207765206469646e277420676574206f6e65206c61737420756e73686966742e0a2020696620282173746174652e656e64456d69747465642026262073746174652e6c656e677468203d3d3d203029207b0a2020202073746174652e656e64456d6974746564203d20747275653b0a2020202073747265616d2e7265616461626c65203d2066616c73653b0a2020202073747265616d2e656d69742827656e6427293b0a20207d0a7d0a0a66756e6374696f6e20666f72456163682878732c206629207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020662878735b695d2c2069293b0a20207d0a7d0a0a66756e6374696f6e20696e6465784f662878732c207829207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a202020206966202878735b695d203d3d3d2078292072657475726e20693b0a20207d0a202072657475726e202d313b0a7d0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c222e2f696e7465726e616c2f73747265616d732f4275666665724c697374223a3134312c222e2f696e7465726e616c2f73747265616d732f64657374726f79223a3134322c222e2f696e7465726e616c2f73747265616d732f73747265616d223a3134332c225f70726f63657373223a3132352c22636f72652d7574696c2d6973223a33382c226576656e7473223a33332c22696e686572697473223a3132312c2269736172726179223a3133352c2270726f636573732d6e65787469636b2d61726773223a3132342c22736166652d627566666572223a3133302c22737472696e675f6465636f6465722f223a3134352c227574696c223a32397d5d2c3133393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2061207472616e73666f726d2073747265616d2069732061207265616461626c652f7772697461626c652073747265616d20776865726520796f7520646f0a2f2f20736f6d657468696e6720776974682074686520646174612e2020536f6d6574696d657320697427732063616c6c65642061202266696c746572222c0a2f2f2062757420746861742773206e6f742061206772656174206e616d6520666f722069742c2073696e6365207468617420696d706c6965732061207468696e672077686572650a2f2f20736f6d6520626974732070617373207468726f7567682c20616e64206f7468657273206172652073696d706c792069676e6f7265642e2020285468617420776f756c640a2f2f20626520612076616c6964206578616d706c65206f662061207472616e73666f726d2c206f6620636f757273652e290a2f2f0a2f2f205768696c6520746865206f75747075742069732063617573616c6c792072656c6174656420746f2074686520696e7075742c2069742773206e6f7420610a2f2f206e65636573736172696c792073796d6d6574726963206f722073796e6368726f6e6f7573207472616e73666f726d6174696f6e2e2020466f72206578616d706c652c0a2f2f2061207a6c69622073747265616d206d696768742074616b65206d756c7469706c6520706c61696e2d746578742077726974657328292c20616e64207468656e0a2f2f20656d697420612073696e676c6520636f6d70726573736564206368756e6b20736f6d652074696d6520696e20746865206675747572652e0a2f2f0a2f2f2048657265277320686f77207468697320776f726b733a0a2f2f0a2f2f20546865205472616e73666f726d2073747265616d2068617320616c6c207468652061737065637473206f6620746865207265616461626c6520616e64207772697461626c650a2f2f2073747265616d20636c61737365732e20205768656e20796f75207772697465286368756e6b292c20746861742063616c6c73205f7772697465286368756e6b2c6362290a2f2f20696e7465726e616c6c792c20616e642072657475726e732066616c736520696620746865726527732061206c6f74206f662070656e64696e67207772697465730a2f2f2062756666657265642075702e20205768656e20796f752063616c6c207265616428292c20746861742063616c6c73205f72656164286e2920756e74696c0a2f2f207468657265277320656e6f7567682070656e64696e67207265616461626c6520646174612062756666657265642075702e0a2f2f0a2f2f20496e2061207472616e73666f726d2073747265616d2c20746865207772697474656e206461746120697320706c6163656420696e2061206275666665722e20205768656e0a2f2f205f72656164286e292069732063616c6c65642c206974207472616e73666f726d73207468652071756575656420757020646174612c2063616c6c696e67207468650a2f2f206275666665726564205f7772697465206362277320617320697420636f6e73756d6573206368756e6b732e2020496620636f6e73756d696e6720612073696e676c650a2f2f207772697474656e206368756e6b20776f756c6420726573756c7420696e206d756c7469706c65206f7574707574206368756e6b732c207468656e207468652066697273740a2f2f206f7574707574746564206269742063616c6c7320746865207265616463622c20616e642073756273657175656e74206368756e6b73206a75737420676f20696e746f0a2f2f207468652072656164206275666665722c20616e642077696c6c20636175736520697420746f20656d697420277265616461626c6527206966206e65636573736172792e0a2f2f0a2f2f2054686973207761792c206261636b2d70726573737572652069732061637475616c6c792064657465726d696e6564206279207468652072656164696e6720736964652c0a2f2f2073696e6365205f726561642068617320746f2062652063616c6c656420746f2073746172742070726f63657373696e672061206e6577206368756e6b2e2020486f77657665722c0a2f2f206120706174686f6c6f676963616c20696e666c6174652074797065206f66207472616e73666f726d2063616e2063617573652065786365737369766520627566666572696e670a2f2f20686572652e2020466f72206578616d706c652c20696d6167696e6520612073747265616d2077686572652065766572792062797465206f6620696e7075742069730a2f2f20696e74657270726574656420617320616e20696e74656765722066726f6d20302d3235352c20616e64207468656e20726573756c747320696e2074686174206d616e790a2f2f206279746573206f66206f75747075742e202057726974696e67207468652034206279746573207b66662c66662c66662c66667d20776f756c6420726573756c7420696e0a2f2f20316b62206f662064617461206265696e67206f75747075742e2020496e207468697320636173652c20796f7520636f756c642077726974652061207665727920736d616c6c0a2f2f20616d6f756e74206f6620696e7075742c20616e6420656e64207570207769746820612076657279206c6172676520616d6f756e74206f66206f75747075742e2020496e0a2f2f2073756368206120706174686f6c6f676963616c20696e666c6174696e67206d656368616e69736d2c2074686572652764206265206e6f2077617920746f2074656c6c0a2f2f207468652073797374656d20746f2073746f7020646f696e6720746865207472616e73666f726d2e2020412073696e676c6520344d4220777269746520636f756c640a2f2f206361757365207468652073797374656d20746f2072756e206f7574206f66206d656d6f72792e0a2f2f0a2f2f20486f77657665722c206576656e20696e2073756368206120706174686f6c6f676963616c20636173652c206f6e6c7920612073696e676c65207772697474656e206368756e6b0a2f2f20776f756c6420626520636f6e73756d65642c20616e64207468656e20746865207265737420776f756c6420776169742028756e2d7472616e73666f726d65642920756e74696c0a2f2f2074686520726573756c7473206f66207468652070726576696f7573207472616e73666f726d6564206368756e6b207765726520636f6e73756d65642e0a0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d205472616e73666f726d3b0a0a766172204475706c6578203d207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7574696c2e696e686572697473285472616e73666f726d2c204475706c6578293b0a0a66756e6374696f6e205472616e73666f726d53746174652873747265616d29207b0a2020746869732e61667465725472616e73666f726d203d2066756e6374696f6e202865722c206461746129207b0a2020202072657475726e2061667465725472616e73666f726d2873747265616d2c2065722c2064617461293b0a20207d3b0a0a2020746869732e6e6565645472616e73666f726d203d2066616c73653b0a2020746869732e7472616e73666f726d696e67203d2066616c73653b0a2020746869732e77726974656362203d206e756c6c3b0a2020746869732e77726974656368756e6b203d206e756c6c3b0a2020746869732e7772697465656e636f64696e67203d206e756c6c3b0a7d0a0a66756e6374696f6e2061667465725472616e73666f726d2873747265616d2c2065722c206461746129207b0a2020766172207473203d2073747265616d2e5f7472616e73666f726d53746174653b0a202074732e7472616e73666f726d696e67203d2066616c73653b0a0a2020766172206362203d2074732e777269746563623b0a0a20206966202821636229207b0a2020202072657475726e2073747265616d2e656d697428276572726f72272c206e6577204572726f72282777726974652063616c6c6261636b2063616c6c6564206d756c7469706c652074696d65732729293b0a20207d0a0a202074732e77726974656368756e6b203d206e756c6c3b0a202074732e77726974656362203d206e756c6c3b0a0a2020696620286461746120213d3d206e756c6c202626206461746120213d3d20756e646566696e6564292073747265616d2e707573682864617461293b0a0a20206362286572293b0a0a2020766172207273203d2073747265616d2e5f7265616461626c6553746174653b0a202072732e72656164696e67203d2066616c73653b0a20206966202872732e6e6565645265616461626c65207c7c2072732e6c656e677468203c2072732e6869676857617465724d61726b29207b0a2020202073747265616d2e5f726561642872732e6869676857617465724d61726b293b0a20207d0a7d0a0a66756e6374696f6e205472616e73666f726d286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f66205472616e73666f726d29292072657475726e206e6577205472616e73666f726d286f7074696f6e73293b0a0a20204475706c65782e63616c6c28746869732c206f7074696f6e73293b0a0a2020746869732e5f7472616e73666f726d5374617465203d206e6577205472616e73666f726d53746174652874686973293b0a0a20207661722073747265616d203d20746869733b0a0a20202f2f207374617274206f75742061736b696e6720666f722061207265616461626c65206576656e74206f6e63652064617461206973207472616e73666f726d65642e0a2020746869732e5f7265616461626c6553746174652e6e6565645265616461626c65203d20747275653b0a0a20202f2f207765206861766520696d706c656d656e74656420746865205f72656164206d6574686f642c20616e6420646f6e6520746865206f74686572207468696e67730a20202f2f2074686174205265616461626c652077616e7473206265666f726520746865206669727374205f726561642063616c6c2c20736f20756e736574207468650a20202f2f2073796e6320677561726420666c61672e0a2020746869732e5f7265616461626c6553746174652e73796e63203d2066616c73653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e7472616e73666f726d203d3d3d202766756e6374696f6e272920746869732e5f7472616e73666f726d203d206f7074696f6e732e7472616e73666f726d3b0a0a2020202069662028747970656f66206f7074696f6e732e666c757368203d3d3d202766756e6374696f6e272920746869732e5f666c757368203d206f7074696f6e732e666c7573683b0a20207d0a0a20202f2f205768656e20746865207772697461626c6520736964652066696e69736865732c207468656e20666c757368206f757420616e797468696e672072656d61696e696e672e0a2020746869732e6f6e6365282770726566696e697368272c2066756e6374696f6e202829207b0a2020202069662028747970656f6620746869732e5f666c757368203d3d3d202766756e6374696f6e272920746869732e5f666c7573682866756e6374696f6e202865722c206461746129207b0a202020202020646f6e652873747265616d2c2065722c2064617461293b0a202020207d293b656c736520646f6e652873747265616d293b0a20207d293b0a7d0a0a5472616e73666f726d2e70726f746f747970652e70757368203d2066756e6374696f6e20286368756e6b2c20656e636f64696e6729207b0a2020746869732e5f7472616e73666f726d53746174652e6e6565645472616e73666f726d203d2066616c73653b0a202072657475726e204475706c65782e70726f746f747970652e707573682e63616c6c28746869732c206368756e6b2c20656e636f64696e67293b0a7d3b0a0a2f2f205468697320697320746865207061727420776865726520796f7520646f207374756666210a2f2f206f7665727269646520746869732066756e6374696f6e20696e20696d706c656d656e746174696f6e20636c61737365732e0a2f2f20276368756e6b2720697320616e20696e707574206368756e6b2e0a2f2f0a2f2f2043616c6c206070757368286e65774368756e6b296020746f207061737320616c6f6e67207472616e73666f726d6564206f75747075740a2f2f20746f20746865207265616461626c6520736964652e2020596f75206d61792063616c6c20277075736827207a65726f206f72206d6f72652074696d65732e0a2f2f0a2f2f2043616c6c20606362286572722960207768656e20796f752061726520646f6e6520776974682074686973206368756e6b2e2020496620796f7520706173730a2f2f20616e206572726f722c207468656e2074686174276c6c20707574207468652068757274206f6e207468652077686f6c65206f7065726174696f6e2e2020496620796f750a2f2f206e657665722063616c6c20636228292c207468656e20796f75276c6c206e657665722067657420616e6f74686572206368756e6b2e0a5472616e73666f726d2e70726f746f747970652e5f7472616e73666f726d203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20207468726f77206e6577204572726f7228275f7472616e73666f726d2829206973206e6f7420696d706c656d656e74656427293b0a7d3b0a0a5472616e73666f726d2e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207473203d20746869732e5f7472616e73666f726d53746174653b0a202074732e77726974656362203d2063623b0a202074732e77726974656368756e6b203d206368756e6b3b0a202074732e7772697465656e636f64696e67203d20656e636f64696e673b0a2020696620282174732e7472616e73666f726d696e6729207b0a20202020766172207273203d20746869732e5f7265616461626c6553746174653b0a202020206966202874732e6e6565645472616e73666f726d207c7c2072732e6e6565645265616461626c65207c7c2072732e6c656e677468203c2072732e6869676857617465724d61726b2920746869732e5f726561642872732e6869676857617465724d61726b293b0a20207d0a7d3b0a0a2f2f20446f65736e2774206d617474657220776861742074686520617267732061726520686572652e0a2f2f205f7472616e73666f726d20646f657320616c6c2074686520776f726b2e0a2f2f205468617420776520676f742068657265206d65616e73207468617420746865207265616461626c6520736964652077616e7473206d6f726520646174612e0a5472616e73666f726d2e70726f746f747970652e5f72656164203d2066756e6374696f6e20286e29207b0a2020766172207473203d20746869732e5f7472616e73666f726d53746174653b0a0a20206966202874732e77726974656368756e6b20213d3d206e756c6c2026262074732e77726974656362202626202174732e7472616e73666f726d696e6729207b0a2020202074732e7472616e73666f726d696e67203d20747275653b0a20202020746869732e5f7472616e73666f726d2874732e77726974656368756e6b2c2074732e7772697465656e636f64696e672c2074732e61667465725472616e73666f726d293b0a20207d20656c7365207b0a202020202f2f206d61726b2074686174207765206e6565642061207472616e73666f726d2c20736f207468617420616e792064617461207468617420636f6d657320696e0a202020202f2f2077696c6c206765742070726f6365737365642c206e6f7720746861742077652776652061736b656420666f722069742e0a2020202074732e6e6565645472616e73666f726d203d20747275653b0a20207d0a7d3b0a0a5472616e73666f726d2e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020766172205f74686973203d20746869733b0a0a20204475706c65782e70726f746f747970652e5f64657374726f792e63616c6c28746869732c206572722c2066756e6374696f6e20286572723229207b0a2020202063622865727232293b0a202020205f746869732e656d69742827636c6f736527293b0a20207d293b0a7d3b0a0a66756e6374696f6e20646f6e652873747265616d2c2065722c206461746129207b0a2020696620286572292072657475726e2073747265616d2e656d697428276572726f72272c206572293b0a0a2020696620286461746120213d3d206e756c6c202626206461746120213d3d20756e646566696e6564292073747265616d2e707573682864617461293b0a0a20202f2f2069662074686572652773206e6f7468696e6720696e20746865207772697465206275666665722c207468656e2074686174206d65616e730a20202f2f2074686174206e6f7468696e67206d6f72652077696c6c20657665722062652070726f76696465640a2020766172207773203d2073747265616d2e5f7772697461626c6553746174653b0a2020766172207473203d2073747265616d2e5f7472616e73666f726d53746174653b0a0a20206966202877732e6c656e67746829207468726f77206e6577204572726f72282743616c6c696e67207472616e73666f726d20646f6e65207768656e2077732e6c656e67746820213d203027293b0a0a20206966202874732e7472616e73666f726d696e6729207468726f77206e6577204572726f72282743616c6c696e67207472616e73666f726d20646f6e65207768656e207374696c6c207472616e73666f726d696e6727293b0a0a202072657475726e2073747265616d2e70757368286e756c6c293b0a7d0a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132317d5d2c3134303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2041206269742073696d706c6572207468616e207265616461626c652073747265616d732e0a2f2f20496d706c656d656e7420616e206173796e63202e5f7772697465286368756e6b2c20656e636f64696e672c206362292c20616e64206974276c6c2068616e646c6520616c6c0a2f2f2074686520647261696e206576656e7420656d697373696f6e20616e6420627566666572696e672e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d205772697461626c653b0a0a2f2a203c7265706c6163656d656e743e202a2f0a66756e6374696f6e205772697465526571286368756e6b2c20656e636f64696e672c20636229207b0a2020746869732e6368756e6b203d206368756e6b3b0a2020746869732e656e636f64696e67203d20656e636f64696e673b0a2020746869732e63616c6c6261636b203d2063623b0a2020746869732e6e657874203d206e756c6c3b0a7d0a0a2f2f204974207365656d732061206c696e6b6564206c69737420627574206974206973206e6f740a2f2f2074686572652077696c6c206265206f6e6c792032206f6620746865736520666f7220656163682073747265616d0a66756e6374696f6e20436f726b65645265717565737428737461746529207b0a2020766172205f74686973203d20746869733b0a0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e656e747279203d206e756c6c3b0a2020746869732e66696e697368203d2066756e6374696f6e202829207b0a202020206f6e436f726b656446696e697368285f746869732c207374617465293b0a20207d3b0a7d0a2f2a203c2f7265706c6163656d656e743e202a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172206173796e635772697465203d202170726f636573732e62726f77736572202626205b2776302e3130272c202776302e392e275d2e696e6465784f662870726f636573732e76657273696f6e2e736c69636528302c20352929203e202d31203f20736574496d6d656469617465203a2070726f636573734e6578745469636b3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204475706c65783b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a5772697461626c652e5772697461626c655374617465203d205772697461626c6553746174653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a76617220696e7465726e616c5574696c203d207b0a20206465707265636174653a207265717569726528277574696c2d64657072656361746527290a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722053747265616d203d207265717569726528272e2f696e7465726e616c2f73747265616d732f73747265616d27293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a766172204f757255696e74384172726179203d20676c6f62616c2e55696e74384172726179207c7c2066756e6374696f6e202829207b7d3b0a66756e6374696f6e205f75696e74384172726179546f427566666572286368756e6b29207b0a202072657475726e204275666665722e66726f6d286368756e6b293b0a7d0a66756e6374696f6e205f697355696e74384172726179286f626a29207b0a202072657475726e204275666665722e6973427566666572286f626a29207c7c206f626a20696e7374616e63656f66204f757255696e743841727261793b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7661722064657374726f79496d706c203d207265717569726528272e2f696e7465726e616c2f73747265616d732f64657374726f7927293b0a0a7574696c2e696e686572697473285772697461626c652c2053747265616d293b0a0a66756e6374696f6e206e6f702829207b7d0a0a66756e6374696f6e205772697461626c655374617465286f7074696f6e732c2073747265616d29207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206f7074696f6e73203d206f7074696f6e73207c7c207b7d3b0a0a20202f2f206f626a6563742073747265616d20666c616720746f20696e6469636174652077686574686572206f72206e6f7420746869732073747265616d0a20202f2f20636f6e7461696e732062756666657273206f72206f626a656374732e0a2020746869732e6f626a6563744d6f6465203d2021216f7074696f6e732e6f626a6563744d6f64653b0a0a20206966202873747265616d20696e7374616e63656f66204475706c65782920746869732e6f626a6563744d6f6465203d20746869732e6f626a6563744d6f6465207c7c2021216f7074696f6e732e7772697461626c654f626a6563744d6f64653b0a0a20202f2f2074686520706f696e742061742077686963682077726974652829207374617274732072657475726e696e672066616c73650a20202f2f204e6f74653a203020697320612076616c69642076616c75652c206d65616e73207468617420776520616c776179732072657475726e2066616c73652069660a20202f2f2074686520656e7469726520627566666572206973206e6f7420666c757368656420696d6d6564696174656c79206f6e20777269746528290a20207661722068776d203d206f7074696f6e732e6869676857617465724d61726b3b0a20207661722064656661756c7448776d203d20746869732e6f626a6563744d6f6465203f203136203a203136202a20313032343b0a2020746869732e6869676857617465724d61726b203d2068776d207c7c2068776d203d3d3d2030203f2068776d203a2064656661756c7448776d3b0a0a20202f2f206361737420746f20696e74732e0a2020746869732e6869676857617465724d61726b203d204d6174682e666c6f6f7228746869732e6869676857617465724d61726b293b0a0a20202f2f206966205f66696e616c20686173206265656e2063616c6c65640a2020746869732e66696e616c43616c6c6564203d2066616c73653b0a0a20202f2f20647261696e206576656e7420666c61672e0a2020746869732e6e656564447261696e203d2066616c73653b0a20202f2f20617420746865207374617274206f662063616c6c696e6720656e6428290a2020746869732e656e64696e67203d2066616c73653b0a20202f2f207768656e20656e64282920686173206265656e2063616c6c65642c20616e642072657475726e65640a2020746869732e656e646564203d2066616c73653b0a20202f2f207768656e202766696e6973682720697320656d69747465640a2020746869732e66696e6973686564203d2066616c73653b0a0a20202f2f20686173206974206265656e2064657374726f7965640a2020746869732e64657374726f796564203d2066616c73653b0a0a20202f2f2073686f756c64207765206465636f646520737472696e677320696e746f2062756666657273206265666f72652070617373696e6720746f205f77726974653f0a20202f2f2074686973206973206865726520736f207468617420736f6d65206e6f64652d636f72652073747265616d732063616e206f7074696d697a6520737472696e670a20202f2f2068616e646c696e672061742061206c6f776572206c6576656c2e0a2020766172206e6f4465636f6465203d206f7074696f6e732e6465636f6465537472696e6773203d3d3d2066616c73653b0a2020746869732e6465636f6465537472696e6773203d20216e6f4465636f64653b0a0a20202f2f2043727970746f206973206b696e64206f66206f6c6420616e64206372757374792e2020486973746f726963616c6c792c206974732064656661756c7420737472696e670a20202f2f20656e636f64696e67206973202762696e6172792720736f207765206861766520746f206d616b65207468697320636f6e666967757261626c652e0a20202f2f2045766572797468696e6720656c736520696e2074686520756e6976657273652075736573202775746638272c2074686f7567682e0a2020746869732e64656661756c74456e636f64696e67203d206f7074696f6e732e64656661756c74456e636f64696e67207c7c202775746638273b0a0a20202f2f206e6f7420616e2061637475616c20627566666572207765206b65657020747261636b206f662c206275742061206d6561737572656d656e740a20202f2f206f6620686f77206d7563682077652772652077616974696e6720746f206765742070757368656420746f20736f6d6520756e6465726c79696e670a20202f2f20736f636b6574206f722066696c652e0a2020746869732e6c656e677468203d20303b0a0a20202f2f206120666c616720746f20736565207768656e20776527726520696e20746865206d6964646c65206f6620612077726974652e0a2020746869732e77726974696e67203d2066616c73653b0a0a20202f2f207768656e207472756520616c6c207772697465732077696c6c20626520627566666572656420756e74696c202e756e636f726b28292063616c6c0a2020746869732e636f726b6564203d20303b0a0a20202f2f206120666c616720746f2062652061626c6520746f2074656c6c20696620746865206f6e77726974652063622069732063616c6c656420696d6d6564696174656c792c0a20202f2f206f72206f6e2061206c61746572207469636b2e2020576520736574207468697320746f20747275652061742066697273742c206265636175736520616e790a20202f2f20616374696f6e7320746861742073686f756c646e27742068617070656e20756e74696c20226c61746572222073686f756c642067656e6572616c6c7920616c736f0a20202f2f206e6f742068617070656e206265666f7265207468652066697273742077726974652063616c6c2e0a2020746869732e73796e63203d20747275653b0a0a20202f2f206120666c616720746f206b6e6f772069662077652772652070726f63657373696e672070726576696f75736c79206275666665726564206974656d732c2077686963680a20202f2f206d61792063616c6c20746865205f777269746528292063616c6c6261636b20696e207468652073616d65207469636b2c20736f207468617420776520646f6e27740a20202f2f20656e6420757020696e20616e206f7665726c6170706564206f6e777269746520736974756174696f6e2e0a2020746869732e62756666657250726f63657373696e67203d2066616c73653b0a0a20202f2f207468652063616c6c6261636b207468617427732070617373656420746f205f7772697465286368756e6b2c6362290a2020746869732e6f6e7772697465203d2066756e6374696f6e2028657229207b0a202020206f6e77726974652873747265616d2c206572293b0a20207d3b0a0a20202f2f207468652063616c6c6261636b207468617420746865207573657220737570706c69657320746f207772697465286368756e6b2c656e636f64696e672c6362290a2020746869732e77726974656362203d206e756c6c3b0a0a20202f2f2074686520616d6f756e742074686174206973206265696e67207772697474656e207768656e205f77726974652069732063616c6c65642e0a2020746869732e77726974656c656e203d20303b0a0a2020746869732e627566666572656452657175657374203d206e756c6c3b0a2020746869732e6c617374427566666572656452657175657374203d206e756c6c3b0a0a20202f2f206e756d626572206f662070656e64696e6720757365722d737570706c6965642077726974652063616c6c6261636b730a20202f2f2074686973206d7573742062652030206265666f7265202766696e697368272063616e20626520656d69747465640a2020746869732e70656e64696e676362203d20303b0a0a20202f2f20656d69742070726566696e69736820696620746865206f6e6c79207468696e672077652772652077616974696e6720666f72206973205f7772697465206362730a20202f2f20546869732069732072656c6576616e7420666f722073796e6368726f6e6f7573205472616e73666f726d2073747265616d730a2020746869732e70726566696e6973686564203d2066616c73653b0a0a20202f2f205472756520696620746865206572726f722077617320616c726561647920656d697474656420616e642073686f756c64206e6f74206265207468726f776e20616761696e0a2020746869732e6572726f72456d6974746564203d2066616c73653b0a0a20202f2f20636f756e742062756666657265642072657175657374730a2020746869732e627566666572656452657175657374436f756e74203d20303b0a0a20202f2f20616c6c6f636174652074686520666972737420436f726b6564526571756573742c20746865726520697320616c776179730a20202f2f206f6e6520616c6c6f636174656420616e64206672656520746f207573652c20616e64207765206d61696e7461696e206174206d6f73742074776f0a2020746869732e636f726b6564526571756573747346726565203d206e657720436f726b6564526571756573742874686973293b0a7d0a0a5772697461626c6553746174652e70726f746f747970652e676574427566666572203d2066756e6374696f6e206765744275666665722829207b0a20207661722063757272656e74203d20746869732e6275666665726564526571756573743b0a2020766172206f7574203d205b5d3b0a20207768696c65202863757272656e7429207b0a202020206f75742e707573682863757272656e74293b0a2020202063757272656e74203d2063757272656e742e6e6578743b0a20207d0a202072657475726e206f75743b0a7d3b0a0a2866756e6374696f6e202829207b0a2020747279207b0a202020204f626a6563742e646566696e6550726f7065727479285772697461626c6553746174652e70726f746f747970652c2027627566666572272c207b0a2020202020206765743a20696e7465726e616c5574696c2e6465707265636174652866756e6374696f6e202829207b0a202020202020202072657475726e20746869732e67657442756666657228293b0a2020202020207d2c20275f7772697461626c6553746174652e62756666657220697320646570726563617465642e20557365205f7772697461626c6553746174652e6765744275666665722027202b2027696e73746561642e272c20274445503030303327290a202020207d293b0a20207d20636174636820285f29207b7d0a7d2928293b0a0a2f2f2054657374205f7772697461626c65537461746520666f7220696e6865726974616e636520746f206163636f756e7420666f72204475706c65782073747265616d732c0a2f2f2077686f73652070726f746f7479706520636861696e206f6e6c7920706f696e747320746f205265616461626c652e0a766172207265616c486173496e7374616e63653b0a69662028747970656f662053796d626f6c203d3d3d202766756e6374696f6e272026262053796d626f6c2e686173496e7374616e636520262620747970656f662046756e6374696f6e2e70726f746f747970655b53796d626f6c2e686173496e7374616e63655d203d3d3d202766756e6374696f6e2729207b0a20207265616c486173496e7374616e6365203d2046756e6374696f6e2e70726f746f747970655b53796d626f6c2e686173496e7374616e63655d3b0a20204f626a6563742e646566696e6550726f7065727479285772697461626c652c2053796d626f6c2e686173496e7374616e63652c207b0a2020202076616c75653a2066756e6374696f6e20286f626a65637429207b0a202020202020696620287265616c486173496e7374616e63652e63616c6c28746869732c206f626a65637429292072657475726e20747275653b0a0a20202020202072657475726e206f626a656374202626206f626a6563742e5f7772697461626c65537461746520696e7374616e63656f66205772697461626c6553746174653b0a202020207d0a20207d293b0a7d20656c7365207b0a20207265616c486173496e7374616e6365203d2066756e6374696f6e20286f626a65637429207b0a2020202072657475726e206f626a65637420696e7374616e63656f6620746869733b0a20207d3b0a7d0a0a66756e6374696f6e205772697461626c65286f7074696f6e7329207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20202f2f205772697461626c652063746f72206973206170706c69656420746f204475706c657865732c20746f6f2e0a20202f2f20607265616c486173496e7374616e636560206973206e65636573736172792062656361757365207573696e6720706c61696e2060696e7374616e63656f66600a20202f2f20776f756c642072657475726e2066616c73652c206173206e6f20605f7772697461626c655374617465602070726f70657274792069732061747461636865642e0a0a20202f2f20547279696e6720746f207573652074686520637573746f6d2060696e7374616e63656f666020666f72205772697461626c6520686572652077696c6c20616c736f20627265616b207468650a20202f2f204e6f64652e6a73204c617a795472616e73666f726d20696d706c656d656e746174696f6e2c207768696368206861732061206e6f6e2d7472697669616c2067657474657220666f720a20202f2f20605f7772697461626c65537461746560207468617420776f756c64206c65616420746f20696e66696e69746520726563757273696f6e2e0a202069662028217265616c486173496e7374616e63652e63616c6c285772697461626c652c2074686973292026262021287468697320696e7374616e63656f66204475706c65782929207b0a2020202072657475726e206e6577205772697461626c65286f7074696f6e73293b0a20207d0a0a2020746869732e5f7772697461626c655374617465203d206e6577205772697461626c655374617465286f7074696f6e732c2074686973293b0a0a20202f2f206c65676163792e0a2020746869732e7772697461626c65203d20747275653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e7772697465203d3d3d202766756e6374696f6e272920746869732e5f7772697465203d206f7074696f6e732e77726974653b0a0a2020202069662028747970656f66206f7074696f6e732e777269746576203d3d3d202766756e6374696f6e272920746869732e5f777269746576203d206f7074696f6e732e7772697465763b0a0a2020202069662028747970656f66206f7074696f6e732e64657374726f79203d3d3d202766756e6374696f6e272920746869732e5f64657374726f79203d206f7074696f6e732e64657374726f793b0a0a2020202069662028747970656f66206f7074696f6e732e66696e616c203d3d3d202766756e6374696f6e272920746869732e5f66696e616c203d206f7074696f6e732e66696e616c3b0a20207d0a0a202053747265616d2e63616c6c2874686973293b0a7d0a0a2f2f204f74686572776973652070656f706c652063616e2070697065205772697461626c652073747265616d732c207768696368206973206a7573742077726f6e672e0a5772697461626c652e70726f746f747970652e70697065203d2066756e6374696f6e202829207b0a2020746869732e656d697428276572726f72272c206e6577204572726f72282743616e6e6f7420706970652c206e6f74207265616461626c652729293b0a7d3b0a0a66756e6374696f6e2077726974654166746572456e642873747265616d2c20636229207b0a2020766172206572203d206e6577204572726f722827777269746520616674657220656e6427293b0a20202f2f20544f444f3a206465666572206572726f72206576656e747320636f6e73697374656e746c7920657665727977686572652c206e6f74206a757374207468652063620a202073747265616d2e656d697428276572726f72272c206572293b0a202070726f636573734e6578745469636b2863622c206572293b0a7d0a0a2f2f20436865636b732074686174206120757365722d737570706c696564206368756e6b2069732076616c69642c20657370656369616c6c7920666f722074686520706172746963756c61720a2f2f206d6f6465207468652073747265616d20697320696e2e2043757272656e746c792074686973206d65616e73207468617420606e756c6c60206973206e657665722061636365707465640a2f2f20616e6420756e646566696e65642f6e6f6e2d737472696e672076616c75657320617265206f6e6c7920616c6c6f77656420696e206f626a656374206d6f64652e0a66756e6374696f6e2076616c69644368756e6b2873747265616d2c2073746174652c206368756e6b2c20636229207b0a20207661722076616c6964203d20747275653b0a2020766172206572203d2066616c73653b0a0a2020696620286368756e6b203d3d3d206e756c6c29207b0a202020206572203d206e657720547970654572726f7228274d6179206e6f74207772697465206e756c6c2076616c75657320746f2073747265616d27293b0a20207d20656c73652069662028747970656f66206368756e6b20213d3d2027737472696e6727202626206368756e6b20213d3d20756e646566696e6564202626202173746174652e6f626a6563744d6f646529207b0a202020206572203d206e657720547970654572726f722827496e76616c6964206e6f6e2d737472696e672f627566666572206368756e6b27293b0a20207d0a202069662028657229207b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a2020202070726f636573734e6578745469636b2863622c206572293b0a2020202076616c6964203d2066616c73653b0a20207d0a202072657475726e2076616c69643b0a7d0a0a5772697461626c652e70726f746f747970652e7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a202076617220726574203d2066616c73653b0a2020766172206973427566203d205f697355696e74384172726179286368756e6b29202626202173746174652e6f626a6563744d6f64653b0a0a202069662028697342756620262620214275666665722e6973427566666572286368756e6b2929207b0a202020206368756e6b203d205f75696e74384172726179546f427566666572286368756e6b293b0a20207d0a0a202069662028747970656f6620656e636f64696e67203d3d3d202766756e6374696f6e2729207b0a202020206362203d20656e636f64696e673b0a20202020656e636f64696e67203d206e756c6c3b0a20207d0a0a20206966202869734275662920656e636f64696e67203d2027627566666572273b656c7365206966202821656e636f64696e672920656e636f64696e67203d2073746174652e64656661756c74456e636f64696e673b0a0a202069662028747970656f6620636220213d3d202766756e6374696f6e2729206362203d206e6f703b0a0a20206966202873746174652e656e646564292077726974654166746572456e6428746869732c206362293b656c736520696620286973427566207c7c2076616c69644368756e6b28746869732c2073746174652c206368756e6b2c2063622929207b0a2020202073746174652e70656e64696e6763622b2b3b0a20202020726574203d2077726974654f7242756666657228746869732c2073746174652c2069734275662c206368756e6b2c20656e636f64696e672c206362293b0a20207d0a0a202072657475726e207265743b0a7d3b0a0a5772697461626c652e70726f746f747970652e636f726b203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a202073746174652e636f726b65642b2b3b0a7d3b0a0a5772697461626c652e70726f746f747970652e756e636f726b203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a20206966202873746174652e636f726b656429207b0a2020202073746174652e636f726b65642d2d3b0a0a20202020696620282173746174652e77726974696e67202626202173746174652e636f726b6564202626202173746174652e66696e6973686564202626202173746174652e62756666657250726f63657373696e672026262073746174652e6275666665726564526571756573742920636c65617242756666657228746869732c207374617465293b0a20207d0a7d3b0a0a5772697461626c652e70726f746f747970652e73657444656661756c74456e636f64696e67203d2066756e6374696f6e2073657444656661756c74456e636f64696e6728656e636f64696e6729207b0a20202f2f206e6f64653a3a5061727365456e636f64696e672829207265717569726573206c6f77657220636173652e0a202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e67272920656e636f64696e67203d20656e636f64696e672e746f4c6f7765724361736528293b0a20206966202821285b27686578272c202775746638272c20277574662d38272c20276173636969272c202762696e617279272c2027626173653634272c202775637332272c20277563732d32272c202775746631366c65272c20277574662d31366c65272c2027726177275d2e696e6465784f662828656e636f64696e67202b202727292e746f4c6f77657243617365282929203e202d312929207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67293b0a2020746869732e5f7772697461626c6553746174652e64656661756c74456e636f64696e67203d20656e636f64696e673b0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e206465636f64654368756e6b2873746174652c206368756e6b2c20656e636f64696e6729207b0a2020696620282173746174652e6f626a6563744d6f64652026262073746174652e6465636f6465537472696e677320213d3d2066616c736520262620747970656f66206368756e6b203d3d3d2027737472696e672729207b0a202020206368756e6b203d204275666665722e66726f6d286368756e6b2c20656e636f64696e67293b0a20207d0a202072657475726e206368756e6b3b0a7d0a0a2f2f20696620776527726520616c72656164792077726974696e6720736f6d657468696e672c207468656e206a7573742070757420746869730a2f2f20696e207468652071756575652c20616e642077616974206f7572207475726e2e20204f74686572776973652c2063616c6c205f77726974650a2f2f2049662077652072657475726e2066616c73652c207468656e207765206e656564206120647261696e206576656e742c20736f20736574207468617420666c61672e0a66756e6374696f6e2077726974654f724275666665722873747265616d2c2073746174652c2069734275662c206368756e6b2c20656e636f64696e672c20636229207b0a20206966202821697342756629207b0a20202020766172206e65774368756e6b203d206465636f64654368756e6b2873746174652c206368756e6b2c20656e636f64696e67293b0a20202020696620286368756e6b20213d3d206e65774368756e6b29207b0a2020202020206973427566203d20747275653b0a202020202020656e636f64696e67203d2027627566666572273b0a2020202020206368756e6b203d206e65774368756e6b3b0a202020207d0a20207d0a2020766172206c656e203d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a0a202073746174652e6c656e677468202b3d206c656e3b0a0a202076617220726574203d2073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b3b0a20202f2f207765206d75737420656e7375726520746861742070726576696f7573206e656564447261696e2077696c6c206e6f7420626520726573657420746f2066616c73652e0a20206966202821726574292073746174652e6e656564447261696e203d20747275653b0a0a20206966202873746174652e77726974696e67207c7c2073746174652e636f726b656429207b0a20202020766172206c617374203d2073746174652e6c6173744275666665726564526571756573743b0a2020202073746174652e6c617374427566666572656452657175657374203d207b0a2020202020206368756e6b3a206368756e6b2c0a202020202020656e636f64696e673a20656e636f64696e672c0a20202020202069734275663a2069734275662c0a20202020202063616c6c6261636b3a2063622c0a2020202020206e6578743a206e756c6c0a202020207d3b0a20202020696620286c61737429207b0a2020202020206c6173742e6e657874203d2073746174652e6c6173744275666665726564526571756573743b0a202020207d20656c7365207b0a20202020202073746174652e627566666572656452657175657374203d2073746174652e6c6173744275666665726564526571756573743b0a202020207d0a2020202073746174652e627566666572656452657175657374436f756e74202b3d20313b0a20207d20656c7365207b0a20202020646f57726974652873747265616d2c2073746174652c2066616c73652c206c656e2c206368756e6b2c20656e636f64696e672c206362293b0a20207d0a0a202072657475726e207265743b0a7d0a0a66756e6374696f6e20646f57726974652873747265616d2c2073746174652c207772697465762c206c656e2c206368756e6b2c20656e636f64696e672c20636229207b0a202073746174652e77726974656c656e203d206c656e3b0a202073746174652e77726974656362203d2063623b0a202073746174652e77726974696e67203d20747275653b0a202073746174652e73796e63203d20747275653b0a202069662028777269746576292073747265616d2e5f777269746576286368756e6b2c2073746174652e6f6e7772697465293b656c73652073747265616d2e5f7772697465286368756e6b2c20656e636f64696e672c2073746174652e6f6e7772697465293b0a202073746174652e73796e63203d2066616c73653b0a7d0a0a66756e6374696f6e206f6e77726974654572726f722873747265616d2c2073746174652c2073796e632c2065722c20636229207b0a20202d2d73746174652e70656e64696e6763623b0a0a20206966202873796e6329207b0a202020202f2f206465666572207468652063616c6c6261636b20696620776520617265206265696e672063616c6c65642073796e6368726f6e6f75736c790a202020202f2f20746f2061766f69642070696c696e67207570207468696e6773206f6e2074686520737461636b0a2020202070726f636573734e6578745469636b2863622c206572293b0a202020202f2f20746869732063616e20656d69742066696e6973682c20616e642069742077696c6c20616c776179732068617070656e0a202020202f2f206166746572206572726f720a2020202070726f636573734e6578745469636b2866696e6973684d617962652c2073747265616d2c207374617465293b0a2020202073747265616d2e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a20207d20656c7365207b0a202020202f2f207468652063616c6c657220657870656374207468697320746f2068617070656e206265666f72652069660a202020202f2f206974206973206173796e630a202020206362286572293b0a2020202073747265616d2e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a202020202f2f20746869732063616e20656d69742066696e6973682c206275742066696e697368206d7573740a202020202f2f20616c7761797320666f6c6c6f77206572726f720a2020202066696e6973684d617962652873747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e206f6e7772697465537461746555706461746528737461746529207b0a202073746174652e77726974696e67203d2066616c73653b0a202073746174652e77726974656362203d206e756c6c3b0a202073746174652e6c656e677468202d3d2073746174652e77726974656c656e3b0a202073746174652e77726974656c656e203d20303b0a7d0a0a66756e6374696f6e206f6e77726974652873747265616d2c20657229207b0a2020766172207374617465203d2073747265616d2e5f7772697461626c6553746174653b0a20207661722073796e63203d2073746174652e73796e633b0a2020766172206362203d2073746174652e777269746563623b0a0a20206f6e77726974655374617465557064617465287374617465293b0a0a202069662028657229206f6e77726974654572726f722873747265616d2c2073746174652c2073796e632c2065722c206362293b656c7365207b0a202020202f2f20436865636b2069662077652772652061637475616c6c7920726561647920746f2066696e6973682c2062757420646f6e277420656d6974207965740a202020207661722066696e6973686564203d206e65656446696e697368287374617465293b0a0a20202020696620282166696e6973686564202626202173746174652e636f726b6564202626202173746174652e62756666657250726f63657373696e672026262073746174652e62756666657265645265717565737429207b0a202020202020636c6561724275666665722873747265616d2c207374617465293b0a202020207d0a0a202020206966202873796e6329207b0a2020202020202f2a3c7265706c6163656d656e743e2a2f0a2020202020206173796e63577269746528616674657257726974652c2073747265616d2c2073746174652c2066696e69736865642c206362293b0a2020202020202f2a3c2f7265706c6163656d656e743e2a2f0a202020207d20656c7365207b0a202020202020616674657257726974652873747265616d2c2073746174652c2066696e69736865642c206362293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20616674657257726974652873747265616d2c2073746174652c2066696e69736865642c20636229207b0a2020696620282166696e697368656429206f6e7772697465447261696e2873747265616d2c207374617465293b0a202073746174652e70656e64696e6763622d2d3b0a2020636228293b0a202066696e6973684d617962652873747265616d2c207374617465293b0a7d0a0a2f2f204d75737420666f7263652063616c6c6261636b20746f2062652063616c6c6564206f6e206e6578745469636b2c20736f207468617420776520646f6e27740a2f2f20656d69742027647261696e27206265666f726520746865207772697465282920636f6e73756d6572206765747320746865202766616c7365272072657475726e0a2f2f2076616c75652c20616e64206861732061206368616e636520746f2061747461636820612027647261696e27206c697374656e65722e0a66756e6374696f6e206f6e7772697465447261696e2873747265616d2c20737461746529207b0a20206966202873746174652e6c656e677468203d3d3d20302026262073746174652e6e656564447261696e29207b0a2020202073746174652e6e656564447261696e203d2066616c73653b0a2020202073747265616d2e656d69742827647261696e27293b0a20207d0a7d0a0a2f2f206966207468657265277320736f6d657468696e6720696e20746865206275666665722077616974696e672c207468656e2070726f636573732069740a66756e6374696f6e20636c6561724275666665722873747265616d2c20737461746529207b0a202073746174652e62756666657250726f63657373696e67203d20747275653b0a202076617220656e747279203d2073746174652e6275666665726564526571756573743b0a0a20206966202873747265616d2e5f77726974657620262620656e74727920262620656e7472792e6e65787429207b0a202020202f2f204661737420636173652c2077726974652065766572797468696e67207573696e67205f77726974657628290a20202020766172206c203d2073746174652e627566666572656452657175657374436f756e743b0a2020202076617220627566666572203d206e6577204172726179286c293b0a2020202076617220686f6c646572203d2073746174652e636f726b65645265717565737473467265653b0a20202020686f6c6465722e656e747279203d20656e7472793b0a0a2020202076617220636f756e74203d20303b0a2020202076617220616c6c42756666657273203d20747275653b0a202020207768696c652028656e74727929207b0a2020202020206275666665725b636f756e745d203d20656e7472793b0a2020202020206966202821656e7472792e69734275662920616c6c42756666657273203d2066616c73653b0a202020202020656e747279203d20656e7472792e6e6578743b0a202020202020636f756e74202b3d20313b0a202020207d0a202020206275666665722e616c6c42756666657273203d20616c6c427566666572733b0a0a20202020646f57726974652873747265616d2c2073746174652c20747275652c2073746174652e6c656e6774682c206275666665722c2027272c20686f6c6465722e66696e697368293b0a0a202020202f2f20646f577269746520697320616c6d6f737420616c77617973206173796e632c20646566657220746865736520746f2073617665206120626974206f662074696d650a202020202f2f2061732074686520686f74207061746820656e6473207769746820646f57726974650a2020202073746174652e70656e64696e6763622b2b3b0a2020202073746174652e6c617374427566666572656452657175657374203d206e756c6c3b0a2020202069662028686f6c6465722e6e65787429207b0a20202020202073746174652e636f726b6564526571756573747346726565203d20686f6c6465722e6e6578743b0a202020202020686f6c6465722e6e657874203d206e756c6c3b0a202020207d20656c7365207b0a20202020202073746174652e636f726b6564526571756573747346726565203d206e657720436f726b656452657175657374287374617465293b0a202020207d0a20207d20656c7365207b0a202020202f2f20536c6f7720636173652c207772697465206368756e6b73206f6e652d62792d6f6e650a202020207768696c652028656e74727929207b0a202020202020766172206368756e6b203d20656e7472792e6368756e6b3b0a20202020202076617220656e636f64696e67203d20656e7472792e656e636f64696e673b0a202020202020766172206362203d20656e7472792e63616c6c6261636b3b0a202020202020766172206c656e203d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a0a202020202020646f57726974652873747265616d2c2073746174652c2066616c73652c206c656e2c206368756e6b2c20656e636f64696e672c206362293b0a202020202020656e747279203d20656e7472792e6e6578743b0a2020202020202f2f206966207765206469646e27742063616c6c20746865206f6e777269746520696d6d6564696174656c792c207468656e0a2020202020202f2f206974206d65616e732074686174207765206e65656420746f207761697420756e74696c20697420646f65732e0a2020202020202f2f20616c736f2c2074686174206d65616e73207468617420746865206368756e6b20616e64206362206172652063757272656e746c790a2020202020202f2f206265696e672070726f6365737365642c20736f206d6f7665207468652062756666657220636f756e7465722070617374207468656d2e0a2020202020206966202873746174652e77726974696e6729207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028656e747279203d3d3d206e756c6c292073746174652e6c617374427566666572656452657175657374203d206e756c6c3b0a20207d0a0a202073746174652e627566666572656452657175657374436f756e74203d20303b0a202073746174652e627566666572656452657175657374203d20656e7472793b0a202073746174652e62756666657250726f63657373696e67203d2066616c73653b0a7d0a0a5772697461626c652e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20206362286e6577204572726f7228275f77726974652829206973206e6f7420696d706c656d656e7465642729293b0a7d3b0a0a5772697461626c652e70726f746f747970652e5f777269746576203d206e756c6c3b0a0a5772697461626c652e70726f746f747970652e656e64203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a202069662028747970656f66206368756e6b203d3d3d202766756e6374696f6e2729207b0a202020206362203d206368756e6b3b0a202020206368756e6b203d206e756c6c3b0a20202020656e636f64696e67203d206e756c6c3b0a20207d20656c73652069662028747970656f6620656e636f64696e67203d3d3d202766756e6374696f6e2729207b0a202020206362203d20656e636f64696e673b0a20202020656e636f64696e67203d206e756c6c3b0a20207d0a0a2020696620286368756e6b20213d3d206e756c6c202626206368756e6b20213d3d20756e646566696e65642920746869732e7772697465286368756e6b2c20656e636f64696e67293b0a0a20202f2f202e656e6428292066756c6c7920756e636f726b730a20206966202873746174652e636f726b656429207b0a2020202073746174652e636f726b6564203d20313b0a20202020746869732e756e636f726b28293b0a20207d0a0a20202f2f2069676e6f726520756e6e656365737361727920656e6428292063616c6c732e0a2020696620282173746174652e656e64696e67202626202173746174652e66696e69736865642920656e645772697461626c6528746869732c2073746174652c206362293b0a7d3b0a0a66756e6374696f6e206e65656446696e69736828737461746529207b0a202072657475726e2073746174652e656e64696e672026262073746174652e6c656e677468203d3d3d20302026262073746174652e627566666572656452657175657374203d3d3d206e756c6c202626202173746174652e66696e6973686564202626202173746174652e77726974696e673b0a7d0a66756e6374696f6e2063616c6c46696e616c2873747265616d2c20737461746529207b0a202073747265616d2e5f66696e616c2866756e6374696f6e202865727229207b0a2020202073746174652e70656e64696e6763622d2d3b0a202020206966202865727229207b0a20202020202073747265616d2e656d697428276572726f72272c20657272293b0a202020207d0a2020202073746174652e70726566696e6973686564203d20747275653b0a2020202073747265616d2e656d6974282770726566696e69736827293b0a2020202066696e6973684d617962652873747265616d2c207374617465293b0a20207d293b0a7d0a66756e6374696f6e2070726566696e6973682873747265616d2c20737461746529207b0a2020696620282173746174652e70726566696e6973686564202626202173746174652e66696e616c43616c6c656429207b0a2020202069662028747970656f662073747265616d2e5f66696e616c203d3d3d202766756e6374696f6e2729207b0a20202020202073746174652e70656e64696e6763622b2b3b0a20202020202073746174652e66696e616c43616c6c6564203d20747275653b0a20202020202070726f636573734e6578745469636b2863616c6c46696e616c2c2073747265616d2c207374617465293b0a202020207d20656c7365207b0a20202020202073746174652e70726566696e6973686564203d20747275653b0a20202020202073747265616d2e656d6974282770726566696e69736827293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2066696e6973684d617962652873747265616d2c20737461746529207b0a2020766172206e656564203d206e65656446696e697368287374617465293b0a2020696620286e65656429207b0a2020202070726566696e6973682873747265616d2c207374617465293b0a202020206966202873746174652e70656e64696e676362203d3d3d203029207b0a20202020202073746174652e66696e6973686564203d20747275653b0a20202020202073747265616d2e656d6974282766696e69736827293b0a202020207d0a20207d0a202072657475726e206e6565643b0a7d0a0a66756e6374696f6e20656e645772697461626c652873747265616d2c2073746174652c20636229207b0a202073746174652e656e64696e67203d20747275653b0a202066696e6973684d617962652873747265616d2c207374617465293b0a202069662028636229207b0a202020206966202873746174652e66696e6973686564292070726f636573734e6578745469636b286362293b656c73652073747265616d2e6f6e6365282766696e697368272c206362293b0a20207d0a202073746174652e656e646564203d20747275653b0a202073747265616d2e7772697461626c65203d2066616c73653b0a7d0a0a66756e6374696f6e206f6e436f726b656446696e69736828636f726b5265712c2073746174652c2065727229207b0a202076617220656e747279203d20636f726b5265712e656e7472793b0a2020636f726b5265712e656e747279203d206e756c6c3b0a20207768696c652028656e74727929207b0a20202020766172206362203d20656e7472792e63616c6c6261636b3b0a2020202073746174652e70656e64696e6763622d2d3b0a20202020636228657272293b0a20202020656e747279203d20656e7472792e6e6578743b0a20207d0a20206966202873746174652e636f726b656452657175657374734672656529207b0a2020202073746174652e636f726b65645265717565737473467265652e6e657874203d20636f726b5265713b0a20207d20656c7365207b0a2020202073746174652e636f726b6564526571756573747346726565203d20636f726b5265713b0a20207d0a7d0a0a4f626a6563742e646566696e6550726f7065727479285772697461626c652e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7772697461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a202020206966202821746869732e5f7772697461626c65537461746529207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a5772697461626c652e70726f746f747970652e64657374726f79203d2064657374726f79496d706c2e64657374726f793b0a5772697461626c652e70726f746f747970652e5f756e64657374726f79203d2064657374726f79496d706c2e756e64657374726f793b0a5772697461626c652e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e656e6428293b0a2020636228657272293b0a7d3b0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c222e2f696e7465726e616c2f73747265616d732f64657374726f79223a3134322c222e2f696e7465726e616c2f73747265616d732f73747265616d223a3134332c225f70726f63657373223a3132352c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132312c2270726f636573732d6e65787469636b2d61726773223a3132342c22736166652d627566666572223a3133302c227574696c2d646570726563617465223a3134377d5d2c3134313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a66756e6374696f6e205f636c61737343616c6c436865636b28696e7374616e63652c20436f6e7374727563746f7229207b20696620282128696e7374616e636520696e7374616e63656f6620436f6e7374727563746f722929207b207468726f77206e657720547970654572726f72282243616e6e6f742063616c6c206120636c61737320617320612066756e6374696f6e22293b207d207d0a0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a66756e6374696f6e20636f7079427566666572287372632c207461726765742c206f666673657429207b0a20207372632e636f7079287461726765742c206f6666736574293b0a7d0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e202829207b0a202066756e6374696f6e204275666665724c6973742829207b0a202020205f636c61737343616c6c436865636b28746869732c204275666665724c697374293b0a0a20202020746869732e68656164203d206e756c6c3b0a20202020746869732e7461696c203d206e756c6c3b0a20202020746869732e6c656e677468203d20303b0a20207d0a0a20204275666665724c6973742e70726f746f747970652e70757368203d2066756e6374696f6e2070757368287629207b0a2020202076617220656e747279203d207b20646174613a20762c206e6578743a206e756c6c207d3b0a2020202069662028746869732e6c656e677468203e20302920746869732e7461696c2e6e657874203d20656e7472793b656c736520746869732e68656164203d20656e7472793b0a20202020746869732e7461696c203d20656e7472793b0a202020202b2b746869732e6c656e6774683b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e756e7368696674203d2066756e6374696f6e20756e7368696674287629207b0a2020202076617220656e747279203d207b20646174613a20762c206e6578743a20746869732e68656164207d3b0a2020202069662028746869732e6c656e677468203d3d3d20302920746869732e7461696c203d20656e7472793b0a20202020746869732e68656164203d20656e7472793b0a202020202b2b746869732e6c656e6774683b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e7368696674203d2066756e6374696f6e2073686966742829207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e3b0a2020202076617220726574203d20746869732e686561642e646174613b0a2020202069662028746869732e6c656e677468203d3d3d20312920746869732e68656164203d20746869732e7461696c203d206e756c6c3b656c736520746869732e68656164203d20746869732e686561642e6e6578743b0a202020202d2d746869732e6c656e6774683b0a2020202072657475726e207265743b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e636c656172203d2066756e6374696f6e20636c6561722829207b0a20202020746869732e68656164203d20746869732e7461696c203d206e756c6c3b0a20202020746869732e6c656e677468203d20303b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e6a6f696e203d2066756e6374696f6e206a6f696e287329207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e2027273b0a202020207661722070203d20746869732e686561643b0a2020202076617220726574203d202727202b20702e646174613b0a202020207768696c65202870203d20702e6e65787429207b0a202020202020726574202b3d2073202b20702e646174613b0a202020207d72657475726e207265743b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e636f6e636174203d2066756e6374696f6e20636f6e636174286e29207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e204275666665722e616c6c6f632830293b0a2020202069662028746869732e6c656e677468203d3d3d2031292072657475726e20746869732e686561642e646174613b0a2020202076617220726574203d204275666665722e616c6c6f63556e73616665286e203e3e3e2030293b0a202020207661722070203d20746869732e686561643b0a202020207661722069203d20303b0a202020207768696c6520287029207b0a202020202020636f707942756666657228702e646174612c207265742c2069293b0a20202020202069202b3d20702e646174612e6c656e6774683b0a20202020202070203d20702e6e6578743b0a202020207d0a2020202072657475726e207265743b0a20207d3b0a0a202072657475726e204275666665724c6973743b0a7d28293b0a7d2c7b22736166652d627566666572223a3133307d5d2c3134323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2f20756e646f63756d656e7465642063622829204150492c206e656564656420666f7220636f72652c206e6f7420666f72207075626c6963204150490a66756e6374696f6e2064657374726f79286572722c20636229207b0a2020766172205f74686973203d20746869733b0a0a2020766172207265616461626c6544657374726f796564203d20746869732e5f7265616461626c65537461746520262620746869732e5f7265616461626c6553746174652e64657374726f7965643b0a2020766172207772697461626c6544657374726f796564203d20746869732e5f7772697461626c65537461746520262620746869732e5f7772697461626c6553746174652e64657374726f7965643b0a0a2020696620287265616461626c6544657374726f796564207c7c207772697461626c6544657374726f79656429207b0a2020202069662028636229207b0a202020202020636228657272293b0a202020207d20656c73652069662028657272202626202821746869732e5f7772697461626c655374617465207c7c2021746869732e5f7772697461626c6553746174652e6572726f72456d69747465642929207b0a20202020202070726f636573734e6578745469636b28656d69744572726f724e542c20746869732c20657272293b0a202020207d0a2020202072657475726e3b0a20207d0a0a20202f2f207765207365742064657374726f79656420746f2074727565206265666f726520666972696e67206572726f722063616c6c6261636b7320696e206f726465720a20202f2f20746f206d616b652069742072652d656e7472616e6365207361666520696e20636173652064657374726f7928292069732063616c6c65642077697468696e2063616c6c6261636b730a0a202069662028746869732e5f7265616461626c65537461746529207b0a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d20747275653b0a20207d0a0a20202f2f20696620746869732069732061206475706c65782073747265616d206d61726b20746865207772697461626c6520706172742061732064657374726f7965642061732077656c6c0a202069662028746869732e5f7772697461626c65537461746529207b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d20747275653b0a20207d0a0a2020746869732e5f64657374726f7928657272207c7c206e756c6c2c2066756e6374696f6e202865727229207b0a20202020696620282163622026262065727229207b0a20202020202070726f636573734e6578745469636b28656d69744572726f724e542c205f746869732c20657272293b0a202020202020696620285f746869732e5f7772697461626c65537461746529207b0a20202020202020205f746869732e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202020207d0a202020207d20656c73652069662028636229207b0a202020202020636228657272293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20756e64657374726f792829207b0a202069662028746869732e5f7265616461626c65537461746529207b0a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e72656164696e67203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e656e646564203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e656e64456d6974746564203d2066616c73653b0a20207d0a0a202069662028746869732e5f7772697461626c65537461746529207b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e656e646564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e656e64696e67203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e66696e6973686564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e6572726f72456d6974746564203d2066616c73653b0a20207d0a7d0a0a66756e6374696f6e20656d69744572726f724e542873656c662c2065727229207b0a202073656c662e656d697428276572726f72272c20657272293b0a7d0a0a6d6f64756c652e6578706f727473203d207b0a202064657374726f793a2064657374726f792c0a2020756e64657374726f793a20756e64657374726f790a7d3b0a7d2c7b2270726f636573732d6e65787469636b2d61726773223a3132347d5d2c3134333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207265717569726528276576656e747327292e4576656e74456d69747465723b0a0a7d2c7b226576656e7473223a33337d5d2c3134343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6578706f727473203d206d6f64756c652e6578706f727473203d207265717569726528272e2f6c69622f5f73747265616d5f7265616461626c652e6a7327293b0a6578706f7274732e53747265616d203d206578706f7274733b0a6578706f7274732e5265616461626c65203d206578706f7274733b0a6578706f7274732e5772697461626c65203d207265717569726528272e2f6c69622f5f73747265616d5f7772697461626c652e6a7327293b0a6578706f7274732e4475706c6578203d207265717569726528272e2f6c69622f5f73747265616d5f6475706c65782e6a7327293b0a6578706f7274732e5472616e73666f726d203d207265717569726528272e2f6c69622f5f73747265616d5f7472616e73666f726d2e6a7327293b0a6578706f7274732e506173735468726f756768203d207265717569726528272e2f6c69622f5f73747265616d5f706173737468726f7567682e6a7327293b0a0a7d2c7b222e2f6c69622f5f73747265616d5f6475706c65782e6a73223a3133362c222e2f6c69622f5f73747265616d5f706173737468726f7567682e6a73223a3133372c222e2f6c69622f5f73747265616d5f7265616461626c652e6a73223a3133382c222e2f6c69622f5f73747265616d5f7472616e73666f726d2e6a73223a3133392c222e2f6c69622f5f73747265616d5f7772697461626c652e6a73223a3134307d5d2c3134353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a0a766172206973456e636f64696e67203d204275666665722e6973456e636f64696e67207c7c2066756e6374696f6e2028656e636f64696e6729207b0a2020656e636f64696e67203d202727202b20656e636f64696e673b0a20207377697463682028656e636f64696e6720262620656e636f64696e672e746f4c6f77657243617365282929207b0a20202020636173652027686578273a63617365202775746638273a6361736520277574662d38273a6361736520276173636969273a63617365202762696e617279273a636173652027626173653634273a63617365202775637332273a6361736520277563732d32273a63617365202775746631366c65273a6361736520277574662d31366c65273a636173652027726177273a0a20202020202072657475726e20747275653b0a2020202064656661756c743a0a20202020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e205f6e6f726d616c697a65456e636f64696e6728656e6329207b0a20206966202821656e63292072657475726e202775746638273b0a202076617220726574726965643b0a20207768696c6520287472756529207b0a202020207377697463682028656e6329207b0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e202775746638273b0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e202775746631366c65273b0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e20276c6174696e31273b0a202020202020636173652027626173653634273a0a2020202020206361736520276173636969273a0a202020202020636173652027686578273a0a202020202020202072657475726e20656e633b0a20202020202064656661756c743a0a20202020202020206966202872657472696564292072657475726e3b202f2f20756e646566696e65640a2020202020202020656e63203d20282727202b20656e63292e746f4c6f7765724361736528293b0a202020202020202072657472696564203d20747275653b0a202020207d0a20207d0a7d3b0a0a2f2f20446f206e6f7420636163686520604275666665722e6973456e636f64696e6760207768656e20636865636b696e6720656e636f64696e67206e616d657320617320736f6d650a2f2f206d6f64756c6573206d6f6e6b65792d706174636820697420746f20737570706f7274206164646974696f6e616c20656e636f64696e67730a66756e6374696f6e206e6f726d616c697a65456e636f64696e6728656e6329207b0a2020766172206e656e63203d205f6e6f726d616c697a65456e636f64696e6728656e63293b0a202069662028747970656f66206e656e6320213d3d2027737472696e672720262620284275666665722e6973456e636f64696e67203d3d3d206973456e636f64696e67207c7c20216973456e636f64696e6728656e63292929207468726f77206e6577204572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e63293b0a202072657475726e206e656e63207c7c20656e633b0a7d0a0a2f2f20537472696e674465636f6465722070726f766964657320616e20696e7465726661636520666f7220656666696369656e746c792073706c697474696e67206120736572696573206f660a2f2f206275666665727320696e746f206120736572696573206f66204a5320737472696e677320776974686f757420627265616b696e67206170617274206d756c74692d627974650a2f2f20636861726163746572732e0a6578706f7274732e537472696e674465636f646572203d20537472696e674465636f6465723b0a66756e6374696f6e20537472696e674465636f64657228656e636f64696e6729207b0a2020746869732e656e636f64696e67203d206e6f726d616c697a65456e636f64696e6728656e636f64696e67293b0a2020766172206e623b0a20207377697463682028746869732e656e636f64696e6729207b0a2020202063617365202775746631366c65273a0a202020202020746869732e74657874203d207574663136546578743b0a202020202020746869732e656e64203d207574663136456e643b0a2020202020206e62203d20343b0a202020202020627265616b3b0a2020202063617365202775746638273a0a202020202020746869732e66696c6c4c617374203d207574663846696c6c4c6173743b0a2020202020206e62203d20343b0a202020202020627265616b3b0a20202020636173652027626173653634273a0a202020202020746869732e74657874203d20626173653634546578743b0a202020202020746869732e656e64203d20626173653634456e643b0a2020202020206e62203d20333b0a202020202020627265616b3b0a2020202064656661756c743a0a202020202020746869732e7772697465203d2073696d706c6557726974653b0a202020202020746869732e656e64203d2073696d706c65456e643b0a20202020202072657475726e3b0a20207d0a2020746869732e6c6173744e656564203d20303b0a2020746869732e6c617374546f74616c203d20303b0a2020746869732e6c61737443686172203d204275666665722e616c6c6f63556e73616665286e62293b0a7d0a0a537472696e674465636f6465722e70726f746f747970652e7772697465203d2066756e6374696f6e202862756629207b0a2020696620286275662e6c656e677468203d3d3d2030292072657475726e2027273b0a202076617220723b0a202076617220693b0a202069662028746869732e6c6173744e65656429207b0a2020202072203d20746869732e66696c6c4c61737428627566293b0a202020206966202872203d3d3d20756e646566696e6564292072657475726e2027273b0a2020202069203d20746869732e6c6173744e6565643b0a20202020746869732e6c6173744e656564203d20303b0a20207d20656c7365207b0a2020202069203d20303b0a20207d0a20206966202869203c206275662e6c656e677468292072657475726e2072203f2072202b20746869732e74657874286275662c206929203a20746869732e74657874286275662c2069293b0a202072657475726e2072207c7c2027273b0a7d3b0a0a537472696e674465636f6465722e70726f746f747970652e656e64203d2075746638456e643b0a0a2f2f2052657475726e73206f6e6c7920636f6d706c657465206368617261637465727320696e2061204275666665720a537472696e674465636f6465722e70726f746f747970652e74657874203d2075746638546578743b0a0a2f2f20417474656d70747320746f20636f6d706c6574652061207061727469616c206e6f6e2d5554462d3820636861726163746572207573696e672062797465732066726f6d2061204275666665720a537472696e674465636f6465722e70726f746f747970652e66696c6c4c617374203d2066756e6374696f6e202862756629207b0a202069662028746869732e6c6173744e656564203c3d206275662e6c656e67746829207b0a202020206275662e636f707928746869732e6c617374436861722c20746869732e6c617374546f74616c202d20746869732e6c6173744e6565642c20302c20746869732e6c6173744e656564293b0a2020202072657475726e20746869732e6c617374436861722e746f537472696e6728746869732e656e636f64696e672c20302c20746869732e6c617374546f74616c293b0a20207d0a20206275662e636f707928746869732e6c617374436861722c20746869732e6c617374546f74616c202d20746869732e6c6173744e6565642c20302c206275662e6c656e677468293b0a2020746869732e6c6173744e656564202d3d206275662e6c656e6774683b0a7d3b0a0a2f2f20436865636b73207468652074797065206f662061205554462d3820627974652c207768657468657220697427732041534349492c2061206c656164696e6720627974652c206f7220610a2f2f20636f6e74696e756174696f6e20627974652e0a66756e6374696f6e2075746638436865636b42797465286279746529207b0a20206966202862797465203c3d2030783746292072657475726e20303b656c7365206966202862797465203e3e2035203d3d3d2030783036292072657475726e20323b656c7365206966202862797465203e3e2034203d3d3d2030783045292072657475726e20333b656c7365206966202862797465203e3e2033203d3d3d2030783145292072657475726e20343b0a202072657475726e202d313b0a7d0a0a2f2f20436865636b73206174206d6f737420332062797465732061742074686520656e64206f6620612042756666657220696e206f7264657220746f2064657465637420616e0a2f2f20696e636f6d706c657465206d756c74692d62797465205554462d38206368617261637465722e2054686520746f74616c206e756d626572206f662062797465732028322c20332c206f722034290a2f2f206e656564656420746f20636f6d706c65746520746865205554462d382063686172616374657220286966206170706c696361626c6529206172652072657475726e65642e0a66756e6374696f6e2075746638436865636b496e636f6d706c6574652873656c662c206275662c206929207b0a2020766172206a203d206275662e6c656e677468202d20313b0a2020696620286a203c2069292072657475726e20303b0a2020766172206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e2030292073656c662e6c6173744e656564203d206e62202d20313b0a2020202072657475726e206e623b0a20207d0a2020696620282d2d6a203c2069292072657475726e20303b0a20206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e2030292073656c662e6c6173744e656564203d206e62202d20323b0a2020202072657475726e206e623b0a20207d0a2020696620282d2d6a203c2069292072657475726e20303b0a20206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e203029207b0a202020202020696620286e62203d3d3d203229206e62203d20303b656c73652073656c662e6c6173744e656564203d206e62202d20333b0a202020207d0a2020202072657475726e206e623b0a20207d0a202072657475726e20303b0a7d0a0a2f2f2056616c696461746573206173206d616e7920636f6e74696e756174696f6e20627974657320666f722061206d756c74692d62797465205554462d38206368617261637465722061730a2f2f206e6565646564206f722061726520617661696c61626c652e204966207765207365652061206e6f6e2d636f6e74696e756174696f6e2062797465207768657265207765206578706563740a2f2f206f6e652c20776520227265706c61636522207468652076616c69646174656420636f6e74696e756174696f6e206279746573207765277665207365656e20736f2066617220776974680a2f2f205554462d38207265706c6163656d656e7420636861726163746572732028275c756666666427292c20746f206d617463682076382773205554462d38206465636f64696e670a2f2f206265686176696f722e2054686520636f6e74696e756174696f6e206279746520636865636b20697320696e636c756465642074687265652074696d657320696e2074686520636173650a2f2f20776865726520616c6c206f662074686520636f6e74696e756174696f6e20627974657320666f7220612063686172616374657220657869737420696e207468652073616d65206275666665722e0a2f2f20497420697320616c736f20646f6e65207468697320776179206173206120736c6967687420706572666f726d616e636520696e63726561736520696e7374656164206f66207573696e6720610a2f2f206c6f6f702e0a66756e6374696f6e2075746638436865636b457874726142797465732873656c662c206275662c207029207b0a202069662028286275665b305d202620307843302920213d3d203078383029207b0a2020202073656c662e6c6173744e656564203d20303b0a2020202072657475726e20275c7566666664272e7265706561742870293b0a20207d0a20206966202873656c662e6c6173744e656564203e2031202626206275662e6c656e677468203e203129207b0a2020202069662028286275665b315d202620307843302920213d3d203078383029207b0a20202020202073656c662e6c6173744e656564203d20313b0a20202020202072657475726e20275c7566666664272e7265706561742870202b2031293b0a202020207d0a202020206966202873656c662e6c6173744e656564203e2032202626206275662e6c656e677468203e203229207b0a20202020202069662028286275665b325d202620307843302920213d3d203078383029207b0a202020202020202073656c662e6c6173744e656564203d20323b0a202020202020202072657475726e20275c7566666664272e7265706561742870202b2032293b0a2020202020207d0a202020207d0a20207d0a7d0a0a2f2f20417474656d70747320746f20636f6d706c6574652061206d756c74692d62797465205554462d3820636861726163746572207573696e672062797465732066726f6d2061204275666665722e0a66756e6374696f6e207574663846696c6c4c6173742862756629207b0a20207661722070203d20746869732e6c617374546f74616c202d20746869732e6c6173744e6565643b0a20207661722072203d2075746638436865636b4578747261427974657328746869732c206275662c2070293b0a2020696620287220213d3d20756e646566696e6564292072657475726e20723b0a202069662028746869732e6c6173744e656564203c3d206275662e6c656e67746829207b0a202020206275662e636f707928746869732e6c617374436861722c20702c20302c20746869732e6c6173744e656564293b0a2020202072657475726e20746869732e6c617374436861722e746f537472696e6728746869732e656e636f64696e672c20302c20746869732e6c617374546f74616c293b0a20207d0a20206275662e636f707928746869732e6c617374436861722c20702c20302c206275662e6c656e677468293b0a2020746869732e6c6173744e656564202d3d206275662e6c656e6774683b0a7d0a0a2f2f2052657475726e7320616c6c20636f6d706c657465205554462d38206368617261637465727320696e2061204275666665722e204966207468652042756666657220656e646564206f6e20610a2f2f207061727469616c206368617261637465722c207468652063686172616374657227732062797465732061726520627566666572656420756e74696c207468652072657175697265640a2f2f206e756d626572206f662062797465732061726520617661696c61626c652e0a66756e6374696f6e207574663854657874286275662c206929207b0a202076617220746f74616c203d2075746638436865636b496e636f6d706c65746528746869732c206275662c2069293b0a20206966202821746869732e6c6173744e656564292072657475726e206275662e746f537472696e67282775746638272c2069293b0a2020746869732e6c617374546f74616c203d20746f74616c3b0a202076617220656e64203d206275662e6c656e677468202d2028746f74616c202d20746869732e6c6173744e656564293b0a20206275662e636f707928746869732e6c617374436861722c20302c20656e64293b0a202072657475726e206275662e746f537472696e67282775746638272c20692c20656e64293b0a7d0a0a2f2f20466f72205554462d382c2061207265706c6163656d656e742063686172616374657220666f7220656163682062756666657265642062797465206f66206120287061727469616c290a2f2f20636861726163746572206e6565647320746f20626520616464656420746f20746865206f75747075742e0a66756e6374696f6e2075746638456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e656564292072657475726e2072202b20275c7566666664272e72657065617428746869732e6c617374546f74616c202d20746869732e6c6173744e656564293b0a202072657475726e20723b0a7d0a0a2f2f205554462d31364c45207479706963616c6c79206e656564732074776f20627974657320706572206368617261637465722c20627574206576656e206966207765206861766520616e206576656e0a2f2f206e756d626572206f6620627974657320617661696c61626c652c207765206e65656420746f20636865636b20696620776520656e64206f6e2061206c656164696e672f686967680a2f2f20737572726f676174652e20496e207468617420636173652c207765206e65656420746f207761697420666f7220746865206e6578742074776f20627974657320696e206f7264657220746f0a2f2f206465636f646520746865206c617374206368617261637465722070726f7065726c792e0a66756e6374696f6e20757466313654657874286275662c206929207b0a202069662028286275662e6c656e677468202d20692920252032203d3d3d203029207b0a202020207661722072203d206275662e746f537472696e67282775746631366c65272c2069293b0a20202020696620287229207b0a2020202020207661722063203d20722e63686172436f6465417428722e6c656e677468202d2031293b0a2020202020206966202863203e3d203078443830302026262063203c3d2030784442464629207b0a2020202020202020746869732e6c6173744e656564203d20323b0a2020202020202020746869732e6c617374546f74616c203d20343b0a2020202020202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20325d3b0a2020202020202020746869732e6c617374436861725b315d203d206275665b6275662e6c656e677468202d20315d3b0a202020202020202072657475726e20722e736c69636528302c202d31293b0a2020202020207d0a202020207d0a2020202072657475726e20723b0a20207d0a2020746869732e6c6173744e656564203d20313b0a2020746869732e6c617374546f74616c203d20323b0a2020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20315d3b0a202072657475726e206275662e746f537472696e67282775746631366c65272c20692c206275662e6c656e677468202d2031293b0a7d0a0a2f2f20466f72205554462d31364c4520776520646f206e6f74206578706c696369746c7920617070656e64207370656369616c207265706c6163656d656e7420636861726163746572732069662077650a2f2f20656e64206f6e2061207061727469616c206368617261637465722c2077652073696d706c79206c65742076382068616e646c6520746861742e0a66756e6374696f6e207574663136456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e65656429207b0a2020202076617220656e64203d20746869732e6c617374546f74616c202d20746869732e6c6173744e6565643b0a2020202072657475726e2072202b20746869732e6c617374436861722e746f537472696e67282775746631366c65272c20302c20656e64293b0a20207d0a202072657475726e20723b0a7d0a0a66756e6374696f6e2062617365363454657874286275662c206929207b0a2020766172206e203d20286275662e6c656e677468202d206929202520333b0a2020696620286e203d3d3d2030292072657475726e206275662e746f537472696e672827626173653634272c2069293b0a2020746869732e6c6173744e656564203d2033202d206e3b0a2020746869732e6c617374546f74616c203d20333b0a2020696620286e203d3d3d203129207b0a20202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20315d3b0a20207d20656c7365207b0a20202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20325d3b0a20202020746869732e6c617374436861725b315d203d206275665b6275662e6c656e677468202d20315d3b0a20207d0a202072657475726e206275662e746f537472696e672827626173653634272c20692c206275662e6c656e677468202d206e293b0a7d0a0a66756e6374696f6e20626173653634456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e656564292072657475726e2072202b20746869732e6c617374436861722e746f537472696e672827626173653634272c20302c2033202d20746869732e6c6173744e656564293b0a202072657475726e20723b0a7d0a0a2f2f2050617373206279746573206f6e207468726f75676820666f722073696e676c652d6279746520656e636f64696e67732028652e672e2061736369692c206c6174696e312c20686578290a66756e6374696f6e2073696d706c6557726974652862756629207b0a202072657475726e206275662e746f537472696e6728746869732e656e636f64696e67293b0a7d0a0a66756e6374696f6e2073696d706c65456e642862756629207b0a202072657475726e20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a7d0a7d2c7b22736166652d627566666572223a3133307d5d2c3134363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220427566666572203d2072657175697265282762756666657227292e4275666665720a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e202862756629207b0a092f2f2049662074686520627566666572206973206261636b656420627920612055696e743841727261792c2061206661737465722076657273696f6e2077696c6c20776f726b0a096966202862756620696e7374616e63656f662055696e7438417272617929207b0a09092f2f20496620746865206275666665722069736e277420612073756261727261792c2072657475726e2074686520756e6465726c79696e672041727261794275666665720a0909696620286275662e627974654f6666736574203d3d3d2030202626206275662e627974654c656e677468203d3d3d206275662e6275666665722e627974654c656e67746829207b0a09090972657475726e206275662e6275666665720a09097d20656c73652069662028747970656f66206275662e6275666665722e736c696365203d3d3d202766756e6374696f6e2729207b0a0909092f2f204f7468657277697365207765206e65656420746f2067657420612070726f70657220636f70790a09090972657475726e206275662e6275666665722e736c696365286275662e627974654f66667365742c206275662e627974654f6666736574202b206275662e627974654c656e677468290a09097d0a097d0a0a09696620284275666665722e6973427566666572286275662929207b0a09092f2f20546869732069732074686520736c6f772076657273696f6e20746861742077696c6c20776f726b207769746820616e79204275666665720a09092f2f20696d706c656d656e746174696f6e20286576656e20696e206f6c642062726f7773657273290a0909766172206172726179436f7079203d206e65772055696e74384172726179286275662e6c656e677468290a0909766172206c656e203d206275662e6c656e6774680a0909666f7220287661722069203d20303b2069203c206c656e3b20692b2b29207b0a0909096172726179436f70795b695d203d206275665b695d0a09097d0a090972657475726e206172726179436f70792e6275666665720a097d20656c7365207b0a09097468726f77206e6577204572726f722827417267756d656e74206d75737420626520612042756666657227290a097d0a7d0a0a7d2c7b22627566666572223a33327d5d2c3134373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a0a2f2a2a0a202a204d6f64756c65206578706f7274732e0a202a2f0a0a6d6f64756c652e6578706f727473203d206465707265636174653b0a0a2f2a2a0a202a204d61726b20746861742061206d6574686f642073686f756c64206e6f7420626520757365642e0a202a2052657475726e732061206d6f6469666965642066756e6374696f6e207768696368207761726e73206f6e63652062792064656661756c742e0a202a0a202a20496620606c6f63616c53746f726167652e6e6f4465707265636174696f6e203d207472756560206973207365742c207468656e2069742069732061206e6f2d6f702e0a202a0a202a20496620606c6f63616c53746f726167652e7468726f774465707265636174696f6e203d207472756560206973207365742c207468656e20646570726563617465642066756e6374696f6e730a202a2077696c6c207468726f7720616e204572726f72207768656e20696e766f6b65642e0a202a0a202a20496620606c6f63616c53746f726167652e74726163654465707265636174696f6e203d207472756560206973207365742c207468656e20646570726563617465642066756e6374696f6e730a202a2077696c6c20696e766f6b652060636f6e736f6c652e747261636528296020696e7374656164206f662060636f6e736f6c652e6572726f722829602e0a202a0a202a2040706172616d207b46756e6374696f6e7d20666e202d207468652066756e6374696f6e20746f206465707265636174650a202a2040706172616d207b537472696e677d206d7367202d2074686520737472696e6720746f207072696e7420746f2074686520636f6e736f6c65207768656e2060666e6020697320696e766f6b65640a202a204072657475726e73207b46756e6374696f6e7d2061206e6577202264657072656361746564222076657273696f6e206f662060666e600a202a2040617069207075626c69630a202a2f0a0a66756e6374696f6e206465707265636174652028666e2c206d736729207b0a202069662028636f6e66696728276e6f4465707265636174696f6e272929207b0a2020202072657475726e20666e3b0a20207d0a0a2020766172207761726e6564203d2066616c73653b0a202066756e6374696f6e20646570726563617465642829207b0a2020202069662028217761726e656429207b0a20202020202069662028636f6e66696728277468726f774465707265636174696f6e272929207b0a20202020202020207468726f77206e6577204572726f72286d7367293b0a2020202020207d20656c73652069662028636f6e666967282774726163654465707265636174696f6e272929207b0a2020202020202020636f6e736f6c652e7472616365286d7367293b0a2020202020207d20656c7365207b0a2020202020202020636f6e736f6c652e7761726e286d7367293b0a2020202020207d0a2020202020207761726e6564203d20747275653b0a202020207d0a2020202072657475726e20666e2e6170706c7928746869732c20617267756d656e7473293b0a20207d0a0a202072657475726e20646570726563617465643b0a7d0a0a2f2a2a0a202a20436865636b7320606c6f63616c53746f726167656020666f7220626f6f6c65616e2076616c75657320666f722074686520676976656e20606e616d65602e0a202a0a202a2040706172616d207b537472696e677d206e616d650a202a204072657475726e73207b426f6f6c65616e7d0a202a204061706920707269766174650a202a2f0a0a66756e6374696f6e20636f6e66696720286e616d6529207b0a20202f2f20616363657373696e6720676c6f62616c2e6c6f63616c53746f726167652063616e2074726967676572206120444f4d457863657074696f6e20696e2073616e64626f78656420696672616d65730a2020747279207b0a202020206966202821676c6f62616c2e6c6f63616c53746f72616765292072657475726e2066616c73653b0a20207d20636174636820285f29207b0a2020202072657475726e2066616c73653b0a20207d0a20207661722076616c203d20676c6f62616c2e6c6f63616c53746f726167655b6e616d655d3b0a2020696620286e756c6c203d3d2076616c292072657475726e2066616c73653b0a202072657475726e20537472696e672876616c292e746f4c6f776572436173652829203d3d3d202774727565273b0a7d0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3134383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c427566666572297b0a2f2a2a0a202a205772617070657220666f72206275696c742d696e20687474702e6a7320746f20656d756c617465207468652062726f7773657220584d4c4874747052657175657374206f626a6563742e0a202a0a202a20546869732063616e20626520757365642077697468204a532064657369676e656420666f722062726f777365727320746f20696d70726f7665207265757365206f6620636f646520616e640a202a20616c6c6f772074686520757365206f66206578697374696e67206c69627261726965732e0a202a0a202a2055736167653a20696e636c7564652822584d4c48747470526571756573742e6a73222920616e642075736520584d4c487474705265717565737420706572205733432073706563732e0a202a0a202a2040617574686f722044616e20446546656c69707069203c64616e4064726976657264616e2e636f6d3e0a202a2040636f6e7472696275746f7220446176696420456c6c6973203c642e662e656c6c697340696565652e6f72673e0a202a20406c6963656e7365204d49540a202a2f0a0a7661722055726c203d2072657175697265282275726c22293b0a76617220737061776e203d207265717569726528226368696c645f70726f6365737322292e737061776e3b0a766172206673203d20726571756972652822667322293b0a0a6578706f7274732e584d4c4874747052657175657374203d2066756e6374696f6e2829207b0a20202275736520737472696374223b0a0a20202f2a2a0a2020202a2050726976617465207661726961626c65730a2020202a2f0a20207661722073656c66203d20746869733b0a20207661722068747470203d207265717569726528226874747022293b0a2020766172206874747073203d20726571756972652822687474707322293b0a0a20202f2f20486f6c647320687474702e6a73206f626a656374730a202076617220726571756573743b0a202076617220726573706f6e73653b0a0a20202f2f20526571756573742073657474696e67730a20207661722073657474696e6773203d207b7d3b0a0a20202f2f2044697361626c652068656164657220626c61636b6c6973742e0a20202f2f204e6f742070617274206f66205848522073706563732e0a20207661722064697361626c65486561646572436865636b203d2066616c73653b0a0a20202f2f2053657420736f6d652064656661756c7420686561646572730a20207661722064656661756c7448656164657273203d207b0a2020202022557365722d4167656e74223a20226e6f64652d584d4c4874747052657175657374222c0a2020202022416363657074223a20222a2f2a222c0a20207d3b0a0a20207661722068656164657273203d207b7d3b0a2020766172206865616465727343617365203d207b7d3b0a0a20202f2f205468657365206865616465727320617265206e6f7420757365722073657461626c652e0a20202f2f2054686520666f6c6c6f77696e672061726520616c6c6f776564206275742062616e6e656420696e2074686520737065633a0a20202f2f202a20757365722d6167656e740a202076617220666f7262696464656e5265717565737448656164657273203d205b0a20202020226163636570742d63686172736574222c0a20202020226163636570742d656e636f64696e67222c0a20202020226163636573732d636f6e74726f6c2d726571756573742d68656164657273222c0a20202020226163636573732d636f6e74726f6c2d726571756573742d6d6574686f64222c0a2020202022636f6e6e656374696f6e222c0a2020202022636f6e74656e742d6c656e677468222c0a2020202022636f6e74656e742d7472616e736665722d656e636f64696e67222c0a2020202022636f6f6b6965222c0a2020202022636f6f6b696532222c0a202020202264617465222c0a2020202022657870656374222c0a2020202022686f7374222c0a20202020226b6565702d616c697665222c0a20202020226f726967696e222c0a202020202272656665726572222c0a20202020227465222c0a2020202022747261696c6572222c0a20202020227472616e736665722d656e636f64696e67222c0a202020202275706772616465222c0a2020202022766961220a20205d3b0a0a20202f2f2054686573652072657175657374206d6574686f647320617265206e6f7420616c6c6f7765640a202076617220666f7262696464656e526571756573744d6574686f6473203d205b0a20202020225452414345222c0a2020202022545241434b222c0a2020202022434f4e4e454354220a20205d3b0a0a20202f2f2053656e6420666c61670a20207661722073656e64466c6167203d2066616c73653b0a20202f2f204572726f7220666c61672c2075736564207768656e206572726f7273206f63637572206f722061626f72742069732063616c6c65640a2020766172206572726f72466c6167203d2066616c73653b0a0a20202f2f204576656e74206c697374656e6572730a2020766172206c697374656e657273203d207b7d3b0a0a20202f2a2a0a2020202a20436f6e7374616e74730a2020202a2f0a0a2020746869732e554e53454e54203d20303b0a2020746869732e4f50454e4544203d20313b0a2020746869732e484541444552535f5245434549564544203d20323b0a2020746869732e4c4f4144494e47203d20333b0a2020746869732e444f4e45203d20343b0a0a20202f2a2a0a2020202a205075626c696320766172730a2020202a2f0a0a20202f2f2043757272656e742073746174650a2020746869732e72656164795374617465203d20746869732e554e53454e543b0a0a20202f2f2064656661756c74207265616479207374617465206368616e67652068616e646c657220696e2063617365206f6e65206973206e6f7420736574206f7220697320736574206c6174650a2020746869732e6f6e726561647973746174656368616e6765203d206e756c6c3b0a0a20202f2f20526573756c74202620726573706f6e73650a2020746869732e726573706f6e736554657874203d2022223b0a2020746869732e726573706f6e7365584d4c203d2022223b0a2020746869732e737461747573203d206e756c6c3b0a2020746869732e73746174757354657874203d206e756c6c3b0a20200a20202f2f20576865746865722063726f73732d73697465204163636573732d436f6e74726f6c2072657175657374732073686f756c64206265206d616465207573696e670a20202f2f2063726564656e7469616c73207375636820617320636f6f6b696573206f7220617574686f72697a6174696f6e20686561646572730a2020746869732e7769746843726564656e7469616c73203d2066616c73653b0a0a20202f2a2a0a2020202a2050726976617465206d6574686f64730a2020202a2f0a0a20202f2a2a0a2020202a20436865636b20696620746865207370656369666965642068656164657220697320616c6c6f7765642e0a2020202a0a2020202a2040706172616d20737472696e67206865616465722048656164657220746f2076616c69646174650a2020202a204072657475726e20626f6f6c65616e2046616c7365206966206e6f7420616c6c6f7765642c206f746865727769736520747275650a2020202a2f0a2020766172206973416c6c6f77656448747470486561646572203d2066756e6374696f6e2868656164657229207b0a2020202072657475726e2064697361626c65486561646572436865636b207c7c202868656164657220262620666f7262696464656e52657175657374486561646572732e696e6465784f66286865616465722e746f4c6f77657243617365282929203d3d3d202d31293b0a20207d3b0a0a20202f2a2a0a2020202a20436865636b2069662074686520737065636966696564206d6574686f6420697320616c6c6f7765642e0a2020202a0a2020202a2040706172616d20737472696e67206d6574686f642052657175657374206d6574686f6420746f2076616c69646174650a2020202a204072657475726e20626f6f6c65616e2046616c7365206966206e6f7420616c6c6f7765642c206f746865727769736520747275650a2020202a2f0a2020766172206973416c6c6f776564487474704d6574686f64203d2066756e6374696f6e286d6574686f6429207b0a2020202072657475726e20286d6574686f6420262620666f7262696464656e526571756573744d6574686f64732e696e6465784f66286d6574686f6429203d3d3d202d31293b0a20207d3b0a0a20202f2a2a0a2020202a205075626c6963206d6574686f64730a2020202a2f0a0a20202f2a2a0a2020202a204f70656e2074686520636f6e6e656374696f6e2e2043757272656e746c7920737570706f727473206c6f63616c207365727665722072657175657374732e0a2020202a0a2020202a2040706172616d20737472696e67206d6574686f6420436f6e6e656374696f6e206d6574686f6420286567204745542c20504f5354290a2020202a2040706172616d20737472696e672075726c2055524c20666f722074686520636f6e6e656374696f6e2e0a2020202a2040706172616d20626f6f6c65616e206173796e63204173796e6368726f6e6f757320636f6e6e656374696f6e2e2044656661756c7420697320747275652e0a2020202a2040706172616d20737472696e67207573657220557365726e616d6520666f722062617369632061757468656e7469636174696f6e20286f7074696f6e616c290a2020202a2040706172616d20737472696e672070617373776f72642050617373776f726420666f722062617369632061757468656e7469636174696f6e20286f7074696f6e616c290a2020202a2f0a2020746869732e6f70656e203d2066756e6374696f6e286d6574686f642c2075726c2c206173796e632c20757365722c2070617373776f726429207b0a20202020746869732e61626f727428293b0a202020206572726f72466c6167203d2066616c73653b0a0a202020202f2f20436865636b20666f722076616c69642072657175657374206d6574686f640a2020202069662028216973416c6c6f776564487474704d6574686f64286d6574686f642929207b0a2020202020207468726f77206e6577204572726f72282253656375726974794572726f723a2052657175657374206d6574686f64206e6f7420616c6c6f77656422293b0a202020207d0a0a2020202073657474696e6773203d207b0a202020202020226d6574686f64223a206d6574686f642c0a2020202020202275726c223a2075726c2e746f537472696e6728292c0a202020202020226173796e63223a2028747970656f66206173796e6320213d3d2022626f6f6c65616e22203f2074727565203a206173796e63292c0a2020202020202275736572223a2075736572207c7c206e756c6c2c0a2020202020202270617373776f7264223a2070617373776f7264207c7c206e756c6c0a202020207d3b0a0a20202020736574537461746528746869732e4f50454e4544293b0a20207d3b0a0a20202f2a2a0a2020202a2044697361626c6573206f7220656e61626c6573206973416c6c6f77656448747470486561646572282920636865636b2074686520726571756573742e20456e61626c65642062792064656661756c742e0a2020202a205468697320646f6573206e6f7420636f6e666f726d20746f207468652057334320737065632e0a2020202a0a2020202a2040706172616d20626f6f6c65616e20737461746520456e61626c65206f722064697361626c652068656164657220636865636b696e672e0a2020202a2f0a2020746869732e73657444697361626c65486561646572436865636b203d2066756e6374696f6e28737461746529207b0a2020202064697361626c65486561646572436865636b203d2073746174653b0a20207d3b0a0a20202f2a2a0a2020202a205365747320612068656164657220666f72207468652072657175657374206f7220617070656e6473207468652076616c7565206966206f6e6520697320616c7265616479207365742e0a2020202a0a2020202a2040706172616d20737472696e672068656164657220486561646572206e616d650a2020202a2040706172616d20737472696e672076616c7565204865616465722076616c75650a2020202a2f0a2020746869732e73657452657175657374486561646572203d2066756e6374696f6e286865616465722c2076616c756529207b0a2020202069662028746869732e7265616479537461746520213d3d20746869732e4f50454e454429207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a20736574526571756573744865616465722063616e206f6e6c792062652063616c6c6564207768656e207374617465206973204f50454e22293b0a202020207d0a2020202069662028216973416c6c6f77656448747470486561646572286865616465722929207b0a202020202020636f6e736f6c652e7761726e28225265667573656420746f2073657420756e7361666520686561646572205c2222202b20686561646572202b20225c2222293b0a20202020202072657475726e3b0a202020207d0a202020206966202873656e64466c616729207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a2073656e6420666c6167206973207472756522293b0a202020207d0a20202020686561646572203d2068656164657273436173655b6865616465722e746f4c6f7765724361736528295d207c7c206865616465723b0a2020202068656164657273436173655b6865616465722e746f4c6f7765724361736528295d203d206865616465723b0a20202020686561646572735b6865616465725d203d20686561646572735b6865616465725d203f20686561646572735b6865616465725d202b20272c2027202b2076616c7565203a2076616c75653b0a20207d3b0a0a20202f2a2a0a2020202a20476574732061206865616465722066726f6d207468652073657276657220726573706f6e73652e0a2020202a0a2020202a2040706172616d20737472696e6720686561646572204e616d65206f662068656164657220746f206765742e0a2020202a204072657475726e20737472696e672054657874206f662074686520686561646572206f72206e756c6c20696620697420646f65736e27742065786973742e0a2020202a2f0a2020746869732e676574526573706f6e7365486561646572203d2066756e6374696f6e2868656164657229207b0a2020202069662028747970656f6620686561646572203d3d3d2022737472696e67220a202020202020262620746869732e72656164795374617465203e20746869732e4f50454e45440a202020202020262620726573706f6e73650a202020202020262620726573706f6e73652e686561646572730a202020202020262620726573706f6e73652e686561646572735b6865616465722e746f4c6f7765724361736528295d0a202020202020262620216572726f72466c61670a2020202029207b0a20202020202072657475726e20726573706f6e73652e686561646572735b6865616465722e746f4c6f7765724361736528295d3b0a202020207d0a0a2020202072657475726e206e756c6c3b0a20207d3b0a0a20202f2a2a0a2020202a204765747320616c6c2074686520726573706f6e736520686561646572732e0a2020202a0a2020202a204072657475726e20737472696e67204120737472696e67207769746820616c6c20726573706f6e73652068656164657273207365706172617465642062792043522b4c460a2020202a2f0a2020746869732e676574416c6c526573706f6e736548656164657273203d2066756e6374696f6e2829207b0a2020202069662028746869732e72656164795374617465203c20746869732e484541444552535f5245434549564544207c7c206572726f72466c616729207b0a20202020202072657475726e2022223b0a202020207d0a2020202076617220726573756c74203d2022223b0a0a20202020666f722028766172206920696e20726573706f6e73652e6865616465727329207b0a2020202020202f2f20436f6f6b6965206865616465727320617265206578636c756465640a202020202020696620286920213d3d20227365742d636f6f6b696522202626206920213d3d20227365742d636f6f6b6965322229207b0a2020202020202020726573756c74202b3d2069202b20223a2022202b20726573706f6e73652e686561646572735b695d202b20225c725c6e223b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c742e73756273747228302c20726573756c742e6c656e677468202d2032293b0a20207d3b0a0a20202f2a2a0a2020202a204765747320612072657175657374206865616465720a2020202a0a2020202a2040706172616d20737472696e67206e616d65204e616d65206f662068656164657220746f206765740a2020202a204072657475726e20737472696e672052657475726e7320746865207265717565737420686561646572206f7220656d70747920737472696e67206966206e6f74207365740a2020202a2f0a2020746869732e67657452657175657374486561646572203d2066756e6374696f6e286e616d6529207b0a2020202069662028747970656f66206e616d65203d3d3d2022737472696e67222026262068656164657273436173655b6e616d652e746f4c6f7765724361736528295d29207b0a20202020202072657475726e20686561646572735b68656164657273436173655b6e616d652e746f4c6f7765724361736528295d5d3b0a202020207d0a0a2020202072657475726e2022223b0a20207d3b0a0a20202f2a2a0a2020202a2053656e647320746865207265717565737420746f20746865207365727665722e0a2020202a0a2020202a2040706172616d20737472696e672064617461204f7074696f6e616c206461746120746f2073656e64206173207265717565737420626f64792e0a2020202a2f0a2020746869732e73656e64203d2066756e6374696f6e286461746129207b0a2020202069662028746869732e7265616479537461746520213d3d20746869732e4f50454e454429207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a20636f6e6e656374696f6e206d757374206265206f70656e6564206265666f72652073656e6428292069732063616c6c656422293b0a202020207d0a0a202020206966202873656e64466c616729207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a2073656e642068617320616c7265616479206265656e2063616c6c656422293b0a202020207d0a0a202020207661722073736c203d2066616c73652c206c6f63616c203d2066616c73653b0a202020207661722075726c203d2055726c2e70617273652873657474696e67732e75726c293b0a2020202076617220686f73743b0a202020202f2f2044657465726d696e6520746865207365727665720a20202020737769746368202875726c2e70726f746f636f6c29207b0a20202020202063617365202268747470733a223a0a202020202020202073736c203d20747275653b0a20202020202020202f2f2053534c2026206e6f6e2d53534c20626f7468206e65656420686f73742c206e6f20627265616b20686572652e0a202020202020636173652022687474703a223a0a2020202020202020686f7374203d2075726c2e686f73746e616d653b0a2020202020202020627265616b3b0a0a20202020202063617365202266696c653a223a0a20202020202020206c6f63616c203d20747275653b0a2020202020202020627265616b3b0a0a2020202020206361736520756e646566696e65643a0a20202020202063617365206e756c6c3a0a202020202020636173652022223a0a2020202020202020686f7374203d20226c6f63616c686f7374223b0a2020202020202020627265616b3b0a0a20202020202064656661756c743a0a20202020202020207468726f77206e6577204572726f72282250726f746f636f6c206e6f7420737570706f727465642e22293b0a202020207d0a0a202020202f2f204c6f61642066696c6573206f666620746865206c6f63616c2066696c6573797374656d202866696c653a2f2f290a20202020696620286c6f63616c29207b0a2020202020206966202873657474696e67732e6d6574686f6420213d3d20224745542229207b0a20202020202020207468726f77206e6577204572726f722822584d4c48747470526571756573743a204f6e6c7920474554206d6574686f6420697320737570706f7274656422293b0a2020202020207d0a0a2020202020206966202873657474696e67732e6173796e6329207b0a202020202020202066732e7265616446696c652875726c2e706174686e616d652c202275746638222c2066756e6374696f6e286572726f722c206461746129207b0a20202020202020202020696620286572726f7229207b0a20202020202020202020202073656c662e68616e646c654572726f72286572726f72293b0a202020202020202020207d20656c7365207b0a20202020202020202020202073656c662e737461747573203d203230303b0a20202020202020202020202073656c662e726573706f6e736554657874203d20646174613b0a20202020202020202020202073657453746174652873656c662e444f4e45293b0a202020202020202020207d0a20202020202020207d293b0a2020202020207d20656c7365207b0a2020202020202020747279207b0a20202020202020202020746869732e726573706f6e736554657874203d2066732e7265616446696c6553796e632875726c2e706174686e616d652c20227574663822293b0a20202020202020202020746869732e737461747573203d203230303b0a2020202020202020202073657453746174652873656c662e444f4e45293b0a20202020202020207d206361746368286529207b0a20202020202020202020746869732e68616e646c654572726f722865293b0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2044656661756c7420746f20706f72742038302e20496620616363657373696e67206c6f63616c686f7374206f6e20616e6f7468657220706f727420626520737572650a202020202f2f20746f2075736520687474703a2f2f6c6f63616c686f73743a706f72742f706174680a2020202076617220706f7274203d2075726c2e706f7274207c7c202873736c203f20343433203a203830293b0a202020202f2f2041646420717565727920737472696e67206966206f6e6520697320757365640a2020202076617220757269203d2075726c2e706174686e616d65202b202875726c2e736561726368203f2075726c2e736561726368203a202222293b0a0a202020202f2f20536574207468652064656661756c7473206966207468657920686176656e2774206265656e207365740a20202020666f722028766172206e616d6520696e2064656661756c744865616465727329207b0a202020202020696620282168656164657273436173655b6e616d652e746f4c6f7765724361736528295d29207b0a2020202020202020686561646572735b6e616d655d203d2064656661756c74486561646572735b6e616d655d3b0a2020202020207d0a202020207d0a0a202020202f2f205365742074686520486f737420686561646572206f722074686520736572766572206d61792072656a6563742074686520726571756573740a20202020686561646572732e486f7374203d20686f73743b0a202020206966202821282873736c20262620706f7274203d3d3d2034343329207c7c20706f7274203d3d3d2038302929207b0a202020202020686561646572732e486f7374202b3d20223a22202b2075726c2e706f72743b0a202020207d0a0a202020202f2f205365742042617369632041757468206966206e65636573736172790a202020206966202873657474696e67732e7573657229207b0a20202020202069662028747970656f662073657474696e67732e70617373776f7264203d3d3d2022756e646566696e65642229207b0a202020202020202073657474696e67732e70617373776f7264203d2022223b0a2020202020207d0a2020202020207661722061757468427566203d206e6577204275666665722873657474696e67732e75736572202b20223a22202b2073657474696e67732e70617373776f7264293b0a202020202020686561646572732e417574686f72697a6174696f6e203d202242617369632022202b20617574684275662e746f537472696e67282262617365363422293b0a202020207d0a0a202020202f2f2053657420636f6e74656e74206c656e677468206865616465720a202020206966202873657474696e67732e6d6574686f64203d3d3d202247455422207c7c2073657474696e67732e6d6574686f64203d3d3d2022484541442229207b0a20202020202064617461203d206e756c6c3b0a202020207d20656c736520696620286461746129207b0a202020202020686561646572735b22436f6e74656e742d4c656e677468225d203d204275666665722e6973427566666572286461746129203f20646174612e6c656e677468203a204275666665722e627974654c656e6774682864617461293b0a0a2020202020206966202821686561646572735b22436f6e74656e742d54797065225d29207b0a2020202020202020686561646572735b22436f6e74656e742d54797065225d203d2022746578742f706c61696e3b636861727365743d5554462d38223b0a2020202020207d0a202020207d20656c7365206966202873657474696e67732e6d6574686f64203d3d3d2022504f53542229207b0a2020202020202f2f20466f72206120706f73742077697468206e6f20646174612073657420436f6e74656e742d4c656e6774683a20302e0a2020202020202f2f20546869732069732072657175697265642062792062756767792073657276657273207468617420646f6e2774206d656574207468652073706563732e0a202020202020686561646572735b22436f6e74656e742d4c656e677468225d203d20303b0a202020207d0a0a20202020766172206f7074696f6e73203d207b0a202020202020686f73743a20686f73742c0a202020202020706f72743a20706f72742c0a202020202020706174683a207572692c0a2020202020206d6574686f643a2073657474696e67732e6d6574686f642c0a202020202020686561646572733a20686561646572732c0a2020202020206167656e743a2066616c73652c0a2020202020207769746843726564656e7469616c733a2073656c662e7769746843726564656e7469616c730a202020207d3b0a0a202020202f2f205265736574206572726f7220666c61670a202020206572726f72466c6167203d2066616c73653b0a0a202020202f2f2048616e646c65206173796e632072657175657374730a202020206966202873657474696e67732e6173796e6329207b0a2020202020202f2f20557365207468652070726f7065722070726f746f636f6c0a20202020202076617220646f52657175657374203d2073736c203f2068747470732e72657175657374203a20687474702e726571756573743b0a0a2020202020202f2f2052657175657374206973206265696e672073656e742c207365742073656e6420666c61670a20202020202073656e64466c6167203d20747275653b0a0a2020202020202f2f2041732070657220737065632c20746869732069732063616c6c6564206865726520666f7220686973746f726963616c20726561736f6e732e0a20202020202073656c662e64697370617463684576656e742822726561647973746174656368616e676522293b0a0a2020202020202f2f2048616e646c657220666f722074686520726573706f6e73650a20202020202076617220726573706f6e736548616e646c6572203d2066756e6374696f6e20726573706f6e736548616e646c6572287265737029207b0a20202020202020202f2f2053657420726573706f6e73652076617220746f2074686520726573706f6e736520776520676f74206261636b0a20202020202020202f2f205468697320697320736f2069742072656d61696e732061636365737361626c65206f75747369646520746869732073636f70650a2020202020202020726573706f6e7365203d20726573703b0a20202020202020202f2f20436865636b20666f722072656469726563740a20202020202020202f2f2040544f444f2050726576656e74206c6f6f706564207265646972656374730a202020202020202069662028726573706f6e73652e737461747573436f6465203d3d3d20333031207c7c20726573706f6e73652e737461747573436f6465203d3d3d20333032207c7c20726573706f6e73652e737461747573436f6465203d3d3d20333033207c7c20726573706f6e73652e737461747573436f6465203d3d3d2033303729207b0a202020202020202020202f2f204368616e67652055524c20746f20746865207265646972656374206c6f636174696f6e0a2020202020202020202073657474696e67732e75726c203d20726573706f6e73652e686561646572732e6c6f636174696f6e3b0a202020202020202020207661722075726c203d2055726c2e70617273652873657474696e67732e75726c293b0a202020202020202020202f2f2053657420686f73742076617220696e206361736520697427732075736564206c617465720a20202020202020202020686f7374203d2075726c2e686f73746e616d653b0a202020202020202020202f2f204f7074696f6e7320666f7220746865206e657720726571756573740a20202020202020202020766172206e65774f7074696f6e73203d207b0a202020202020202020202020686f73746e616d653a2075726c2e686f73746e616d652c0a202020202020202020202020706f72743a2075726c2e706f72742c0a202020202020202020202020706174683a2075726c2e706174682c0a2020202020202020202020206d6574686f643a20726573706f6e73652e737461747573436f6465203d3d3d20333033203f202247455422203a2073657474696e67732e6d6574686f642c0a202020202020202020202020686561646572733a20686561646572732c0a2020202020202020202020207769746843726564656e7469616c733a2073656c662e7769746843726564656e7469616c730a202020202020202020207d3b0a0a202020202020202020202f2f20497373756520746865206e657720726571756573740a2020202020202020202072657175657374203d20646f52657175657374286e65774f7074696f6e732c20726573706f6e736548616e646c6572292e6f6e28226572726f72222c206572726f7248616e646c6572293b0a20202020202020202020726571756573742e656e6428293b0a202020202020202020202f2f2040544f444f20436865636b20696620616e20584852206576656e74206e6565647320746f20626520666972656420686572650a2020202020202020202072657475726e3b0a20202020202020207d0a0a2020202020202020726573706f6e73652e736574456e636f64696e6728227574663822293b0a0a202020202020202073657453746174652873656c662e484541444552535f5245434549564544293b0a202020202020202073656c662e737461747573203d20726573706f6e73652e737461747573436f64653b0a0a2020202020202020726573706f6e73652e6f6e282264617461222c2066756e6374696f6e286368756e6b29207b0a202020202020202020202f2f204d616b652073757265207468657265277320736f6d6520646174610a20202020202020202020696620286368756e6b29207b0a20202020202020202020202073656c662e726573706f6e736554657874202b3d206368756e6b3b0a202020202020202020207d0a202020202020202020202f2f20446f6e277420656d6974207374617465206368616e6765732069662074686520636f6e6e656374696f6e20686173206265656e2061626f727465642e0a202020202020202020206966202873656e64466c616729207b0a20202020202020202020202073657453746174652873656c662e4c4f4144494e47293b0a202020202020202020207d0a20202020202020207d293b0a0a2020202020202020726573706f6e73652e6f6e2822656e64222c2066756e6374696f6e2829207b0a202020202020202020206966202873656e64466c616729207b0a2020202020202020202020202f2f20446973636172642074686520656e64206576656e742069662074686520636f6e6e656374696f6e20686173206265656e2061626f727465640a20202020202020202020202073657453746174652873656c662e444f4e45293b0a20202020202020202020202073656e64466c6167203d2066616c73653b0a202020202020202020207d0a20202020202020207d293b0a0a2020202020202020726573706f6e73652e6f6e28226572726f72222c2066756e6374696f6e286572726f7229207b0a2020202020202020202073656c662e68616e646c654572726f72286572726f72293b0a20202020202020207d293b0a2020202020207d3b0a0a2020202020202f2f204572726f722068616e646c657220666f722074686520726571756573740a202020202020766172206572726f7248616e646c6572203d2066756e6374696f6e206572726f7248616e646c6572286572726f7229207b0a202020202020202073656c662e68616e646c654572726f72286572726f72293b0a2020202020207d3b0a0a2020202020202f2f204372656174652074686520726571756573740a20202020202072657175657374203d20646f52657175657374286f7074696f6e732c20726573706f6e736548616e646c6572292e6f6e28226572726f72222c206572726f7248616e646c6572293b0a0a2020202020202f2f204e6f646520302e3420616e64206c6174657220776f6e27742061636365707420656d70747920646174612e204d616b6520737572652069742773206e65656465642e0a202020202020696620286461746129207b0a2020202020202020726571756573742e77726974652864617461293b0a2020202020207d0a0a202020202020726571756573742e656e6428293b0a0a20202020202073656c662e64697370617463684576656e7428226c6f6164737461727422293b0a202020207d20656c7365207b202f2f2053796e6368726f6e6f75730a2020202020202f2f2043726561746520612074656d706f726172792066696c6520666f7220636f6d6d756e69636174696f6e207769746820746865206f74686572204e6f64652070726f636573730a20202020202076617220636f6e74656e7446696c65203d20222e6e6f64652d786d6c68747470726571756573742d636f6e74656e742d22202b2070726f636573732e7069643b0a2020202020207661722073796e6346696c65203d20222e6e6f64652d786d6c68747470726571756573742d73796e632d22202b2070726f636573732e7069643b0a20202020202066732e777269746546696c6553796e632873796e6346696c652c2022222c20227574663822293b0a2020202020202f2f20546865206173796e63207265717565737420746865206f74686572204e6f64652070726f636573732065786563757465730a2020202020207661722065786563537472696e67203d20227661722068747470203d207265717569726528276874747027292c206874747073203d20726571756972652827687474707327292c206673203d20726571756972652827667327293b220a20202020202020202b202276617220646f52657175657374203d206874747022202b202873736c203f20227322203a20222229202b20222e726571756573743b220a20202020202020202b2022766172206f7074696f6e73203d2022202b204a534f4e2e737472696e67696679286f7074696f6e7329202b20223b220a20202020202020202b202276617220726573706f6e736554657874203d2027273b220a20202020202020202b202276617220726571203d20646f52657175657374286f7074696f6e732c2066756e6374696f6e28726573706f6e736529207b220a20202020202020202b2022726573706f6e73652e736574456e636f64696e6728277574663827293b220a20202020202020202b2022726573706f6e73652e6f6e282764617461272c2066756e6374696f6e286368756e6b29207b220a20202020202020202b20222020726573706f6e736554657874202b3d206368756e6b3b220a20202020202020202b20227d293b220a20202020202020202b2022726573706f6e73652e6f6e2827656e64272c2066756e6374696f6e2829207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206e756c6c2c20646174613a207b737461747573436f64653a20726573706f6e73652e737461747573436f64652c20686561646572733a20726573706f6e73652e686561646572732c20746578743a20726573706f6e7365546578747d7d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b2022726573706f6e73652e6f6e28276572726f72272c2066756e6374696f6e286572726f7229207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206572726f727d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b20227d292e6f6e28276572726f72272c2066756e6374696f6e286572726f7229207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206572726f727d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b202864617461203f20227265712e7772697465282722202b204a534f4e2e737472696e676966792864617461292e736c69636528312c2d31292e7265706c616365282f272f672c20225c5c272229202b202227293b223a2222290a20202020202020202b20227265712e656e6428293b223b0a2020202020202f2f20537461727420746865206f74686572204e6f64652050726f636573732c20657865637574696e67207468697320737472696e670a2020202020207661722073796e6350726f63203d20737061776e2870726f636573732e617267765b305d2c205b222d65222c2065786563537472696e675d293b0a2020202020207768696c652866732e65786973747353796e632873796e6346696c652929207b0a20202020202020202f2f2057616974207768696c65207468652073796e632066696c6520697320656d7074790a2020202020207d0a2020202020207661722072657370203d204a534f4e2e70617273652866732e7265616446696c6553796e6328636f6e74656e7446696c652c2027757466382729293b0a2020202020202f2f204b696c6c20746865206368696c642070726f63657373206f6e6365207468652066696c652068617320646174610a20202020202073796e6350726f632e737464696e2e656e6428293b0a2020202020202f2f2052656d6f7665207468652074656d706f726172792066696c650a20202020202066732e756e6c696e6b53796e6328636f6e74656e7446696c65293b0a0a20202020202069662028726573702e65727229207b0a202020202020202073656c662e68616e646c654572726f7228726573702e657272293b0a2020202020207d20656c7365207b0a2020202020202020726573706f6e7365203d20726573702e646174613b0a202020202020202073656c662e737461747573203d20726573702e646174612e737461747573436f64653b0a202020202020202073656c662e726573706f6e736554657874203d20726573702e646174612e746578743b0a202020202020202073657453746174652873656c662e444f4e45293b0a2020202020207d0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a2043616c6c6564207768656e20616e206572726f7220697320656e636f756e746572656420746f206465616c20776974682069742e0a2020202a2f0a2020746869732e68616e646c654572726f72203d2066756e6374696f6e286572726f7229207b0a20202020746869732e737461747573203d20303b0a20202020746869732e73746174757354657874203d206572726f723b0a20202020746869732e726573706f6e736554657874203d206572726f722e737461636b3b0a202020206572726f72466c6167203d20747275653b0a20202020736574537461746528746869732e444f4e45293b0a20202020746869732e64697370617463684576656e7428276572726f7227293b0a20207d3b0a0a20202f2a2a0a2020202a2041626f727473206120726571756573742e0a2020202a2f0a2020746869732e61626f7274203d2066756e6374696f6e2829207b0a20202020696620287265717565737429207b0a202020202020726571756573742e61626f727428293b0a20202020202072657175657374203d206e756c6c3b0a202020207d0a0a2020202068656164657273203d2064656661756c74486561646572733b0a20202020746869732e737461747573203d20303b0a20202020746869732e726573706f6e736554657874203d2022223b0a20202020746869732e726573706f6e7365584d4c203d2022223b0a0a202020206572726f72466c6167203d20747275653b0a0a2020202069662028746869732e7265616479537461746520213d3d20746869732e554e53454e540a202020202020202026262028746869732e7265616479537461746520213d3d20746869732e4f50454e4544207c7c2073656e64466c6167290a2020202020202020262620746869732e7265616479537461746520213d3d20746869732e444f4e4529207b0a20202020202073656e64466c6167203d2066616c73653b0a202020202020736574537461746528746869732e444f4e45293b0a202020207d0a20202020746869732e72656164795374617465203d20746869732e554e53454e543b0a20202020746869732e64697370617463684576656e74282761626f727427293b0a20207d3b0a0a20202f2a2a0a2020202a204164647320616e206576656e74206c697374656e65722e20507265666572726564206d6574686f64206f662062696e64696e6720746f206576656e74732e0a2020202a2f0a2020746869732e6164644576656e744c697374656e6572203d2066756e6374696f6e286576656e742c2063616c6c6261636b29207b0a202020206966202821286576656e7420696e206c697374656e6572732929207b0a2020202020206c697374656e6572735b6576656e745d203d205b5d3b0a202020207d0a202020202f2f2043757272656e746c7920616c6c6f7773206475706c69636174652063616c6c6261636b732e2053686f756c642069743f0a202020206c697374656e6572735b6576656e745d2e707573682863616c6c6261636b293b0a20207d3b0a0a20202f2a2a0a2020202a2052656d6f766520616e206576656e742063616c6c6261636b20746861742068617320616c7265616479206265656e20626f756e642e0a2020202a204f6e6c7920776f726b73206f6e20746865206d61746368696e672066756e6369746f6e2c2063616e6e6f74206265206120636f70792e0a2020202a2f0a2020746869732e72656d6f76654576656e744c697374656e6572203d2066756e6374696f6e286576656e742c2063616c6c6261636b29207b0a20202020696620286576656e7420696e206c697374656e65727329207b0a2020202020202f2f2046696c7465722077696c6c2072657475726e2061206e65772061727261792077697468207468652063616c6c6261636b2072656d6f7665640a2020202020206c697374656e6572735b6576656e745d203d206c697374656e6572735b6576656e745d2e66696c7465722866756e6374696f6e28657629207b0a202020202020202072657475726e20657620213d3d2063616c6c6261636b3b0a2020202020207d293b0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a20446973706174636820616e79206576656e74732c20696e636c7564696e6720626f746820226f6e22206d6574686f647320616e64206576656e7473206174746163686564207573696e67206164644576656e744c697374656e65722e0a2020202a2f0a2020746869732e64697370617463684576656e74203d2066756e6374696f6e286576656e7429207b0a2020202069662028747970656f662073656c665b226f6e22202b206576656e745d203d3d3d202266756e6374696f6e2229207b0a20202020202073656c665b226f6e22202b206576656e745d28293b0a202020207d0a20202020696620286576656e7420696e206c697374656e65727329207b0a202020202020666f7220287661722069203d20302c206c656e203d206c697374656e6572735b6576656e745d2e6c656e6774683b2069203c206c656e3b20692b2b29207b0a20202020202020206c697374656e6572735b6576656e745d5b695d2e63616c6c2873656c66293b0a2020202020207d0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a204368616e676573207265616479537461746520616e642063616c6c73206f6e726561647973746174656368616e67652e0a2020202a0a2020202a2040706172616d20696e74207374617465204e65772073746174650a2020202a2f0a2020766172207365745374617465203d2066756e6374696f6e28737461746529207b0a20202020696620287374617465203d3d2073656c662e4c4f4144494e47207c7c2073656c662e7265616479537461746520213d3d20737461746529207b0a20202020202073656c662e72656164795374617465203d2073746174653b0a0a2020202020206966202873657474696e67732e6173796e63207c7c2073656c662e72656164795374617465203c2073656c662e4f50454e4544207c7c2073656c662e72656164795374617465203d3d3d2073656c662e444f4e4529207b0a202020202020202073656c662e64697370617463684576656e742822726561647973746174656368616e676522293b0a2020202020207d0a0a2020202020206966202873656c662e72656164795374617465203d3d3d2073656c662e444f4e4520262620216572726f72466c616729207b0a202020202020202073656c662e64697370617463684576656e7428226c6f616422293b0a20202020202020202f2f2040544f444f20666967757265206f757420496e73706563746f72496e737472756d656e746174696f6e3a3a6469644c6f616458485228636f6f6b6965290a202020202020202073656c662e64697370617463684576656e7428226c6f6164656e6422293b0a2020202020207d0a202020207d0a20207d3b0a7d3b0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c72657175697265282262756666657222292e427566666572290a7d2c7b225f70726f63657373223a3132352c22627566666572223a33322c226368696c645f70726f63657373223a33302c226673223a33302c2268747470223a3133312c226874747073223a33342c2275726c223a33357d5d2c3134393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20657874656e640a0a766172206861734f776e50726f7065727479203d204f626a6563742e70726f746f747970652e6861734f776e50726f70657274793b0a0a66756e6374696f6e20657874656e642829207b0a2020202076617220746172676574203d207b7d0a0a20202020666f7220287661722069203d20303b2069203c20617267756d656e74732e6c656e6774683b20692b2b29207b0a202020202020202076617220736f75726365203d20617267756d656e74735b695d0a0a2020202020202020666f722028766172206b657920696e20736f7572636529207b0a202020202020202020202020696620286861734f776e50726f70657274792e63616c6c28736f757263652c206b65792929207b0a202020202020202020202020202020207461726765745b6b65795d203d20736f757263655b6b65795d0a2020202020202020202020207d0a20202020202020207d0a202020207d0a0a2020202072657475726e207461726765740a7d0a0a7d2c7b7d5d7d2c7b7d2c5b315d292831290a7d293b',0,0,'2018-08-28T20:50:22.023Z','2018-08-28T20:50:22.039Z','file','application/x-javascript','NaHqcOrMmd'); -INSERT INTO notes VALUES('YULCKCrWJJZ6','Members','',0,0,'2018-08-28T20:50:22.174Z','2018-08-28T20:50:22.174Z','text','text/html','j06mJ+DdSI'); -INSERT INTO notes VALUES('wHb2YBwhjxiD','King George VI.','',0,0,'2018-08-28T20:50:22.180Z','2018-08-28T20:50:22.180Z','text','text/html','05ZGftq366'); -INSERT INTO notes VALUES('cUYFEvsdY6N6','Queen Elizabeth','',0,0,'2018-08-28T20:50:22.185Z','2018-08-28T20:50:22.185Z','text','text/html','OSYGkfGRQj'); -INSERT INTO notes VALUES('8APXN4n4Hnb8','Prince Phillip','',0,0,'2018-08-28T20:50:22.191Z','2018-08-28T20:50:22.191Z','text','text/html','NZaKcnIGv3'); -INSERT INTO notes VALUES('baafKkgNGYLm','Prince Charles','',0,0,'2018-08-28T20:50:22.201Z','2018-08-28T20:50:22.201Z','text','text/html','uB3Pzx81AP'); -INSERT INTO notes VALUES('Ab7WuV47mQOf','Princess Diana','',0,0,'2018-08-28T20:50:22.208Z','2018-08-28T20:50:22.208Z','text','text/html','GN/I0AU343'); -INSERT INTO notes VALUES('w7t110kWsK8e','Prince William','',0,0,'2018-08-28T20:50:22.214Z','2018-08-28T20:50:22.214Z','text','text/html','U2C+eB7DMK'); -INSERT INTO notes VALUES('at7bZyjJfIrM','Prince Harry','',0,0,'2018-08-28T20:50:22.218Z','2018-08-28T20:50:22.218Z','text','text/html','oVDOoJAVO+'); -INSERT INTO notes VALUES('OZKicr536m7U','Catherine Middleton',replace('

Catherine, Duchess of Cambridge (born Catherine Elizabeth Middleton;\n 9 January 1982[1])\n is a member of the British royal family.\n Her husband, Prince William, Duke of Cambridge,\n is expected to become king of the United Kingdom and\n 15 other Commonwealth realms,\n making Catherine a likely future queen consort.\n [2]\n

\n

Catherine grew up in Chapel Row,\n a village near Newbury, Berkshire,\n England.[3] She\n studied art history in\n Scotland at the University of St Andrews,\n where she met William in 2001. Their engagement was announced in November\n 2010. They married on\n 29 April 2011 at Westminster Abbey.\n The Duke and Duchess''s children, Prince George,\n Princess Charlotte, and Prince Louis of Cambridge,\n are third, fourth, and fifth in the line of succession to the British throne.\n [4][5]\n [6][7]\n [8]\n

','\n',char(10)),0,0,'2018-08-28T20:50:22.224Z','2018-08-28T20:50:22.224Z','text','text/html','fteE6FaAIm'); -INSERT INTO notes VALUES('oato1D7kuNU2','Prince George','',0,0,'2018-08-28T20:50:22.230Z','2018-08-28T20:50:22.230Z','text','text/html','tWjA2mGn4f'); -INSERT INTO notes VALUES('C1I7GPA8ORO4','Princess Charlotte','',0,0,'2018-08-28T20:50:22.235Z','2018-08-28T20:50:22.235Z','text','text/html','Cs0Agwx2FB'); -INSERT INTO notes VALUES('gQNQaMBzRYdb','Prince Louis','',0,0,'2018-08-28T20:50:22.240Z','2018-08-28T20:50:22.240Z','text','text/html','87qHgMt8/5'); -INSERT INTO notes VALUES('HgaAwBX5zVcP','chartjs',X'2f2a210a202a2043686172742e6a730a202a20687474703a2f2f63686172746a732e6f72672f0a202a2056657273696f6e3a20322e372e320a202a0a202a20436f7079726967687420323031382043686172742e6a7320436f6e7472696275746f72730a202a2052656c656173656420756e64657220746865204d4954206c6963656e73650a202a2068747470733a2f2f6769746875622e636f6d2f63686172746a732f43686172742e6a732f626c6f622f6d61737465722f4c4943454e53452e6d640a202a2f0a2166756e6374696f6e2874297b696628226f626a656374223d3d747970656f66206578706f727473262622756e646566696e656422213d747970656f66206d6f64756c65296d6f64756c652e6578706f7274733d7428293b656c7365206966282266756e6374696f6e223d3d747970656f6620646566696e652626646566696e652e616d6429646566696e65285b5d2c74293b656c73657b2822756e646566696e656422213d747970656f662077696e646f773f77696e646f773a22756e646566696e656422213d747970656f6620676c6f62616c3f676c6f62616c3a22756e646566696e656422213d747970656f662073656c663f73656c663a74686973292e43686172743d7428297d7d2866756e6374696f6e28297b72657475726e2066756e6374696f6e207428652c692c6e297b66756e6374696f6e2061286f2c73297b69662821695b6f5d297b69662821655b6f5d297b766172206c3d2266756e6374696f6e223d3d747970656f6620726571756972652626726571756972653b696628217326266c2972657475726e206c286f2c2130293b696628722972657475726e2072286f2c2130293b76617220753d6e6577204572726f72282243616e6e6f742066696e64206d6f64756c652027222b6f2b222722293b7468726f7720752e636f64653d224d4f44554c455f4e4f545f464f554e44222c757d76617220643d695b6f5d3d7b6578706f7274733a7b7d7d3b655b6f5d5b305d2e63616c6c28642e6578706f7274732c66756e6374696f6e2874297b76617220693d655b6f5d5b315d5b745d3b72657475726e206128697c7c74297d2c642c642e6578706f7274732c742c652c692c6e297d72657475726e20695b6f5d2e6578706f7274737d666f722876617220723d2266756e6374696f6e223d3d747970656f6620726571756972652626726571756972652c6f3d303b6f3c6e2e6c656e6774683b6f2b2b2961286e5b6f5d293b72657475726e20617d287b313a5b66756e6374696f6e28742c652c69297b766172206e3d742835293b66756e6374696f6e20612874297b69662874297b76617220653d5b302c302c305d2c693d312c613d742e6d61746368282f5e23285b612d66412d46302d395d7b337d29242f69293b69662861297b613d615b315d3b666f722876617220723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428615b725d2b615b725d2c3136297d656c736520696628613d742e6d61746368282f5e23285b612d66412d46302d395d7b367d29242f6929297b613d615b315d3b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428612e736c69636528322a722c322a722b32292c3136297d656c736520696628613d742e6d61746368282f5e726762613f5c285c732a285b2b2d5d3f5c642b295c732a2c5c732a285b2b2d5d3f5c642b295c732a2c5c732a285b2b2d5d3f5c642b295c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c29242f6929297b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428615b722b315d293b693d7061727365466c6f617428615b345d297d656c736520696628613d742e6d61746368282f5e726762613f5c285c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c29242f6929297b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d4d6174682e726f756e6428322e35352a7061727365466c6f617428615b722b315d29293b693d7061727365466c6f617428615b345d297d656c736520696628613d742e6d61746368282f285c772b292f29297b696628227472616e73706172656e74223d3d615b315d2972657475726e5b302c302c302c305d3b6966282128653d6e5b615b315d5d292972657475726e7d666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d6428655b725d2c302c323535293b72657475726e20693d697c7c303d3d693f6428692c302c31293a312c655b335d3d692c657d7d66756e6374696f6e20722874297b69662874297b76617220653d742e6d61746368282f5e68736c613f5c285c732a285b2b2d5d3f5c642b29283f3a646567293f5c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c292f293b69662865297b76617220693d7061727365466c6f617428655b345d293b72657475726e5b64287061727365496e7428655b315d292c302c333630292c64287061727365466c6f617428655b325d292c302c313030292c64287061727365466c6f617428655b335d292c302c313030292c642869734e614e2869293f313a692c302c31295d7d7d7d66756e6374696f6e206f2874297b69662874297b76617220653d742e6d61746368282f5e6877625c285c732a285b2b2d5d3f5c642b29283f3a646567293f5c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c292f293b69662865297b76617220693d7061727365466c6f617428655b345d293b72657475726e5b64287061727365496e7428655b315d292c302c333630292c64287061727365466c6f617428655b325d292c302c313030292c64287061727365466c6f617428655b335d292c302c313030292c642869734e614e2869293f313a692c302c31295d7d7d7d66756e6374696f6e207328742c65297b72657475726e20766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31292c227267626128222b745b305d2b222c20222b745b315d2b222c20222b745b325d2b222c20222b652b2229227d66756e6374696f6e206c28742c65297b72657475726e227267626128222b4d6174682e726f756e6428745b305d2f3235352a313030292b22252c20222b4d6174682e726f756e6428745b315d2f3235352a313030292b22252c20222b4d6174682e726f756e6428745b325d2f3235352a313030292b22252c20222b28657c7c745b335d7c7c31292b2229227d66756e6374696f6e207528742c65297b72657475726e20766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31292c2268736c6128222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b22252c20222b652b2229227d66756e6374696f6e206428742c652c69297b72657475726e204d6174682e6d696e284d6174682e6d617828652c74292c69297d66756e6374696f6e20682874297b76617220653d742e746f537472696e67283136292e746f55707065724361736528293b72657475726e20652e6c656e6774683c323f2230222b653a657d652e6578706f7274733d7b676574526762613a612c67657448736c613a722c6765745267623a66756e6374696f6e2874297b76617220653d612874293b72657475726e20652626652e736c69636528302c33297d2c67657448736c3a66756e6374696f6e2874297b76617220653d722874293b72657475726e20652626652e736c69636528302c33297d2c6765744877623a6f2c676574416c7068613a66756e6374696f6e2874297b76617220653d612874293b7b696628652972657475726e20655b335d3b696628653d722874292972657475726e20655b335d3b696628653d6f2874292972657475726e20655b335d7d7d2c686578537472696e673a66756e6374696f6e2874297b72657475726e2223222b6828745b305d292b6828745b315d292b6828745b325d297d2c726762537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e207328742c65293b72657475726e2272676228222b745b305d2b222c20222b745b315d2b222c20222b745b325d2b2229227d2c72676261537472696e673a732c70657263656e74537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e206c28742c65293b76617220693d4d6174682e726f756e6428745b305d2f3235352a313030292c6e3d4d6174682e726f756e6428745b315d2f3235352a313030292c613d4d6174682e726f756e6428745b325d2f3235352a313030293b72657475726e2272676228222b692b22252c20222b6e2b22252c20222b612b222529227d2c70657263656e7461537472696e673a6c2c68736c537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e207528742c65293b72657475726e2268736c28222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b222529227d2c68736c61537472696e673a752c687762537472696e673a66756e6374696f6e28742c65297b766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31293b72657475726e2268776228222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b2225222b28766f69642030213d3d65262631213d3d653f222c20222b653a2222292b2229227d2c6b6579776f72643a66756e6374696f6e2874297b72657475726e20635b742e736c69636528302c33295d7d7d3b76617220633d7b7d3b666f7228766172206620696e206e29635b6e5b665d5d3d667d2c7b353a357d5d2c323a5b66756e6374696f6e28742c652c69297b766172206e3d742834292c613d742831292c723d66756e6374696f6e2874297b72657475726e207420696e7374616e63656f6620723f743a7468697320696e7374616e63656f6620723f28746869732e76616c69643d21312c746869732e76616c7565733d7b7267623a5b302c302c305d2c68736c3a5b302c302c305d2c6873763a5b302c302c305d2c6877623a5b302c302c305d2c636d796b3a5b302c302c302c305d2c616c7068613a317d2c766f69642822737472696e67223d3d747970656f6620743f28653d612e67657452676261287429293f746869732e73657456616c7565732822726762222c65293a28653d612e67657448736c61287429293f746869732e73657456616c756573282268736c222c65293a28653d612e676574487762287429292626746869732e73657456616c7565732822687762222c65293a226f626a656374223d3d747970656f662074262628766f69642030213d3d28653d74292e727c7c766f69642030213d3d652e7265643f746869732e73657456616c7565732822726762222c65293a766f69642030213d3d652e6c7c7c766f69642030213d3d652e6c696768746e6573733f746869732e73657456616c756573282268736c222c65293a766f69642030213d3d652e767c7c766f69642030213d3d652e76616c75653f746869732e73657456616c7565732822687376222c65293a766f69642030213d3d652e777c7c766f69642030213d3d652e77686974656e6573733f746869732e73657456616c7565732822687762222c65293a766f696420303d3d3d652e632626766f696420303d3d3d652e6379616e7c7c746869732e73657456616c7565732822636d796b222c65292929293a6e657720722874293b76617220657d3b722e70726f746f747970653d7b697356616c69643a66756e6374696f6e28297b72657475726e20746869732e76616c69647d2c7267623a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822726762222c617267756d656e7473297d2c68736c3a66756e6374696f6e28297b72657475726e20746869732e7365745370616365282268736c222c617267756d656e7473297d2c6873763a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822687376222c617267756d656e7473297d2c6877623a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822687762222c617267756d656e7473297d2c636d796b3a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822636d796b222c617267756d656e7473297d2c72676241727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e7267627d2c68736c41727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e68736c7d2c68737641727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e6873767d2c68776241727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e2031213d3d742e616c7068613f742e6877622e636f6e636174285b742e616c7068615d293a742e6877627d2c636d796b41727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e636d796b7d2c7267626141727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e20742e7267622e636f6e636174285b742e616c7068615d297d2c68736c6141727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e20742e68736c2e636f6e636174285b742e616c7068615d297d2c616c7068613a66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f746869732e76616c7565732e616c7068613a28746869732e73657456616c7565732822616c706861222c74292c74686973297d2c7265643a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c302c74297d2c677265656e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c312c74297d2c626c75653a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c322c74297d2c6875653a66756e6374696f6e2874297b72657475726e2074262628743d2874253d333630293c303f3336302b743a74292c746869732e7365744368616e6e656c282268736c222c302c74297d2c73617475726174696f6e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c282268736c222c312c74297d2c6c696768746e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c282268736c222c322c74297d2c73617475726174696f6e763a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687376222c312c74297d2c77686974656e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687762222c312c74297d2c626c61636b6e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687762222c322c74297d2c76616c75653a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687376222c322c74297d2c6379616e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c302c74297d2c6d6167656e74613a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c312c74297d2c79656c6c6f773a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c322c74297d2c626c61636b3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c332c74297d2c686578537472696e673a66756e6374696f6e28297b72657475726e20612e686578537472696e6728746869732e76616c7565732e726762297d2c726762537472696e673a66756e6374696f6e28297b72657475726e20612e726762537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c72676261537472696e673a66756e6374696f6e28297b72657475726e20612e72676261537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c70657263656e74537472696e673a66756e6374696f6e28297b72657475726e20612e70657263656e74537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c68736c537472696e673a66756e6374696f6e28297b72657475726e20612e68736c537472696e6728746869732e76616c7565732e68736c2c746869732e76616c7565732e616c706861297d2c68736c61537472696e673a66756e6374696f6e28297b72657475726e20612e68736c61537472696e6728746869732e76616c7565732e68736c2c746869732e76616c7565732e616c706861297d2c687762537472696e673a66756e6374696f6e28297b72657475726e20612e687762537472696e6728746869732e76616c7565732e6877622c746869732e76616c7565732e616c706861297d2c6b6579776f72643a66756e6374696f6e28297b72657475726e20612e6b6579776f726428746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c7267624e756d6265723a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267623b72657475726e20745b305d3c3c31367c745b315d3c3c387c745b325d7d2c6c756d696e6f736974793a66756e6374696f6e28297b666f722876617220743d746869732e76616c7565732e7267622c653d5b5d2c693d303b693c742e6c656e6774683b692b2b297b766172206e3d745b695d2f3235353b655b695d3d6e3c3d2e30333932383f6e2f31322e39323a4d6174682e706f7728286e2b2e303535292f312e3035352c322e34297d72657475726e2e323132362a655b305d2b2e373135322a655b315d2b2e303732322a655b325d7d2c636f6e74726173743a66756e6374696f6e2874297b76617220653d746869732e6c756d696e6f7369747928292c693d742e6c756d696e6f7369747928293b72657475726e20653e693f28652b2e3035292f28692b2e3035293a28692b2e3035292f28652b2e3035297d2c6c6576656c3a66756e6374696f6e2874297b76617220653d746869732e636f6e74726173742874293b72657475726e20653e3d372e313f22414141223a653e3d342e353f224141223a22227d2c6461726b3a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267623b72657475726e283239392a745b305d2b3538372a745b315d2b3131342a745b325d292f3165333c3132387d2c6c696768743a66756e6374696f6e28297b72657475726e21746869732e6461726b28297d2c6e65676174653a66756e6374696f6e28297b666f722876617220743d5b5d2c653d303b653c333b652b2b29745b655d3d3235352d746869732e76616c7565732e7267625b655d3b72657475726e20746869732e73657456616c7565732822726762222c74292c746869737d2c6c69676874656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b325d2b3d655b325d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c6461726b656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b325d2d3d655b325d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c73617475726174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b315d2b3d655b315d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c646573617475726174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b315d2d3d655b315d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c77686974656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e6877623b72657475726e20655b315d2b3d655b315d2a742c746869732e73657456616c7565732822687762222c65292c746869737d2c626c61636b656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e6877623b72657475726e20655b325d2b3d655b325d2a742c746869732e73657456616c7565732822687762222c65292c746869737d2c677265797363616c653a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267622c653d2e332a745b305d2b2e35392a745b315d2b2e31312a745b325d3b72657475726e20746869732e73657456616c7565732822726762222c5b652c652c655d292c746869737d2c636c65617265723a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e616c7068613b72657475726e20746869732e73657456616c7565732822616c706861222c652d652a74292c746869737d2c6f7061717565723a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e616c7068613b72657475726e20746869732e73657456616c7565732822616c706861222c652b652a74292c746869737d2c726f746174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c2c693d28655b305d2b7429253336303b72657475726e20655b305d3d693c303f3336302b693a692c746869732e73657456616c756573282268736c222c65292c746869737d2c6d69783a66756e6374696f6e28742c65297b76617220693d746869732c6e3d742c613d766f696420303d3d3d653f2e353a652c723d322a612d312c6f3d692e616c70686128292d6e2e616c70686128292c733d2828722a6f3d3d2d313f723a28722b6f292f28312b722a6f29292b31292f322c6c3d312d733b72657475726e20746869732e72676228732a692e72656428292b6c2a6e2e72656428292c732a692e677265656e28292b6c2a6e2e677265656e28292c732a692e626c756528292b6c2a6e2e626c75652829292e616c70686128692e616c70686128292a612b6e2e616c70686128292a28312d6129297d2c746f4a534f4e3a66756e6374696f6e28297b72657475726e20746869732e72676228297d2c636c6f6e653a66756e6374696f6e28297b76617220742c652c693d6e657720722c6e3d746869732e76616c7565732c613d692e76616c7565733b666f7228766172206f20696e206e296e2e6861734f776e50726f7065727479286f29262628743d6e5b6f5d2c225b6f626a6563742041727261795d223d3d3d28653d7b7d2e746f537472696e672e63616c6c287429293f615b6f5d3d742e736c6963652830293a225b6f626a656374204e756d6265725d223d3d3d653f615b6f5d3d743a636f6e736f6c652e6572726f722822756e657870656374656420636f6c6f722076616c75653a222c7429293b72657475726e20697d7d2c722e70726f746f747970652e7370616365733d7b7267623a5b22726564222c22677265656e222c22626c7565225d2c68736c3a5b22687565222c2273617475726174696f6e222c226c696768746e657373225d2c6873763a5b22687565222c2273617475726174696f6e222c2276616c7565225d2c6877623a5b22687565222c2277686974656e657373222c22626c61636b6e657373225d2c636d796b3a5b226379616e222c226d6167656e7461222c2279656c6c6f77222c22626c61636b225d7d2c722e70726f746f747970652e6d617865733d7b7267623a5b3235352c3235352c3235355d2c68736c3a5b3336302c3130302c3130305d2c6873763a5b3336302c3130302c3130305d2c6877623a5b3336302c3130302c3130305d2c636d796b3a5b3130302c3130302c3130302c3130305d7d2c722e70726f746f747970652e67657456616c7565733d66756e6374696f6e2874297b666f722876617220653d746869732e76616c7565732c693d7b7d2c6e3d303b6e3c742e6c656e6774683b6e2b2b29695b742e636861724174286e295d3d655b745d5b6e5d3b72657475726e2031213d3d652e616c706861262628692e613d652e616c706861292c697d2c722e70726f746f747970652e73657456616c7565733d66756e6374696f6e28742c65297b76617220692c612c723d746869732e76616c7565732c6f3d746869732e7370616365732c733d746869732e6d617865732c6c3d313b696628746869732e76616c69643d21302c22616c706861223d3d3d74296c3d653b656c736520696628652e6c656e67746829725b745d3d652e736c69636528302c742e6c656e677468292c6c3d655b742e6c656e6774685d3b656c736520696628766f69642030213d3d655b742e6368617241742830295d297b666f7228693d303b693c742e6c656e6774683b692b2b29725b745d5b695d3d655b742e6368617241742869295d3b6c3d652e617d656c736520696628766f69642030213d3d655b6f5b745d5b305d5d297b76617220753d6f5b745d3b666f7228693d303b693c742e6c656e6774683b692b2b29725b745d5b695d3d655b755b695d5d3b6c3d652e616c7068617d696628722e616c7068613d4d6174682e6d617828302c4d6174682e6d696e28312c766f696420303d3d3d6c3f722e616c7068613a6c29292c22616c706861223d3d3d742972657475726e21313b666f7228693d303b693c742e6c656e6774683b692b2b29613d4d6174682e6d617828302c4d6174682e6d696e28735b745d5b695d2c725b745d5b695d29292c725b745d5b695d3d4d6174682e726f756e642861293b666f7228766172206420696e206f2964213d3d74262628725b645d3d6e5b745d5b645d28725b745d29293b72657475726e21307d2c722e70726f746f747970652e73657453706163653d66756e6374696f6e28742c65297b76617220693d655b305d3b72657475726e20766f696420303d3d3d693f746869732e67657456616c7565732874293a28226e756d626572223d3d747970656f662069262628693d41727261792e70726f746f747970652e736c6963652e63616c6c286529292c746869732e73657456616c75657328742c69292c74686973297d2c722e70726f746f747970652e7365744368616e6e656c3d66756e6374696f6e28742c652c69297b766172206e3d746869732e76616c7565735b745d3b72657475726e20766f696420303d3d3d693f6e5b655d3a693d3d3d6e5b655d3f746869733a286e5b655d3d692c746869732e73657456616c75657328742c6e292c74686973297d2c22756e646566696e656422213d747970656f662077696e646f7726262877696e646f772e436f6c6f723d72292c652e6578706f7274733d727d2c7b313a312c343a347d5d2c333a5b66756e6374696f6e28742c652c69297b66756e6374696f6e206e2874297b76617220652c692c6e3d745b305d2f3235352c613d745b315d2f3235352c723d745b325d2f3235352c6f3d4d6174682e6d696e286e2c612c72292c733d4d6174682e6d6178286e2c612c72292c6c3d732d6f3b72657475726e20733d3d6f3f653d303a6e3d3d733f653d28612d72292f6c3a613d3d733f653d322b28722d6e292f6c3a723d3d73262628653d342b286e2d61292f6c292c28653d4d6174682e6d696e2836302a652c33363029293c30262628652b3d333630292c693d286f2b73292f322c5b652c3130302a28733d3d6f3f303a693c3d2e353f6c2f28732b6f293a6c2f28322d732d6f29292c3130302a695d7d66756e6374696f6e20612874297b76617220652c692c6e3d745b305d2c613d745b315d2c723d745b325d2c6f3d4d6174682e6d696e286e2c612c72292c733d4d6174682e6d6178286e2c612c72292c6c3d732d6f3b72657475726e20693d303d3d733f303a6c2f732a3165332f31302c733d3d6f3f653d303a6e3d3d733f653d28612d72292f6c3a613d3d733f653d322b28722d6e292f6c3a723d3d73262628653d342b286e2d61292f6c292c28653d4d6174682e6d696e2836302a652c33363029293c30262628652b3d333630292c5b652c692c732f3235352a3165332f31305d7d66756e6374696f6e206f2874297b76617220653d745b305d2c693d745b315d2c613d745b325d3b72657475726e5b6e2874295b305d2c3130302a28312f3235352a4d6174682e6d696e28652c4d6174682e6d696e28692c612929292c3130302a28613d312d312f3235352a4d6174682e6d617828652c4d6174682e6d617828692c612929295d7d66756e6374696f6e20732874297b76617220652c693d745b305d2f3235352c6e3d745b315d2f3235352c613d745b325d2f3235353b72657475726e5b3130302a2828312d692d28653d4d6174682e6d696e28312d692c312d6e2c312d612929292f28312d65297c7c30292c3130302a2828312d6e2d65292f28312d65297c7c30292c3130302a2828312d612d65292f28312d65297c7c30292c3130302a655d7d66756e6374696f6e206c2874297b72657475726e20535b4a534f4e2e737472696e676966792874295d7d66756e6374696f6e20752874297b76617220653d745b305d2f3235352c693d745b315d2f3235352c6e3d745b325d2f3235353b72657475726e5b3130302a282e343132342a28653d653e2e30343034353f4d6174682e706f772828652b2e303535292f312e3035352c322e34293a652f31322e3932292b2e333537362a28693d693e2e30343034353f4d6174682e706f772828692b2e303535292f312e3035352c322e34293a692f31322e3932292b2e313830352a286e3d6e3e2e30343034353f4d6174682e706f7728286e2b2e303535292f312e3035352c322e34293a6e2f31322e393229292c3130302a282e323132362a652b2e373135322a692b2e303732322a6e292c3130302a282e303139332a652b2e313139322a692b2e393530352a6e295d7d66756e6374696f6e20642874297b76617220653d752874292c693d655b305d2c6e3d655b315d2c613d655b325d3b72657475726e206e2f3d3130302c612f3d3130382e3838332c693d28692f3d39352e303437293e2e3030383835363f4d6174682e706f7728692c312f33293a372e3738372a692b31362f3131362c5b3131362a286e3d6e3e2e3030383835363f4d6174682e706f77286e2c312f33293a372e3738372a6e2b31362f313136292d31362c3530302a28692d6e292c3230302a286e2d28613d613e2e3030383835363f4d6174682e706f7728612c312f33293a372e3738372a612b31362f31313629295d7d66756e6374696f6e20682874297b76617220652c692c6e2c612c722c6f3d745b305d2f3336302c733d745b315d2f3130302c6c3d745b325d2f3130303b696628303d3d732972657475726e5b723d3235352a6c2c722c725d3b653d322a6c2d28693d6c3c2e353f6c2a28312b73293a6c2b732d6c2a73292c613d5b302c302c305d3b666f722876617220753d303b753c333b752b2b29286e3d6f2b312f332a2d28752d3129293c3026266e2b2b2c6e3e3126266e2d2d2c723d362a6e3c313f652b362a28692d65292a6e3a322a6e3c313f693a332a6e3c323f652b28692d65292a28322f332d6e292a363a652c615b755d3d3235352a723b72657475726e20617d66756e6374696f6e20632874297b76617220653d745b305d2f36302c693d745b315d2f3130302c6e3d745b325d2f3130302c613d4d6174682e666c6f6f7228652925362c723d652d4d6174682e666c6f6f722865292c6f3d3235352a6e2a28312d69292c733d3235352a6e2a28312d692a72292c6c3d3235352a6e2a28312d692a28312d7229293b6e2a3d3235353b7377697463682861297b6361736520303a72657475726e5b6e2c6c2c6f5d3b6361736520313a72657475726e5b732c6e2c6f5d3b6361736520323a72657475726e5b6f2c6e2c6c5d3b6361736520333a72657475726e5b6f2c732c6e5d3b6361736520343a72657475726e5b6c2c6f2c6e5d3b6361736520353a72657475726e5b6e2c6f2c735d7d7d66756e6374696f6e20662874297b76617220652c692c6e2c612c6f3d745b305d2f3336302c733d745b315d2f3130302c6c3d745b325d2f3130302c753d732b6c3b73776974636828753e31262628732f3d752c6c2f3d75292c6e3d362a6f2d28653d4d6174682e666c6f6f7228362a6f29292c30213d28312665292626286e3d312d6e292c613d732b6e2a2828693d312d6c292d73292c65297b64656661756c743a6361736520363a6361736520303a723d692c673d612c623d733b627265616b3b6361736520313a723d612c673d692c623d733b627265616b3b6361736520323a723d732c673d692c623d613b627265616b3b6361736520333a723d732c673d612c623d693b627265616b3b6361736520343a723d612c673d732c623d693b627265616b3b6361736520353a723d692c673d732c623d617d72657475726e5b3235352a722c3235352a672c3235352a625d7d66756e6374696f6e206d2874297b76617220653d745b305d2f3130302c693d745b315d2f3130302c6e3d745b325d2f3130302c613d745b335d2f3130303b72657475726e5b3235352a28312d4d6174682e6d696e28312c652a28312d61292b6129292c3235352a28312d4d6174682e6d696e28312c692a28312d61292b6129292c3235352a28312d4d6174682e6d696e28312c6e2a28312d61292b6129295d7d66756e6374696f6e20702874297b76617220652c692c6e2c613d745b305d2f3130302c723d745b315d2f3130302c6f3d745b325d2f3130303b72657475726e20693d2d2e393638392a612b312e383735382a722b2e303431352a6f2c6e3d2e303535372a612b2d2e3230342a722b312e3035372a6f2c653d28653d332e323430362a612b2d312e353337322a722b2d2e343938362a6f293e2e303033313330383f312e3035352a4d6174682e706f7728652c312f322e34292d2e3035353a652a3d31322e39322c693d693e2e303033313330383f312e3035352a4d6174682e706f7728692c312f322e34292d2e3035353a692a3d31322e39322c6e3d6e3e2e303033313330383f312e3035352a4d6174682e706f77286e2c312f322e34292d2e3035353a6e2a3d31322e39322c5b3235352a28653d4d6174682e6d696e284d6174682e6d617828302c65292c3129292c3235352a28693d4d6174682e6d696e284d6174682e6d617828302c69292c3129292c3235352a286e3d4d6174682e6d696e284d6174682e6d617828302c6e292c3129295d7d66756e6374696f6e20762874297b76617220653d745b305d2c693d745b315d2c6e3d745b325d3b72657475726e20692f3d3130302c6e2f3d3130382e3838332c653d28652f3d39352e303437293e2e3030383835363f4d6174682e706f7728652c312f33293a372e3738372a652b31362f3131362c5b3131362a28693d693e2e3030383835363f4d6174682e706f7728692c312f33293a372e3738372a692b31362f313136292d31362c3530302a28652d69292c3230302a28692d286e3d6e3e2e3030383835363f4d6174682e706f77286e2c312f33293a372e3738372a6e2b31362f31313629295d7d66756e6374696f6e20792874297b76617220652c692c6e2c612c723d745b305d2c6f3d745b315d2c733d745b325d3b72657475726e20723c3d383f613d28693d3130302a722f3930332e33292f3130302a372e3738372b31362f3131363a28693d3130302a4d6174682e706f772828722b3136292f3131362c33292c613d4d6174682e706f7728692f3130302c312f3329292c5b653d652f39352e3034373c3d2e3030383835363f653d39352e3034372a286f2f3530302b612d31362f313136292f372e3738373a39352e3034372a4d6174682e706f77286f2f3530302b612c33292c692c6e3d6e2f3130382e3838333c3d2e3030383835393f6e3d3130382e3838332a28612d732f3230302d31362f313136292f372e3738373a3130382e3838332a4d6174682e706f7728612d732f3230302c33295d7d66756e6374696f6e20782874297b76617220652c693d745b305d2c6e3d745b315d2c613d745b325d3b72657475726e28653d3336302a4d6174682e6174616e3228612c6e292f322f4d6174682e5049293c30262628652b3d333630292c5b692c4d6174682e73717274286e2a6e2b612a61292c655d7d66756e6374696f6e205f2874297b72657475726e20702879287429297d66756e6374696f6e206b2874297b76617220652c693d745b305d2c6e3d745b315d3b72657475726e20653d745b325d2f3336302a322a4d6174682e50492c5b692c6e2a4d6174682e636f732865292c6e2a4d6174682e73696e2865295d7d66756e6374696f6e20772874297b72657475726e204d5b745d7d652e6578706f7274733d7b7267623268736c3a6e2c726762326873763a612c726762326877623a6f2c72676232636d796b3a732c726762326b6579776f72643a6c2c7267623278797a3a752c726762326c61623a642c726762326c63683a66756e6374696f6e2874297b72657475726e20782864287429297d2c68736c327267623a682c68736c326873763a66756e6374696f6e2874297b76617220653d745b305d2c693d745b315d2f3130302c6e3d745b325d2f3130303b696628303d3d3d6e2972657475726e5b302c302c305d3b72657475726e5b652c3130302a28322a28692a3d286e2a3d32293c3d313f6e3a322d6e292f286e2b6929292c3130302a28286e2b69292f32295d7d2c68736c326877623a66756e6374696f6e2874297b72657475726e206f2868287429297d2c68736c32636d796b3a66756e6374696f6e2874297b72657475726e20732868287429297d2c68736c326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2868287429297d2c687376327267623a632c6873763268736c3a66756e6374696f6e2874297b76617220652c692c6e3d745b305d2c613d745b315d2f3130302c723d745b325d2f3130303b72657475726e20653d612a722c5b6e2c3130302a28653d28652f3d28693d28322d61292a72293c3d313f693a322d69297c7c30292c3130302a28692f3d32295d7d2c687376326877623a66756e6374696f6e2874297b72657475726e206f2863287429297d2c68737632636d796b3a66756e6374696f6e2874297b72657475726e20732863287429297d2c687376326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2863287429297d2c687762327267623a662c6877623268736c3a66756e6374696f6e2874297b72657475726e206e2866287429297d2c687762326873763a66756e6374696f6e2874297b72657475726e20612866287429297d2c68776232636d796b3a66756e6374696f6e2874297b72657475726e20732866287429297d2c687762326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2866287429297d2c636d796b327267623a6d2c636d796b3268736c3a66756e6374696f6e2874297b72657475726e206e286d287429297d2c636d796b326873763a66756e6374696f6e2874297b72657475726e2061286d287429297d2c636d796b326877623a66756e6374696f6e2874297b72657475726e206f286d287429297d2c636d796b326b6579776f72643a66756e6374696f6e2874297b72657475726e206c286d287429297d2c6b6579776f7264327267623a772c6b6579776f72643268736c3a66756e6374696f6e2874297b72657475726e206e2877287429297d2c6b6579776f7264326873763a66756e6374696f6e2874297b72657475726e20612877287429297d2c6b6579776f7264326877623a66756e6374696f6e2874297b72657475726e206f2877287429297d2c6b6579776f726432636d796b3a66756e6374696f6e2874297b72657475726e20732877287429297d2c6b6579776f7264326c61623a66756e6374696f6e2874297b72657475726e20642877287429297d2c6b6579776f72643278797a3a66756e6374696f6e2874297b72657475726e20752877287429297d2c78797a327267623a702c78797a326c61623a762c78797a326c63683a66756e6374696f6e2874297b72657475726e20782876287429297d2c6c61623278797a3a792c6c6162327267623a5f2c6c6162326c63683a782c6c6368326c61623a6b2c6c63683278797a3a66756e6374696f6e2874297b72657475726e2079286b287429297d2c6c6368327267623a66756e6374696f6e2874297b72657475726e205f286b287429297d7d3b766172204d3d7b616c696365626c75653a5b3234302c3234382c3235355d2c616e746971756577686974653a5b3235302c3233352c3231355d2c617175613a5b302c3235352c3235355d2c617175616d6172696e653a5b3132372c3235352c3231325d2c617a7572653a5b3234302c3235352c3235355d2c62656967653a5b3234352c3234352c3232305d2c6269737175653a5b3235352c3232382c3139365d2c626c61636b3a5b302c302c305d2c626c616e63686564616c6d6f6e643a5b3235352c3233352c3230355d2c626c75653a5b302c302c3235355d2c626c756576696f6c65743a5b3133382c34332c3232365d2c62726f776e3a5b3136352c34322c34325d2c6275726c79776f6f643a5b3232322c3138342c3133355d2c6361646574626c75653a5b39352c3135382c3136305d2c636861727472657573653a5b3132372c3235352c305d2c63686f636f6c6174653a5b3231302c3130352c33305d2c636f72616c3a5b3235352c3132372c38305d2c636f726e666c6f776572626c75653a5b3130302c3134392c3233375d2c636f726e73696c6b3a5b3235352c3234382c3232305d2c6372696d736f6e3a5b3232302c32302c36305d2c6379616e3a5b302c3235352c3235355d2c6461726b626c75653a5b302c302c3133395d2c6461726b6379616e3a5b302c3133392c3133395d2c6461726b676f6c64656e726f643a5b3138342c3133342c31315d2c6461726b677261793a5b3136392c3136392c3136395d2c6461726b677265656e3a5b302c3130302c305d2c6461726b677265793a5b3136392c3136392c3136395d2c6461726b6b68616b693a5b3138392c3138332c3130375d2c6461726b6d6167656e74613a5b3133392c302c3133395d2c6461726b6f6c697665677265656e3a5b38352c3130372c34375d2c6461726b6f72616e67653a5b3235352c3134302c305d2c6461726b6f72636869643a5b3135332c35302c3230345d2c6461726b7265643a5b3133392c302c305d2c6461726b73616c6d6f6e3a5b3233332c3135302c3132325d2c6461726b736561677265656e3a5b3134332c3138382c3134335d2c6461726b736c617465626c75653a5b37322c36312c3133395d2c6461726b736c617465677261793a5b34372c37392c37395d2c6461726b736c617465677265793a5b34372c37392c37395d2c6461726b74757271756f6973653a5b302c3230362c3230395d2c6461726b76696f6c65743a5b3134382c302c3231315d2c6465657070696e6b3a5b3235352c32302c3134375d2c64656570736b79626c75653a5b302c3139312c3235355d2c64696d677261793a5b3130352c3130352c3130355d2c64696d677265793a5b3130352c3130352c3130355d2c646f64676572626c75653a5b33302c3134342c3235355d2c66697265627269636b3a5b3137382c33342c33345d2c666c6f72616c77686974653a5b3235352c3235302c3234305d2c666f72657374677265656e3a5b33342c3133392c33345d2c667563687369613a5b3235352c302c3235355d2c6761696e73626f726f3a5b3232302c3232302c3232305d2c67686f737477686974653a5b3234382c3234382c3235355d2c676f6c643a5b3235352c3231352c305d2c676f6c64656e726f643a5b3231382c3136352c33325d2c677261793a5b3132382c3132382c3132385d2c677265656e3a5b302c3132382c305d2c677265656e79656c6c6f773a5b3137332c3235352c34375d2c677265793a5b3132382c3132382c3132385d2c686f6e65796465773a5b3234302c3235352c3234305d2c686f7470696e6b3a5b3235352c3130352c3138305d2c696e6469616e7265643a5b3230352c39322c39325d2c696e6469676f3a5b37352c302c3133305d2c69766f72793a5b3235352c3235352c3234305d2c6b68616b693a5b3234302c3233302c3134305d2c6c6176656e6465723a5b3233302c3233302c3235305d2c6c6176656e646572626c7573683a5b3235352c3234302c3234355d2c6c61776e677265656e3a5b3132342c3235322c305d2c6c656d6f6e63686966666f6e3a5b3235352c3235302c3230355d2c6c69676874626c75653a5b3137332c3231362c3233305d2c6c69676874636f72616c3a5b3234302c3132382c3132385d2c6c696768746379616e3a5b3232342c3235352c3235355d2c6c69676874676f6c64656e726f6479656c6c6f773a5b3235302c3235302c3231305d2c6c69676874677261793a5b3231312c3231312c3231315d2c6c69676874677265656e3a5b3134342c3233382c3134345d2c6c69676874677265793a5b3231312c3231312c3231315d2c6c6967687470696e6b3a5b3235352c3138322c3139335d2c6c6967687473616c6d6f6e3a5b3235352c3136302c3132325d2c6c69676874736561677265656e3a5b33322c3137382c3137305d2c6c69676874736b79626c75653a5b3133352c3230362c3235305d2c6c69676874736c617465677261793a5b3131392c3133362c3135335d2c6c69676874736c617465677265793a5b3131392c3133362c3135335d2c6c69676874737465656c626c75653a5b3137362c3139362c3232325d2c6c6967687479656c6c6f773a5b3235352c3235352c3232345d2c6c696d653a5b302c3235352c305d2c6c696d65677265656e3a5b35302c3230352c35305d2c6c696e656e3a5b3235302c3234302c3233305d2c6d6167656e74613a5b3235352c302c3235355d2c6d61726f6f6e3a5b3132382c302c305d2c6d656469756d617175616d6172696e653a5b3130322c3230352c3137305d2c6d656469756d626c75653a5b302c302c3230355d2c6d656469756d6f72636869643a5b3138362c38352c3231315d2c6d656469756d707572706c653a5b3134372c3131322c3231395d2c6d656469756d736561677265656e3a5b36302c3137392c3131335d2c6d656469756d736c617465626c75653a5b3132332c3130342c3233385d2c6d656469756d737072696e67677265656e3a5b302c3235302c3135345d2c6d656469756d74757271756f6973653a5b37322c3230392c3230345d2c6d656469756d76696f6c65747265643a5b3139392c32312c3133335d2c6d69646e69676874626c75653a5b32352c32352c3131325d2c6d696e74637265616d3a5b3234352c3235352c3235305d2c6d69737479726f73653a5b3235352c3232382c3232355d2c6d6f63636173696e3a5b3235352c3232382c3138315d2c6e6176616a6f77686974653a5b3235352c3232322c3137335d2c6e6176793a5b302c302c3132385d2c6f6c646c6163653a5b3235332c3234352c3233305d2c6f6c6976653a5b3132382c3132382c305d2c6f6c697665647261623a5b3130372c3134322c33355d2c6f72616e67653a5b3235352c3136352c305d2c6f72616e67657265643a5b3235352c36392c305d2c6f72636869643a5b3231382c3131322c3231345d2c70616c65676f6c64656e726f643a5b3233382c3233322c3137305d2c70616c65677265656e3a5b3135322c3235312c3135325d2c70616c6574757271756f6973653a5b3137352c3233382c3233385d2c70616c6576696f6c65747265643a5b3231392c3131322c3134375d2c706170617961776869703a5b3235352c3233392c3231335d2c7065616368707566663a5b3235352c3231382c3138355d2c706572753a5b3230352c3133332c36335d2c70696e6b3a5b3235352c3139322c3230335d2c706c756d3a5b3232312c3136302c3232315d2c706f77646572626c75653a5b3137362c3232342c3233305d2c707572706c653a5b3132382c302c3132385d2c72656265636361707572706c653a5b3130322c35312c3135335d2c7265643a5b3235352c302c305d2c726f737962726f776e3a5b3138382c3134332c3134335d2c726f79616c626c75653a5b36352c3130352c3232355d2c736164646c6562726f776e3a5b3133392c36392c31395d2c73616c6d6f6e3a5b3235302c3132382c3131345d2c73616e647962726f776e3a5b3234342c3136342c39365d2c736561677265656e3a5b34362c3133392c38375d2c7365617368656c6c3a5b3235352c3234352c3233385d2c7369656e6e613a5b3136302c38322c34355d2c73696c7665723a5b3139322c3139322c3139325d2c736b79626c75653a5b3133352c3230362c3233355d2c736c617465626c75653a5b3130362c39302c3230355d2c736c617465677261793a5b3131322c3132382c3134345d2c736c617465677265793a5b3131322c3132382c3134345d2c736e6f773a5b3235352c3235302c3235305d2c737072696e67677265656e3a5b302c3235352c3132375d2c737465656c626c75653a5b37302c3133302c3138305d2c74616e3a5b3231302c3138302c3134305d2c7465616c3a5b302c3132382c3132385d2c74686973746c653a5b3231362c3139312c3231365d2c746f6d61746f3a5b3235352c39392c37315d2c74757271756f6973653a5b36342c3232342c3230385d2c76696f6c65743a5b3233382c3133302c3233385d2c77686561743a5b3234352c3232322c3137395d2c77686974653a5b3235352c3235352c3235355d2c7768697465736d6f6b653a5b3234352c3234352c3234355d2c79656c6c6f773a5b3235352c3235352c305d2c79656c6c6f77677265656e3a5b3135342c3230352c35305d7d2c533d7b7d3b666f7228766172204420696e204d29535b4a534f4e2e737472696e67696679284d5b445d295d3d447d2c7b7d5d2c343a5b66756e6374696f6e28742c652c69297b766172206e3d742833292c613d66756e6374696f6e28297b72657475726e206e657720757d3b666f7228766172207220696e206e297b615b722b22526177225d3d66756e6374696f6e2874297b72657475726e2066756e6374696f6e2865297b72657475726e226e756d626572223d3d747970656f662065262628653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e747329292c6e5b745d2865297d7d2872293b766172206f3d2f285c772b2932285c772b292f2e657865632872292c733d6f5b315d2c6c3d6f5b325d3b28615b735d3d615b735d7c7c7b7d295b6c5d3d615b725d3d66756e6374696f6e2874297b72657475726e2066756e6374696f6e2865297b226e756d626572223d3d747970656f662065262628653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e747329293b76617220693d6e5b745d2865293b69662822737472696e67223d3d747970656f6620697c7c766f696420303d3d3d692972657475726e20693b666f722876617220613d303b613c692e6c656e6774683b612b2b29695b615d3d4d6174682e726f756e6428695b615d293b72657475726e20697d7d2872297d76617220753d66756e6374696f6e28297b746869732e636f6e76733d7b7d7d3b752e70726f746f747970652e726f75746553706163653d66756e6374696f6e28742c65297b76617220693d655b305d3b72657475726e20766f696420303d3d3d693f746869732e67657456616c7565732874293a28226e756d626572223d3d747970656f662069262628693d41727261792e70726f746f747970652e736c6963652e63616c6c286529292c746869732e73657456616c75657328742c6929297d2c752e70726f746f747970652e73657456616c7565733d66756e6374696f6e28742c65297b72657475726e20746869732e73706163653d742c746869732e636f6e76733d7b7d2c746869732e636f6e76735b745d3d652c746869737d2c752e70726f746f747970652e67657456616c7565733d66756e6374696f6e2874297b76617220653d746869732e636f6e76735b745d3b6966282165297b76617220693d746869732e73706163652c6e3d746869732e636f6e76735b695d3b653d615b695d5b745d286e292c746869732e636f6e76735b745d3d657d72657475726e20657d2c5b22726762222c2268736c222c22687376222c22636d796b222c226b6579776f7264225d2e666f72456163682866756e6374696f6e2874297b752e70726f746f747970655b745d3d66756e6374696f6e2865297b72657475726e20746869732e726f757465537061636528742c617267756d656e7473297d7d292c652e6578706f7274733d617d2c7b333a337d5d2c353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b616c696365626c75653a5b3234302c3234382c3235355d2c616e746971756577686974653a5b3235302c3233352c3231355d2c617175613a5b302c3235352c3235355d2c617175616d6172696e653a5b3132372c3235352c3231325d2c617a7572653a5b3234302c3235352c3235355d2c62656967653a5b3234352c3234352c3232305d2c6269737175653a5b3235352c3232382c3139365d2c626c61636b3a5b302c302c305d2c626c616e63686564616c6d6f6e643a5b3235352c3233352c3230355d2c626c75653a5b302c302c3235355d2c626c756576696f6c65743a5b3133382c34332c3232365d2c62726f776e3a5b3136352c34322c34325d2c6275726c79776f6f643a5b3232322c3138342c3133355d2c6361646574626c75653a5b39352c3135382c3136305d2c636861727472657573653a5b3132372c3235352c305d2c63686f636f6c6174653a5b3231302c3130352c33305d2c636f72616c3a5b3235352c3132372c38305d2c636f726e666c6f776572626c75653a5b3130302c3134392c3233375d2c636f726e73696c6b3a5b3235352c3234382c3232305d2c6372696d736f6e3a5b3232302c32302c36305d2c6379616e3a5b302c3235352c3235355d2c6461726b626c75653a5b302c302c3133395d2c6461726b6379616e3a5b302c3133392c3133395d2c6461726b676f6c64656e726f643a5b3138342c3133342c31315d2c6461726b677261793a5b3136392c3136392c3136395d2c6461726b677265656e3a5b302c3130302c305d2c6461726b677265793a5b3136392c3136392c3136395d2c6461726b6b68616b693a5b3138392c3138332c3130375d2c6461726b6d6167656e74613a5b3133392c302c3133395d2c6461726b6f6c697665677265656e3a5b38352c3130372c34375d2c6461726b6f72616e67653a5b3235352c3134302c305d2c6461726b6f72636869643a5b3135332c35302c3230345d2c6461726b7265643a5b3133392c302c305d2c6461726b73616c6d6f6e3a5b3233332c3135302c3132325d2c6461726b736561677265656e3a5b3134332c3138382c3134335d2c6461726b736c617465626c75653a5b37322c36312c3133395d2c6461726b736c617465677261793a5b34372c37392c37395d2c6461726b736c617465677265793a5b34372c37392c37395d2c6461726b74757271756f6973653a5b302c3230362c3230395d2c6461726b76696f6c65743a5b3134382c302c3231315d2c6465657070696e6b3a5b3235352c32302c3134375d2c64656570736b79626c75653a5b302c3139312c3235355d2c64696d677261793a5b3130352c3130352c3130355d2c64696d677265793a5b3130352c3130352c3130355d2c646f64676572626c75653a5b33302c3134342c3235355d2c66697265627269636b3a5b3137382c33342c33345d2c666c6f72616c77686974653a5b3235352c3235302c3234305d2c666f72657374677265656e3a5b33342c3133392c33345d2c667563687369613a5b3235352c302c3235355d2c6761696e73626f726f3a5b3232302c3232302c3232305d2c67686f737477686974653a5b3234382c3234382c3235355d2c676f6c643a5b3235352c3231352c305d2c676f6c64656e726f643a5b3231382c3136352c33325d2c677261793a5b3132382c3132382c3132385d2c677265656e3a5b302c3132382c305d2c677265656e79656c6c6f773a5b3137332c3235352c34375d2c677265793a5b3132382c3132382c3132385d2c686f6e65796465773a5b3234302c3235352c3234305d2c686f7470696e6b3a5b3235352c3130352c3138305d2c696e6469616e7265643a5b3230352c39322c39325d2c696e6469676f3a5b37352c302c3133305d2c69766f72793a5b3235352c3235352c3234305d2c6b68616b693a5b3234302c3233302c3134305d2c6c6176656e6465723a5b3233302c3233302c3235305d2c6c6176656e646572626c7573683a5b3235352c3234302c3234355d2c6c61776e677265656e3a5b3132342c3235322c305d2c6c656d6f6e63686966666f6e3a5b3235352c3235302c3230355d2c6c69676874626c75653a5b3137332c3231362c3233305d2c6c69676874636f72616c3a5b3234302c3132382c3132385d2c6c696768746379616e3a5b3232342c3235352c3235355d2c6c69676874676f6c64656e726f6479656c6c6f773a5b3235302c3235302c3231305d2c6c69676874677261793a5b3231312c3231312c3231315d2c6c69676874677265656e3a5b3134342c3233382c3134345d2c6c69676874677265793a5b3231312c3231312c3231315d2c6c6967687470696e6b3a5b3235352c3138322c3139335d2c6c6967687473616c6d6f6e3a5b3235352c3136302c3132325d2c6c69676874736561677265656e3a5b33322c3137382c3137305d2c6c69676874736b79626c75653a5b3133352c3230362c3235305d2c6c69676874736c617465677261793a5b3131392c3133362c3135335d2c6c69676874736c617465677265793a5b3131392c3133362c3135335d2c6c69676874737465656c626c75653a5b3137362c3139362c3232325d2c6c6967687479656c6c6f773a5b3235352c3235352c3232345d2c6c696d653a5b302c3235352c305d2c6c696d65677265656e3a5b35302c3230352c35305d2c6c696e656e3a5b3235302c3234302c3233305d2c6d6167656e74613a5b3235352c302c3235355d2c6d61726f6f6e3a5b3132382c302c305d2c6d656469756d617175616d6172696e653a5b3130322c3230352c3137305d2c6d656469756d626c75653a5b302c302c3230355d2c6d656469756d6f72636869643a5b3138362c38352c3231315d2c6d656469756d707572706c653a5b3134372c3131322c3231395d2c6d656469756d736561677265656e3a5b36302c3137392c3131335d2c6d656469756d736c617465626c75653a5b3132332c3130342c3233385d2c6d656469756d737072696e67677265656e3a5b302c3235302c3135345d2c6d656469756d74757271756f6973653a5b37322c3230392c3230345d2c6d656469756d76696f6c65747265643a5b3139392c32312c3133335d2c6d69646e69676874626c75653a5b32352c32352c3131325d2c6d696e74637265616d3a5b3234352c3235352c3235305d2c6d69737479726f73653a5b3235352c3232382c3232355d2c6d6f63636173696e3a5b3235352c3232382c3138315d2c6e6176616a6f77686974653a5b3235352c3232322c3137335d2c6e6176793a5b302c302c3132385d2c6f6c646c6163653a5b3235332c3234352c3233305d2c6f6c6976653a5b3132382c3132382c305d2c6f6c697665647261623a5b3130372c3134322c33355d2c6f72616e67653a5b3235352c3136352c305d2c6f72616e67657265643a5b3235352c36392c305d2c6f72636869643a5b3231382c3131322c3231345d2c70616c65676f6c64656e726f643a5b3233382c3233322c3137305d2c70616c65677265656e3a5b3135322c3235312c3135325d2c70616c6574757271756f6973653a5b3137352c3233382c3233385d2c70616c6576696f6c65747265643a5b3231392c3131322c3134375d2c706170617961776869703a5b3235352c3233392c3231335d2c7065616368707566663a5b3235352c3231382c3138355d2c706572753a5b3230352c3133332c36335d2c70696e6b3a5b3235352c3139322c3230335d2c706c756d3a5b3232312c3136302c3232315d2c706f77646572626c75653a5b3137362c3232342c3233305d2c707572706c653a5b3132382c302c3132385d2c72656265636361707572706c653a5b3130322c35312c3135335d2c7265643a5b3235352c302c305d2c726f737962726f776e3a5b3138382c3134332c3134335d2c726f79616c626c75653a5b36352c3130352c3232355d2c736164646c6562726f776e3a5b3133392c36392c31395d2c73616c6d6f6e3a5b3235302c3132382c3131345d2c73616e647962726f776e3a5b3234342c3136342c39365d2c736561677265656e3a5b34362c3133392c38375d2c7365617368656c6c3a5b3235352c3234352c3233385d2c7369656e6e613a5b3136302c38322c34355d2c73696c7665723a5b3139322c3139322c3139325d2c736b79626c75653a5b3133352c3230362c3233355d2c736c617465626c75653a5b3130362c39302c3230355d2c736c617465677261793a5b3131322c3132382c3134345d2c736c617465677265793a5b3131322c3132382c3134345d2c736e6f773a5b3235352c3235302c3235305d2c737072696e67677265656e3a5b302c3235352c3132375d2c737465656c626c75653a5b37302c3133302c3138305d2c74616e3a5b3231302c3138302c3134305d2c7465616c3a5b302c3132382c3132385d2c74686973746c653a5b3231362c3139312c3231365d2c746f6d61746f3a5b3235352c39392c37315d2c74757271756f6973653a5b36342c3232342c3230385d2c76696f6c65743a5b3233382c3133302c3233385d2c77686561743a5b3234352c3232322c3137395d2c77686974653a5b3235352c3235352c3235355d2c7768697465736d6f6b653a5b3234352c3234352c3234355d2c79656c6c6f773a5b3235352c3235352c305d2c79656c6c6f77677265656e3a5b3135342c3230352c35305d7d7d2c7b7d5d2c363a5b66756e6374696f6e28742c652c69297b766172206e2c613b6e3d746869732c613d66756e6374696f6e28297b2275736520737472696374223b76617220692c6e3b66756e6374696f6e206128297b72657475726e20692e6170706c79286e756c6c2c617267756d656e7473297d66756e6374696f6e20722874297b72657475726e207420696e7374616e63656f662041727261797c7c225b6f626a6563742041727261795d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e206f2874297b72657475726e206e756c6c213d742626225b6f626a656374204f626a6563745d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e20732874297b72657475726e20766f696420303d3d3d747d66756e6374696f6e206c2874297b72657475726e226e756d626572223d3d747970656f6620747c7c225b6f626a656374204e756d6265725d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e20752874297b72657475726e207420696e7374616e63656f6620446174657c7c225b6f626a65637420446174655d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e206428742c65297b76617220692c6e3d5b5d3b666f7228693d303b693c742e6c656e6774683b2b2b69296e2e70757368286528745b695d2c6929293b72657475726e206e7d66756e6374696f6e206828742c65297b72657475726e204f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c28742c65297d66756e6374696f6e206328742c65297b666f7228766172206920696e2065296828652c6929262628745b695d3d655b695d293b72657475726e206828652c22746f537472696e672229262628742e746f537472696e673d652e746f537472696e67292c6828652c2276616c75654f662229262628742e76616c75654f663d652e76616c75654f66292c747d66756e6374696f6e206628742c652c692c6e297b72657475726e20506528742c652c692c6e2c2130292e75746328297d66756e6374696f6e20672874297b72657475726e206e756c6c3d3d742e5f7066262628742e5f70663d7b656d7074793a21312c756e75736564546f6b656e733a5b5d2c756e75736564496e7075743a5b5d2c6f766572666c6f773a2d322c63686172734c6566744f7665723a302c6e756c6c496e7075743a21312c696e76616c69644d6f6e74683a6e756c6c2c696e76616c6964466f726d61743a21312c75736572496e76616c6964617465643a21312c69736f3a21312c7061727365644461746550617274733a5b5d2c6d6572696469656d3a6e756c6c2c726663323832323a21312c7765656b6461794d69736d617463683a21317d292c742e5f70667d66756e6374696f6e206d2874297b6966286e756c6c3d3d742e5f697356616c6964297b76617220653d672874292c693d6e2e63616c6c28652e7061727365644461746550617274732c66756e6374696f6e2874297b72657475726e206e756c6c213d747d292c613d2169734e614e28742e5f642e67657454696d652829292626652e6f766572666c6f773c30262621652e656d707479262621652e696e76616c69644d6f6e7468262621652e696e76616c69645765656b646179262621652e7765656b6461794d69736d61746368262621652e6e756c6c496e707574262621652e696e76616c6964466f726d6174262621652e75736572496e76616c69646174656426262821652e6d6572696469656d7c7c652e6d6572696469656d262669293b696628742e5f737472696374262628613d612626303d3d3d652e63686172734c6566744f7665722626303d3d3d652e756e75736564546f6b656e732e6c656e6774682626766f696420303d3d3d652e626967486f7572292c6e756c6c213d4f626a6563742e697346726f7a656e26264f626a6563742e697346726f7a656e2874292972657475726e20613b742e5f697356616c69643d617d72657475726e20742e5f697356616c69647d66756e6374696f6e20702874297b76617220653d66284e614e293b72657475726e206e756c6c213d743f6328672865292c74293a672865292e75736572496e76616c6964617465643d21302c657d6e3d41727261792e70726f746f747970652e736f6d653f41727261792e70726f746f747970652e736f6d653a66756e6374696f6e2874297b666f722876617220653d4f626a6563742874686973292c693d652e6c656e6774683e3e3e302c6e3d303b6e3c693b6e2b2b296966286e20696e20652626742e63616c6c28746869732c655b6e5d2c6e2c65292972657475726e21303b72657475726e21317d3b76617220763d612e6d6f6d656e7450726f706572746965733d5b5d3b66756e6374696f6e207928742c65297b76617220692c6e2c613b6966287328652e5f6973414d6f6d656e744f626a656374297c7c28742e5f6973414d6f6d656e744f626a6563743d652e5f6973414d6f6d656e744f626a656374292c7328652e5f69297c7c28742e5f693d652e5f69292c7328652e5f66297c7c28742e5f663d652e5f66292c7328652e5f6c297c7c28742e5f6c3d652e5f6c292c7328652e5f737472696374297c7c28742e5f7374726963743d652e5f737472696374292c7328652e5f747a6d297c7c28742e5f747a6d3d652e5f747a6d292c7328652e5f6973555443297c7c28742e5f69735554433d652e5f6973555443292c7328652e5f6f6666736574297c7c28742e5f6f66667365743d652e5f6f6666736574292c7328652e5f7066297c7c28742e5f70663d67286529292c7328652e5f6c6f63616c65297c7c28742e5f6c6f63616c653d652e5f6c6f63616c65292c762e6c656e6774683e3029666f7228693d303b693c762e6c656e6774683b692b2b297328613d655b6e3d765b695d5d297c7c28745b6e5d3d61293b72657475726e20747d76617220623d21313b66756e6374696f6e20782874297b7928746869732c74292c746869732e5f643d6e65772044617465286e756c6c213d742e5f643f742e5f642e67657454696d6528293a4e614e292c746869732e697356616c696428297c7c28746869732e5f643d6e65772044617465284e614e29292c21313d3d3d62262628623d21302c612e7570646174654f66667365742874686973292c623d2131297d66756e6374696f6e205f2874297b72657475726e207420696e7374616e63656f6620787c7c6e756c6c213d7426266e756c6c213d742e5f6973414d6f6d656e744f626a6563747d66756e6374696f6e206b2874297b72657475726e20743c303f4d6174682e6365696c2874297c7c303a4d6174682e666c6f6f722874297d66756e6374696f6e20772874297b76617220653d2b742c693d303b72657475726e2030213d3d652626697346696e697465286529262628693d6b286529292c697d66756e6374696f6e204d28742c652c69297b766172206e2c613d4d6174682e6d696e28742e6c656e6774682c652e6c656e677468292c723d4d6174682e61627328742e6c656e6774682d652e6c656e677468292c6f3d303b666f72286e3d303b6e3c613b6e2b2b2928692626745b6e5d213d3d655b6e5d7c7c216926267728745b6e5d29213d3d7728655b6e5d292926266f2b2b3b72657475726e206f2b727d66756e6374696f6e20532874297b21313d3d3d612e73757070726573734465707265636174696f6e5761726e696e6773262622756e646566696e656422213d747970656f6620636f6e736f6c652626636f6e736f6c652e7761726e2626636f6e736f6c652e7761726e28224465707265636174696f6e207761726e696e673a20222b74297d66756e6374696f6e204428742c65297b76617220693d21303b72657475726e20632866756e6374696f6e28297b6966286e756c6c213d612e6465707265636174696f6e48616e646c65722626612e6465707265636174696f6e48616e646c6572286e756c6c2c74292c69297b666f7228766172206e2c723d5b5d2c6f3d303b6f3c617267756d656e74732e6c656e6774683b6f2b2b297b6966286e3d22222c226f626a656374223d3d747970656f6620617267756d656e74735b6f5d297b666f7228766172207320696e206e2b3d225c6e5b222b6f2b225d20222c617267756d656e74735b305d296e2b3d732b223a20222b617267756d656e74735b305d5b735d2b222c20223b6e3d6e2e736c69636528302c2d32297d656c7365206e3d617267756d656e74735b6f5d3b722e70757368286e297d5328742b225c6e417267756d656e74733a20222b41727261792e70726f746f747970652e736c6963652e63616c6c2872292e6a6f696e282222292b225c6e222b286e6577204572726f72292e737461636b292c693d21317d72657475726e20652e6170706c7928746869732c617267756d656e7473297d2c65297d76617220432c503d7b7d3b66756e6374696f6e205428742c65297b6e756c6c213d612e6465707265636174696f6e48616e646c65722626612e6465707265636174696f6e48616e646c657228742c65292c505b745d7c7c28532865292c505b745d3d2130297d66756e6374696f6e204f2874297b72657475726e207420696e7374616e63656f662046756e6374696f6e7c7c225b6f626a6563742046756e6374696f6e5d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e204928742c65297b76617220692c6e3d63287b7d2c74293b666f72286920696e2065296828652c69292626286f28745b695d2926266f28655b695d293f286e5b695d3d7b7d2c63286e5b695d2c745b695d292c63286e5b695d2c655b695d29293a6e756c6c213d655b695d3f6e5b695d3d655b695d3a64656c657465206e5b695d293b666f72286920696e2074296828742c69292626216828652c692926266f28745b695d292626286e5b695d3d63287b7d2c6e5b695d29293b72657475726e206e7d66756e6374696f6e20412874297b6e756c6c213d742626746869732e7365742874297d612e73757070726573734465707265636174696f6e5761726e696e67733d21312c612e6465707265636174696f6e48616e646c65723d6e756c6c2c433d4f626a6563742e6b6579733f4f626a6563742e6b6579733a66756e6374696f6e2874297b76617220652c693d5b5d3b666f72286520696e2074296828742c65292626692e707573682865293b72657475726e20697d3b76617220463d7b7d3b66756e6374696f6e205228742c65297b76617220693d742e746f4c6f7765724361736528293b465b695d3d465b692b2273225d3d465b655d3d747d66756e6374696f6e204c2874297b72657475726e22737472696e67223d3d747970656f6620743f465b745d7c7c465b742e746f4c6f7765724361736528295d3a766f696420307d66756e6374696f6e20572874297b76617220652c692c6e3d7b7d3b666f72286920696e2074296828742c6929262628653d4c286929292626286e5b655d3d745b695d293b72657475726e206e7d76617220593d7b7d3b66756e6374696f6e204e28742c65297b595b745d3d657d66756e6374696f6e207a28742c652c69297b766172206e3d22222b4d6174682e6162732874292c613d652d6e2e6c656e6774683b72657475726e28743e3d303f693f222b223a22223a222d22292b4d6174682e706f772831302c4d6174682e6d617828302c6129292e746f537472696e6728292e7375627374722831292b6e7d76617220483d2f285c5b5b5e5c5b5d2a5c5d297c285c5c293f285b48685d6d6d287373293f7c4d6f7c4d4d3f4d3f4d3f7c446f7c4444446f7c44443f443f443f7c6464643f643f7c646f3f7c775b6f7c775d3f7c575b6f7c575d3f7c516f3f7c5959595959597c59595959597c595959597c59597c6767286767673f293f7c4747284747473f293f7c657c457c617c417c68683f7c48483f7c6b6b3f7c6d6d3f7c73733f7c537b312c397d7c787c587c7a7a3f7c5a5a3f7c2e292f672c563d2f285c5b5b5e5c5b5d2a5c5d297c285c5c293f284c54537c4c547c4c4c3f4c3f4c3f7c6c7b312c347d292f672c423d7b7d2c453d7b7d3b66756e6374696f6e206a28742c652c692c6e297b76617220613d6e3b22737472696e67223d3d747970656f66206e262628613d66756e6374696f6e28297b72657475726e20746869735b6e5d28297d292c74262628455b745d3d61292c65262628455b655b305d5d3d66756e6374696f6e28297b72657475726e207a28612e6170706c7928746869732c617267756d656e7473292c655b315d2c655b325d297d292c69262628455b695d3d66756e6374696f6e28297b72657475726e20746869732e6c6f63616c654461746128292e6f7264696e616c28612e6170706c7928746869732c617267756d656e7473292c74297d297d66756e6374696f6e205528742c65297b72657475726e20742e697356616c696428293f28653d7128652c742e6c6f63616c65446174612829292c425b655d3d425b655d7c7c66756e6374696f6e2874297b76617220652c692c6e2c613d742e6d617463682848293b666f7228653d302c693d612e6c656e6774683b653c693b652b2b29455b615b655d5d3f615b655d3d455b615b655d5d3a615b655d3d286e3d615b655d292e6d61746368282f5c5b5b5c735c535d2f293f6e2e7265706c616365282f5e5c5b7c5c5d242f672c2222293a6e2e7265706c616365282f5c5c2f672c2222293b72657475726e2066756e6374696f6e2865297b766172206e2c723d22223b666f72286e3d303b6e3c693b6e2b2b29722b3d4f28615b6e5d293f615b6e5d2e63616c6c28652c74293a615b6e5d3b72657475726e20727d7d2865292c425b655d287429293a742e6c6f63616c654461746128292e696e76616c69644461746528297d66756e6374696f6e207128742c65297b76617220693d353b66756e6374696f6e206e2874297b72657475726e20652e6c6f6e6744617465466f726d61742874297c7c747d666f7228562e6c617374496e6465783d303b693e3d302626562e746573742874293b29743d742e7265706c61636528562c6e292c562e6c617374496e6465783d302c692d3d313b72657475726e20747d76617220473d2f5c642f2c5a3d2f5c645c642f2c583d2f5c647b337d2f2c4a3d2f5c647b347d2f2c4b3d2f5b2b2d5d3f5c647b367d2f2c243d2f5c645c643f2f2c513d2f5c645c645c645c643f2f2c74743d2f5c645c645c645c645c645c643f2f2c65743d2f5c647b312c337d2f2c69743d2f5c647b312c347d2f2c6e743d2f5b2b2d5d3f5c647b312c367d2f2c61743d2f5c642b2f2c72743d2f5b2b2d5d3f5c642b2f2c6f743d2f5a7c5b2b2d5d5c645c643a3f5c645c642f67692c73743d2f5a7c5b2b2d5d5c645c64283f3a3a3f5c645c64293f2f67692c6c743d2f5b302d395d7b302c3235367d5b27612d7a5c75303041302d5c75303546465c75303730302d5c75443746465c75463930302d5c75464443465c75464446302d5c75464630375c75464631302d5c75464645465d7b312c3235367d7c5b5c75303630302d5c75303646465c2f5d7b312c3235367d285c732a3f5b5c75303630302d5c75303646465d7b312c3235367d297b312c327d2f692c75743d7b7d3b66756e6374696f6e20647428742c652c69297b75745b745d3d4f2865293f653a66756e6374696f6e28742c6e297b72657475726e20742626693f693a657d7d66756e6374696f6e20687428742c65297b72657475726e20682875742c74293f75745b745d28652e5f7374726963742c652e5f6c6f63616c65293a6e65772052656745787028637428742e7265706c61636528225c5c222c2222292e7265706c616365282f5c5c285c5b297c5c5c285c5d297c5c5b285b5e5c5d5c5b5d2a295c5d7c5c5c282e292f672c66756e6374696f6e28742c652c692c6e2c61297b72657475726e20657c7c697c7c6e7c7c617d2929297d66756e6374696f6e2063742874297b72657475726e20742e7265706c616365282f5b2d5c2f5c5c5e242a2b3f2e28297c5b5c5d7b7d5d2f672c225c5c242622297d7661722066743d7b7d3b66756e6374696f6e20677428742c65297b76617220692c6e3d653b666f722822737472696e67223d3d747970656f662074262628743d5b745d292c6c2865292626286e3d66756e6374696f6e28742c69297b695b655d3d772874297d292c693d303b693c742e6c656e6774683b692b2b2966745b745b695d5d3d6e7d66756e6374696f6e206d7428742c65297b677428742c66756e6374696f6e28742c692c6e2c61297b6e2e5f773d6e2e5f777c7c7b7d2c6528742c6e2e5f772c6e2c61297d297d7661722070743d302c76743d312c79743d322c62743d332c78743d342c5f743d352c6b743d362c77743d372c4d743d383b66756e6374696f6e2053742874297b72657475726e2044742874293f3336363a3336357d66756e6374696f6e2044742874297b72657475726e207425343d3d3026267425313030213d307c7c74253430303d3d307d6a282259222c302c302c66756e6374696f6e28297b76617220743d746869732e7965617228293b72657475726e20743c3d393939393f22222b743a222b222b747d292c6a28302c5b225959222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e796561722829253130307d292c6a28302c5b2259595959222c345d2c302c227965617222292c6a28302c5b225959595959222c355d2c302c227965617222292c6a28302c5b22595959595959222c362c21305d2c302c227965617222292c52282279656172222c227922292c4e282279656172222c31292c6474282259222c7274292c647428225959222c242c5a292c6474282259595959222c69742c4a292c647428225959595959222c6e742c4b292c64742822595959595959222c6e742c4b292c6774285b225959595959222c22595959595959225d2c7074292c6774282259595959222c66756e6374696f6e28742c65297b655b70745d3d323d3d3d742e6c656e6774683f612e706172736554776f4469676974596561722874293a772874297d292c677428225959222c66756e6374696f6e28742c65297b655b70745d3d612e706172736554776f4469676974596561722874297d292c6774282259222c66756e6374696f6e28742c65297b655b70745d3d7061727365496e7428742c3130297d292c612e706172736554776f4469676974596561723d66756e6374696f6e2874297b72657475726e20772874292b28772874293e36383f313930303a326533297d3b7661722043742c50743d5474282246756c6c59656172222c2130293b66756e6374696f6e20547428742c65297b72657475726e2066756e6374696f6e2869297b72657475726e206e756c6c213d693f28497428746869732c742c69292c612e7570646174654f666673657428746869732c65292c74686973293a4f7428746869732c74297d7d66756e6374696f6e204f7428742c65297b72657475726e20742e697356616c696428293f742e5f645b22676574222b28742e5f69735554433f22555443223a2222292b655d28293a4e614e7d66756e6374696f6e20497428742c652c69297b742e697356616c6964282926262169734e614e2869292626282246756c6c59656172223d3d3d652626447428742e796561722829292626313d3d3d742e6d6f6e74682829262632393d3d3d742e6461746528293f742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b655d28692c742e6d6f6e746828292c417428692c742e6d6f6e7468282929293a742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b655d286929297d66756e6374696f6e20417428742c65297b69662869734e614e2874297c7c69734e614e2865292972657475726e204e614e3b76617220692c6e3d28652528693d3132292b692925693b72657475726e20742b3d28652d6e292f31322c313d3d3d6e3f44742874293f32393a32383a33312d6e253725327d43743d41727261792e70726f746f747970652e696e6465784f663f41727261792e70726f746f747970652e696e6465784f663a66756e6374696f6e2874297b76617220653b666f7228653d303b653c746869732e6c656e6774683b2b2b6529696628746869735b655d3d3d3d742972657475726e20653b72657475726e2d317d2c6a28224d222c5b224d4d222c325d2c224d6f222c66756e6374696f6e28297b72657475726e20746869732e6d6f6e746828292b317d292c6a28224d4d4d222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e6d6f6e74687353686f727428746869732c74297d292c6a28224d4d4d4d222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e6d6f6e74687328746869732c74297d292c5228226d6f6e7468222c224d22292c4e28226d6f6e7468222c38292c647428224d222c24292c647428224d4d222c242c5a292c647428224d4d4d222c66756e6374696f6e28742c65297b72657475726e20652e6d6f6e74687353686f727452656765782874297d292c647428224d4d4d4d222c66756e6374696f6e28742c65297b72657475726e20652e6d6f6e74687352656765782874297d292c6774285b224d222c224d4d225d2c66756e6374696f6e28742c65297b655b76745d3d772874292d317d292c6774285b224d4d4d222c224d4d4d4d225d2c66756e6374696f6e28742c652c692c6e297b76617220613d692e5f6c6f63616c652e6d6f6e746873506172736528742c6e2c692e5f737472696374293b6e756c6c213d613f655b76745d3d613a672869292e696e76616c69644d6f6e74683d747d293b7661722046743d2f445b6f445d3f285c5b5b5e5c5b5c5d5d2a5c5d7c5c73292b4d4d4d4d3f2f2c52743d224a616e756172795f46656272756172795f4d617263685f417072696c5f4d61795f4a756e655f4a756c795f4175677573745f53657074656d6265725f4f63746f6265725f4e6f76656d6265725f446563656d626572222e73706c697428225f22293b766172204c743d224a616e5f4665625f4d61725f4170725f4d61795f4a756e5f4a756c5f4175675f5365705f4f63745f4e6f765f446563222e73706c697428225f22293b66756e6374696f6e20577428742c65297b76617220693b69662821742e697356616c696428292972657475726e20743b69662822737472696e67223d3d747970656f662065296966282f5e5c642b242f2e7465737428652929653d772865293b656c736520696628216c28653d742e6c6f63616c654461746128292e6d6f6e7468735061727365286529292972657475726e20743b72657475726e20693d4d6174682e6d696e28742e6461746528292c417428742e7965617228292c6529292c742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b224d6f6e7468225d28652c69292c747d66756e6374696f6e2059742874297b72657475726e206e756c6c213d743f28577428746869732c74292c612e7570646174654f666673657428746869732c2130292c74686973293a4f7428746869732c224d6f6e746822297d766172204e743d6c743b766172207a743d6c743b66756e6374696f6e20487428297b66756e6374696f6e207428742c65297b72657475726e20652e6c656e6774682d742e6c656e6774687d76617220652c692c6e3d5b5d2c613d5b5d2c723d5b5d3b666f7228653d303b653c31323b652b2b29693d66285b3265332c655d292c6e2e7075736828746869732e6d6f6e74687353686f727428692c222229292c612e7075736828746869732e6d6f6e74687328692c222229292c722e7075736828746869732e6d6f6e74687328692c222229292c722e7075736828746869732e6d6f6e74687353686f727428692c222229293b666f72286e2e736f72742874292c612e736f72742874292c722e736f72742874292c653d303b653c31323b652b2b296e5b655d3d6374286e5b655d292c615b655d3d637428615b655d293b666f7228653d303b653c32343b652b2b29725b655d3d637428725b655d293b746869732e5f6d6f6e74687352656765783d6e65772052656745787028225e28222b722e6a6f696e28227c22292b2229222c226922292c746869732e5f6d6f6e74687353686f727452656765783d746869732e5f6d6f6e74687352656765782c746869732e5f6d6f6e74687353747269637452656765783d6e65772052656745787028225e28222b612e6a6f696e28227c22292b2229222c226922292c746869732e5f6d6f6e74687353686f727453747269637452656765783d6e65772052656745787028225e28222b6e2e6a6f696e28227c22292b2229222c226922297d66756e6374696f6e2056742874297b76617220653d6e6577204461746528446174652e5554432e6170706c79286e756c6c2c617267756d656e747329293b72657475726e20743c3130302626743e3d302626697346696e69746528652e67657455544346756c6c596561722829292626652e73657455544346756c6c596561722874292c657d66756e6374696f6e20427428742c652c69297b766172206e3d372b652d693b72657475726e2d2828372b567428742c302c6e292e67657455544344617928292d65292537292b6e2d317d66756e6374696f6e20457428742c652c692c6e2c61297b76617220722c6f2c733d312b372a28652d31292b28372b692d6e2925372b427428742c6e2c61293b72657475726e20733c3d303f6f3d537428723d742d31292b733a733e53742874293f28723d742b312c6f3d732d5374287429293a28723d742c6f3d73292c7b796561723a722c6461794f66596561723a6f7d7d66756e6374696f6e206a7428742c652c69297b766172206e2c612c723d427428742e7965617228292c652c69292c6f3d4d6174682e666c6f6f722828742e6461794f665965617228292d722d31292f37292b313b72657475726e206f3c313f6e3d6f2b557428613d742e7965617228292d312c652c69293a6f3e557428742e7965617228292c652c69293f286e3d6f2d557428742e7965617228292c652c69292c613d742e7965617228292b31293a28613d742e7965617228292c6e3d6f292c7b7765656b3a6e2c796561723a617d7d66756e6374696f6e20557428742c652c69297b766172206e3d427428742c652c69292c613d427428742b312c652c69293b72657475726e2853742874292d6e2b61292f377d6a282277222c5b227777222c325d2c22776f222c227765656b22292c6a282257222c5b225757222c325d2c22576f222c2269736f5765656b22292c5228227765656b222c227722292c52282269736f5765656b222c225722292c4e28227765656b222c35292c4e282269736f5765656b222c35292c6474282277222c24292c647428227777222c242c5a292c6474282257222c24292c647428225757222c242c5a292c6d74285b2277222c227777222c2257222c225757225d2c66756e6374696f6e28742c652c692c6e297b655b6e2e73756273747228302c31295d3d772874297d293b6a282264222c302c22646f222c2264617922292c6a28226464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b646179734d696e28746869732c74297d292c6a2822646464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b6461797353686f727428746869732c74297d292c6a282264646464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b6461797328746869732c74297d292c6a282265222c302c302c227765656b64617922292c6a282245222c302c302c2269736f5765656b64617922292c522822646179222c226422292c5228227765656b646179222c226522292c52282269736f5765656b646179222c224522292c4e2822646179222c3131292c4e28227765656b646179222c3131292c4e282269736f5765656b646179222c3131292c6474282264222c24292c6474282265222c24292c6474282245222c24292c647428226464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b646179734d696e52656765782874297d292c64742822646464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b6461797353686f727452656765782874297d292c6474282264646464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b6461797352656765782874297d292c6d74285b226464222c22646464222c2264646464225d2c66756e6374696f6e28742c652c692c6e297b76617220613d692e5f6c6f63616c652e7765656b64617973506172736528742c6e2c692e5f737472696374293b6e756c6c213d613f652e643d613a672869292e696e76616c69645765656b6461793d747d292c6d74285b2264222c2265222c2245225d2c66756e6374696f6e28742c652c692c6e297b655b6e5d3d772874297d293b7661722071743d2253756e6461795f4d6f6e6461795f547565736461795f5765646e65736461795f54687572736461795f4672696461795f5361747572646179222e73706c697428225f22293b7661722047743d2253756e5f4d6f6e5f5475655f5765645f5468755f4672695f536174222e73706c697428225f22293b766172205a743d2253755f4d6f5f54755f57655f54685f46725f5361222e73706c697428225f22293b7661722058743d6c743b766172204a743d6c743b766172204b743d6c743b66756e6374696f6e20247428297b66756e6374696f6e207428742c65297b72657475726e20652e6c656e6774682d742e6c656e6774687d76617220652c692c6e2c612c722c6f3d5b5d2c733d5b5d2c6c3d5b5d2c753d5b5d3b666f7228653d303b653c373b652b2b29693d66285b3265332c315d292e6461792865292c6e3d746869732e7765656b646179734d696e28692c2222292c613d746869732e7765656b6461797353686f727428692c2222292c723d746869732e7765656b6461797328692c2222292c6f2e70757368286e292c732e707573682861292c6c2e707573682872292c752e70757368286e292c752e707573682861292c752e707573682872293b666f72286f2e736f72742874292c732e736f72742874292c6c2e736f72742874292c752e736f72742874292c653d303b653c373b652b2b29735b655d3d637428735b655d292c6c5b655d3d6374286c5b655d292c755b655d3d637428755b655d293b746869732e5f7765656b6461797352656765783d6e65772052656745787028225e28222b752e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b6461797353686f727452656765783d746869732e5f7765656b6461797352656765782c746869732e5f7765656b646179734d696e52656765783d746869732e5f7765656b6461797352656765782c746869732e5f7765656b6461797353747269637452656765783d6e65772052656745787028225e28222b6c2e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b6461797353686f727453747269637452656765783d6e65772052656745787028225e28222b732e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b646179734d696e53747269637452656765783d6e65772052656745787028225e28222b6f2e6a6f696e28227c22292b2229222c226922297d66756e6374696f6e20517428297b72657475726e20746869732e686f75727328292531327c7c31327d66756e6374696f6e20746528742c65297b6a28742c302c302c66756e6374696f6e28297b72657475726e20746869732e6c6f63616c654461746128292e6d6572696469656d28746869732e686f75727328292c746869732e6d696e7574657328292c65297d297d66756e6374696f6e20656528742c65297b72657475726e20652e5f6d6572696469656d50617273657d6a282248222c5b224848222c325d2c302c22686f757222292c6a282268222c5b226868222c325d2c302c5174292c6a28226b222c5b226b6b222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e686f75727328297c7c32347d292c6a2822686d6d222c302c302c66756e6374696f6e28297b72657475726e22222b51742e6170706c792874686973292b7a28746869732e6d696e7574657328292c32297d292c6a2822686d6d7373222c302c302c66756e6374696f6e28297b72657475726e22222b51742e6170706c792874686973292b7a28746869732e6d696e7574657328292c32292b7a28746869732e7365636f6e647328292c32297d292c6a2822486d6d222c302c302c66756e6374696f6e28297b72657475726e22222b746869732e686f75727328292b7a28746869732e6d696e7574657328292c32297d292c6a2822486d6d7373222c302c302c66756e6374696f6e28297b72657475726e22222b746869732e686f75727328292b7a28746869732e6d696e7574657328292c32292b7a28746869732e7365636f6e647328292c32297d292c7465282261222c2130292c7465282241222c2131292c522822686f7572222c226822292c4e2822686f7572222c3133292c6474282261222c6565292c6474282241222c6565292c6474282248222c24292c6474282268222c24292c647428226b222c24292c647428224848222c242c5a292c647428226868222c242c5a292c647428226b6b222c242c5a292c64742822686d6d222c51292c64742822686d6d7373222c7474292c64742822486d6d222c51292c64742822486d6d7373222c7474292c6774285b2248222c224848225d2c6274292c6774285b226b222c226b6b225d2c66756e6374696f6e28742c652c69297b766172206e3d772874293b655b62745d3d32343d3d3d6e3f303a6e7d292c6774285b2261222c2241225d2c66756e6374696f6e28742c652c69297b692e5f6973506d3d692e5f6c6f63616c652e6973504d2874292c692e5f6d6572696469656d3d747d292c6774285b2268222c226868225d2c66756e6374696f6e28742c652c69297b655b62745d3d772874292c672869292e626967486f75723d21307d292c67742822686d6d222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e29292c672869292e626967486f75723d21307d292c67742822686d6d7373222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d342c613d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e2c3229292c655b5f745d3d7728742e737562737472286129292c672869292e626967486f75723d21307d292c67742822486d6d222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e29297d292c67742822486d6d7373222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d342c613d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e2c3229292c655b5f745d3d7728742e737562737472286129297d293b7661722069652c6e653d54742822486f757273222c2130292c61653d7b63616c656e6461723a7b73616d654461793a225b546f6461792061745d204c54222c6e6578744461793a225b546f6d6f72726f772061745d204c54222c6e6578745765656b3a2264646464205b61745d204c54222c6c6173744461793a225b5965737465726461792061745d204c54222c6c6173745765656b3a225b4c6173745d2064646464205b61745d204c54222c73616d65456c73653a224c227d2c6c6f6e6744617465466f726d61743a7b4c54533a22683a6d6d3a73732041222c4c543a22683a6d6d2041222c4c3a224d4d2f44442f59595959222c4c4c3a224d4d4d4d20442c2059595959222c4c4c4c3a224d4d4d4d20442c205959595920683a6d6d2041222c4c4c4c4c3a22646464642c204d4d4d4d20442c205959595920683a6d6d2041227d2c696e76616c6964446174653a22496e76616c69642064617465222c6f7264696e616c3a222564222c6461794f664d6f6e74684f7264696e616c50617273653a2f5c647b312c327d2f2c72656c617469766554696d653a7b6675747572653a22696e202573222c706173743a2225732061676f222c733a226120666577207365636f6e6473222c73733a222564207365636f6e6473222c6d3a2261206d696e757465222c6d6d3a222564206d696e75746573222c683a22616e20686f7572222c68683a22256420686f757273222c643a226120646179222c64643a2225642064617973222c4d3a2261206d6f6e7468222c4d4d3a222564206d6f6e746873222c793a22612079656172222c79793a222564207965617273227d2c6d6f6e7468733a52742c6d6f6e74687353686f72743a4c742c7765656b3a7b646f773a302c646f793a367d2c7765656b646179733a71742c7765656b646179734d696e3a5a742c7765656b6461797353686f72743a47742c6d6572696469656d50617273653a2f5b61705d5c2e3f6d3f5c2e3f2f697d2c72653d7b7d2c6f653d7b7d3b66756e6374696f6e2073652874297b72657475726e20743f742e746f4c6f7765724361736528292e7265706c61636528225f222c222d22293a747d66756e6374696f6e206c652869297b766172206e3d6e756c6c3b6966282172655b695d2626766f69642030213d3d652626652626652e6578706f727473297472797b6e3d69652e5f616262722c7428222e2f6c6f63616c652f222b69292c7565286e297d63617463682874297b7d72657475726e2072655b695d7d66756e6374696f6e20756528742c65297b76617220693b72657475726e2074262628693d732865293f68652874293a646528742c65292926262869653d69292c69652e5f616262727d66756e6374696f6e20646528742c65297b6966286e756c6c213d3d65297b76617220693d61653b696628652e616262723d742c6e756c6c213d72655b745d29542822646566696e654c6f63616c654f76657272696465222c22757365206d6f6d656e742e7570646174654c6f63616c65286c6f63616c654e616d652c20636f6e6669672920746f206368616e676520616e206578697374696e67206c6f63616c652e206d6f6d656e742e646566696e654c6f63616c65286c6f63616c654e616d652c20636f6e666967292073686f756c64206f6e6c79206265207573656420666f72206372656174696e672061206e6577206c6f63616c652053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f646566696e652d6c6f63616c652f20666f72206d6f726520696e666f2e22292c693d72655b745d2e5f636f6e6669673b656c7365206966286e756c6c213d652e706172656e744c6f63616c65297b6966286e756c6c3d3d72655b652e706172656e744c6f63616c655d2972657475726e206f655b652e706172656e744c6f63616c655d7c7c286f655b652e706172656e744c6f63616c655d3d5b5d292c6f655b652e706172656e744c6f63616c655d2e70757368287b6e616d653a742c636f6e6669673a657d292c6e756c6c3b693d72655b652e706172656e744c6f63616c655d2e5f636f6e6669677d72657475726e2072655b745d3d6e65772041284928692c6529292c6f655b745d26266f655b745d2e666f72456163682866756e6374696f6e2874297b646528742e6e616d652c742e636f6e666967297d292c75652874292c72655b745d7d72657475726e2064656c6574652072655b745d2c6e756c6c7d66756e6374696f6e2068652874297b76617220653b696628742626742e5f6c6f63616c652626742e5f6c6f63616c652e5f61626272262628743d742e5f6c6f63616c652e5f61626272292c21742972657475726e2069653b6966282172287429297b696628653d6c652874292972657475726e20653b743d5b745d7d72657475726e2066756e6374696f6e2874297b666f722876617220652c692c6e2c612c723d303b723c742e6c656e6774683b297b666f7228653d28613d736528745b725d292e73706c697428222d2229292e6c656e6774682c693d28693d736528745b722b315d29293f692e73706c697428222d22293a6e756c6c3b653e303b297b6966286e3d6c6528612e736c69636528302c65292e6a6f696e28222d2229292972657475726e206e3b696628692626692e6c656e6774683e3d6526264d28612c692c2130293e3d652d3129627265616b3b652d2d7d722b2b7d72657475726e206e756c6c7d2874297d66756e6374696f6e2063652874297b76617220652c693d742e5f613b72657475726e206926262d323d3d3d672874292e6f766572666c6f77262628653d695b76745d3c307c7c695b76745d3e31313f76743a695b79745d3c317c7c695b79745d3e417428695b70745d2c695b76745d293f79743a695b62745d3c307c7c695b62745d3e32347c7c32343d3d3d695b62745d26262830213d3d695b78745d7c7c30213d3d695b5f745d7c7c30213d3d695b6b745d293f62743a695b78745d3c307c7c695b78745d3e35393f78743a695b5f745d3c307c7c695b5f745d3e35393f5f743a695b6b745d3c307c7c695b6b745d3e3939393f6b743a2d312c672874292e5f6f766572666c6f774461794f6659656172262628653c70747c7c653e797429262628653d7974292c672874292e5f6f766572666c6f775765656b7326262d313d3d3d65262628653d7774292c672874292e5f6f766572666c6f775765656b64617926262d313d3d3d65262628653d4d74292c672874292e6f766572666c6f773d65292c747d66756e6374696f6e20666528742c652c69297b72657475726e206e756c6c213d743f743a6e756c6c213d653f653a697d66756e6374696f6e2067652874297b76617220652c692c6e2c722c6f2c733d5b5d3b69662821742e5f64297b766172206c2c753b666f72286c3d742c753d6e6577204461746528612e6e6f772829292c6e3d6c2e5f7573655554433f5b752e67657455544346756c6c5965617228292c752e6765745554434d6f6e746828292c752e6765745554434461746528295d3a5b752e67657446756c6c5965617228292c752e6765744d6f6e746828292c752e6765744461746528295d2c742e5f7726266e756c6c3d3d742e5f615b79745d26266e756c6c3d3d742e5f615b76745d262666756e6374696f6e2874297b76617220652c692c6e2c612c722c6f2c732c6c3b6966286e756c6c213d28653d742e5f77292e47477c7c6e756c6c213d652e577c7c6e756c6c213d652e4529723d312c6f3d342c693d666528652e47472c742e5f615b70745d2c6a7428546528292c312c34292e79656172292c6e3d666528652e572c31292c2828613d666528652e452c3129293c317c7c613e37292626286c3d2130293b656c73657b723d742e5f6c6f63616c652e5f7765656b2e646f772c6f3d742e5f6c6f63616c652e5f7765656b2e646f793b76617220753d6a7428546528292c722c6f293b693d666528652e67672c742e5f615b70745d2c752e79656172292c6e3d666528652e772c752e7765656b292c6e756c6c213d652e643f2828613d652e64293c307c7c613e36292626286c3d2130293a6e756c6c213d652e653f28613d652e652b722c28652e653c307c7c652e653e36292626286c3d213029293a613d727d6e3c317c7c6e3e557428692c722c6f293f672874292e5f6f766572666c6f775765656b733d21303a6e756c6c213d6c3f672874292e5f6f766572666c6f775765656b6461793d21303a28733d457428692c6e2c612c722c6f292c742e5f615b70745d3d732e796561722c742e5f6461794f66596561723d732e6461794f6659656172297d2874292c6e756c6c213d742e5f6461794f66596561722626286f3d666528742e5f615b70745d2c6e5b70745d292c28742e5f6461794f66596561723e5374286f297c7c303d3d3d742e5f6461794f665965617229262628672874292e5f6f766572666c6f774461794f66596561723d2130292c693d5674286f2c302c742e5f6461794f6659656172292c742e5f615b76745d3d692e6765745554434d6f6e746828292c742e5f615b79745d3d692e676574555443446174652829292c653d303b653c3326266e756c6c3d3d742e5f615b655d3b2b2b6529742e5f615b655d3d735b655d3d6e5b655d3b666f72283b653c373b652b2b29742e5f615b655d3d735b655d3d6e756c6c3d3d742e5f615b655d3f323d3d3d653f313a303a742e5f615b655d3b32343d3d3d742e5f615b62745d2626303d3d3d742e5f615b78745d2626303d3d3d742e5f615b5f745d2626303d3d3d742e5f615b6b745d262628742e5f6e6578744461793d21302c742e5f615b62745d3d30292c742e5f643d28742e5f7573655554433f56743a66756e6374696f6e28742c652c692c6e2c612c722c6f297b76617220733d6e6577204461746528742c652c692c6e2c612c722c6f293b72657475726e20743c3130302626743e3d302626697346696e69746528732e67657446756c6c596561722829292626732e73657446756c6c596561722874292c737d292e6170706c79286e756c6c2c73292c723d742e5f7573655554433f742e5f642e67657455544344617928293a742e5f642e67657444617928292c6e756c6c213d742e5f747a6d2626742e5f642e7365745554434d696e7574657328742e5f642e6765745554434d696e7574657328292d742e5f747a6d292c742e5f6e657874446179262628742e5f615b62745d3d3234292c742e5f772626766f69642030213d3d742e5f772e642626742e5f772e64213d3d72262628672874292e7765656b6461794d69736d617463683d2130297d7d766172206d653d2f5e5c732a28283f3a5b2b2d5d5c647b367d7c5c647b347d292d283f3a5c645c642d5c645c647c575c645c642d5c647c575c645c647c5c645c645c647c5c645c642929283f3a28547c2029285c645c64283f3a3a5c645c64283f3a3a5c645c64283f3a5b2e2c5d5c642b293f293f293f29285b5c2b5c2d5d5c645c64283f3a3a3f5c645c64293f7c5c732a5a293f293f242f2c70653d2f5e5c732a28283f3a5b2b2d5d5c647b367d7c5c647b347d29283f3a5c645c645c645c647c575c645c645c647c575c645c647c5c645c645c647c5c645c642929283f3a28547c2029285c645c64283f3a5c645c64283f3a5c645c64283f3a5b2e2c5d5c642b293f293f293f29285b5c2b5c2d5d5c645c64283f3a3a3f5c645c64293f7c5c732a5a293f293f242f2c76653d2f5a7c5b2b2d5d5c645c64283f3a3a3f5c645c64293f2f2c79653d5b5b225959595959592d4d4d2d4444222c2f5b2b2d5d5c647b367d2d5c645c642d5c645c642f5d2c5b22595959592d4d4d2d4444222c2f5c647b347d2d5c645c642d5c645c642f5d2c5b22474747472d5b575d57572d45222c2f5c647b347d2d575c645c642d5c642f5d2c5b22474747472d5b575d5757222c2f5c647b347d2d575c645c642f2c21315d2c5b22595959592d444444222c2f5c647b347d2d5c647b337d2f5d2c5b22595959592d4d4d222c2f5c647b347d2d5c645c642f2c21315d2c5b225959595959594d4d4444222c2f5b2b2d5d5c647b31307d2f5d2c5b22595959594d4d4444222c2f5c647b387d2f5d2c5b22474747475b575d575745222c2f5c647b347d575c647b337d2f5d2c5b22474747475b575d5757222c2f5c647b347d575c647b327d2f2c21315d2c5b2259595959444444222c2f5c647b377d2f5d5d2c62653d5b5b2248483a6d6d3a73732e53535353222c2f5c645c643a5c645c643a5c645c645c2e5c642b2f5d2c5b2248483a6d6d3a73732c53535353222c2f5c645c643a5c645c643a5c645c642c5c642b2f5d2c5b2248483a6d6d3a7373222c2f5c645c643a5c645c643a5c645c642f5d2c5b2248483a6d6d222c2f5c645c643a5c645c642f5d2c5b2248486d6d73732e53535353222c2f5c645c645c645c645c645c645c2e5c642b2f5d2c5b2248486d6d73732c53535353222c2f5c645c645c645c645c645c642c5c642b2f5d2c5b2248486d6d7373222c2f5c645c645c645c645c645c642f5d2c5b2248486d6d222c2f5c645c645c645c642f5d2c5b224848222c2f5c645c642f5d5d2c78653d2f5e5c2f3f446174655c28285c2d3f5c642b292f693b66756e6374696f6e205f652874297b76617220652c692c6e2c612c722c6f2c733d742e5f692c6c3d6d652e657865632873297c7c70652e657865632873293b6966286c297b666f7228672874292e69736f3d21302c653d302c693d79652e6c656e6774683b653c693b652b2b2969662879655b655d5b315d2e65786563286c5b315d29297b613d79655b655d5b305d2c6e3d2131213d3d79655b655d5b325d3b627265616b7d6966286e756c6c3d3d612972657475726e20766f696428742e5f697356616c69643d2131293b6966286c5b335d297b666f7228653d302c693d62652e6c656e6774683b653c693b652b2b2969662862655b655d5b315d2e65786563286c5b335d29297b723d286c5b325d7c7c222022292b62655b655d5b305d3b627265616b7d6966286e756c6c3d3d722972657475726e20766f696428742e5f697356616c69643d2131297d696628216e26266e756c6c213d722972657475726e20766f696428742e5f697356616c69643d2131293b6966286c5b345d297b6966282176652e65786563286c5b345d292972657475726e20766f696428742e5f697356616c69643d2131293b6f3d225a227d742e5f663d612b28727c7c2222292b286f7c7c2222292c44652874297d656c736520742e5f697356616c69643d21317d766172206b653d2f5e283f3a284d6f6e7c5475657c5765647c5468757c4672697c5361747c53756e292c3f5c73293f285c647b312c327d295c73284a616e7c4665627c4d61727c4170727c4d61797c4a756e7c4a756c7c4175677c5365707c4f63747c4e6f767c446563295c73285c647b322c347d295c73285c645c64293a285c645c6429283f3a3a285c645c6429293f5c73283f3a2855547c474d547c5b45434d505d5b53445d54297c285b5a7a5d297c285b2b2d5d5c647b347d2929242f3b66756e6374696f6e20776528742c652c692c6e2c612c72297b766172206f3d5b66756e6374696f6e2874297b76617220653d7061727365496e7428742c3130293b7b696628653c3d34392972657475726e203265332b653b696628653c3d3939392972657475726e20313930302b657d72657475726e20657d2874292c4c742e696e6465784f662865292c7061727365496e7428692c3130292c7061727365496e74286e2c3130292c7061727365496e7428612c3130295d3b72657475726e207226266f2e70757368287061727365496e7428722c313029292c6f7d766172204d653d7b55543a302c474d543a302c4544543a2d3234302c4553543a2d3330302c4344543a2d3330302c4353543a2d3336302c4d44543a2d3336302c4d53543a2d3432302c5044543a2d3432302c5053543a2d3438307d3b66756e6374696f6e2053652874297b76617220652c692c6e2c613d6b652e6578656328742e5f692e7265706c616365282f5c285b5e295d2a5c297c5b5c6e5c745d2f672c222022292e7265706c616365282f285c735c732b292f672c222022292e7472696d2829293b69662861297b76617220723d776528615b345d2c615b335d2c615b325d2c615b355d2c615b365d2c615b375d293b696628653d615b315d2c693d722c6e3d742c65262647742e696e6465784f66286529213d3d6e6577204461746528695b305d2c695b315d2c695b325d292e676574446179282926262867286e292e7765656b6461794d69736d617463683d21302c6e2e5f697356616c69643d21312c31292972657475726e3b742e5f613d722c742e5f747a6d3d66756e6374696f6e28742c652c69297b696628742972657475726e204d655b745d3b696628652972657475726e20303b766172206e3d7061727365496e7428692c3130292c613d6e253130303b72657475726e286e2d61292f3130302a36302b617d28615b385d2c615b395d2c615b31305d292c742e5f643d56742e6170706c79286e756c6c2c742e5f61292c742e5f642e7365745554434d696e7574657328742e5f642e6765745554434d696e7574657328292d742e5f747a6d292c672874292e726663323832323d21307d656c736520742e5f697356616c69643d21317d66756e6374696f6e2044652874297b696628742e5f66213d3d612e49534f5f3836303129696628742e5f66213d3d612e5246435f32383232297b742e5f613d5b5d2c672874292e656d7074793d21303b76617220652c692c6e2c722c6f2c732c6c2c752c643d22222b742e5f692c633d642e6c656e6774682c663d303b666f72286e3d7128742e5f662c742e5f6c6f63616c65292e6d617463682848297c7c5b5d2c653d303b653c6e2e6c656e6774683b652b2b29723d6e5b655d2c28693d28642e6d6174636828687428722c7429297c7c5b5d295b305d29262628286f3d642e73756273747228302c642e696e6465784f6628692929292e6c656e6774683e302626672874292e756e75736564496e7075742e70757368286f292c643d642e736c69636528642e696e6465784f662869292b692e6c656e677468292c662b3d692e6c656e677468292c455b725d3f28693f672874292e656d7074793d21313a672874292e756e75736564546f6b656e732e707573682872292c733d722c753d742c6e756c6c213d286c3d69292626682866742c7329262666745b735d286c2c752e5f612c752c7329293a742e5f737472696374262621692626672874292e756e75736564546f6b656e732e707573682872293b672874292e63686172734c6566744f7665723d632d662c642e6c656e6774683e302626672874292e756e75736564496e7075742e707573682864292c742e5f615b62745d3c3d3132262621303d3d3d672874292e626967486f75722626742e5f615b62745d3e30262628672874292e626967486f75723d766f69642030292c672874292e7061727365644461746550617274733d742e5f612e736c6963652830292c672874292e6d6572696469656d3d742e5f6d6572696469656d2c742e5f615b62745d3d66756e6374696f6e28742c652c69297b766172206e3b6966286e756c6c3d3d692972657475726e20653b72657475726e206e756c6c213d742e6d6572696469656d486f75723f742e6d6572696469656d486f757228652c69293a6e756c6c213d742e6973504d3f28286e3d742e6973504d286929292626653c3132262628652b3d3132292c6e7c7c3132213d3d657c7c28653d30292c65293a657d28742e5f6c6f63616c652c742e5f615b62745d2c742e5f6d6572696469656d292c67652874292c63652874297d656c73652053652874293b656c7365205f652874297d66756e6374696f6e2043652874297b76617220652c692c6e2c682c663d742e5f692c763d742e5f663b72657475726e20742e5f6c6f63616c653d742e5f6c6f63616c657c7c686528742e5f6c292c6e756c6c3d3d3d667c7c766f696420303d3d3d76262622223d3d3d663f70287b6e756c6c496e7075743a21307d293a2822737472696e67223d3d747970656f662066262628742e5f693d663d742e5f6c6f63616c652e7072657061727365286629292c5f2866293f6e65772078286365286629293a28752866293f742e5f643d663a722876293f66756e6374696f6e2874297b76617220652c692c6e2c612c723b696628303d3d3d742e5f662e6c656e6774682972657475726e20672874292e696e76616c6964466f726d61743d21302c766f696428742e5f643d6e65772044617465284e614e29293b666f7228613d303b613c742e5f662e6c656e6774683b612b2b29723d302c653d79287b7d2c74292c6e756c6c213d742e5f757365555443262628652e5f7573655554433d742e5f757365555443292c652e5f663d742e5f665b615d2c44652865292c6d286529262628722b3d672865292e63686172734c6566744f7665722c722b3d31302a672865292e756e75736564546f6b656e732e6c656e6774682c672865292e73636f72653d722c286e756c6c3d3d6e7c7c723c6e292626286e3d722c693d6529293b6328742c697c7c65297d2874293a763f44652874293a7328693d28653d74292e5f69293f652e5f643d6e6577204461746528612e6e6f772829293a752869293f652e5f643d6e6577204461746528692e76616c75654f662829293a22737472696e67223d3d747970656f6620693f286e3d652c6e756c6c3d3d3d28683d78652e65786563286e2e5f6929293f285f65286e292c21313d3d3d6e2e5f697356616c696426262864656c657465206e2e5f697356616c69642c5365286e292c21313d3d3d6e2e5f697356616c696426262864656c657465206e2e5f697356616c69642c612e63726561746546726f6d496e70757446616c6c6261636b286e292929293a6e2e5f643d6e65772044617465282b685b315d29293a722869293f28652e5f613d6428692e736c6963652830292c66756e6374696f6e2874297b72657475726e207061727365496e7428742c3130297d292c6765286529293a6f2869293f66756e6374696f6e2874297b69662821742e5f64297b76617220653d5728742e5f69293b742e5f613d64285b652e796561722c652e6d6f6e74682c652e6461797c7c652e646174652c652e686f75722c652e6d696e7574652c652e7365636f6e642c652e6d696c6c697365636f6e645d2c66756e6374696f6e2874297b72657475726e207426267061727365496e7428742c3130297d292c67652874297d7d2865293a6c2869293f652e5f643d6e657720446174652869293a612e63726561746546726f6d496e70757446616c6c6261636b2865292c6d2874297c7c28742e5f643d6e756c6c292c7429297d66756e6374696f6e20506528742c652c692c6e2c61297b76617220732c6c3d7b7d3b72657475726e2130213d3d6926262131213d3d697c7c286e3d692c693d766f69642030292c286f287429262666756e6374696f6e2874297b6966284f626a6563742e6765744f776e50726f70657274794e616d65732972657475726e20303d3d3d4f626a6563742e6765744f776e50726f70657274794e616d65732874292e6c656e6774683b76617220653b666f72286520696e207429696628742e6861734f776e50726f70657274792865292972657475726e21313b72657475726e21307d2874297c7c722874292626303d3d3d742e6c656e67746829262628743d766f69642030292c6c2e5f6973414d6f6d656e744f626a6563743d21302c6c2e5f7573655554433d6c2e5f69735554433d612c6c2e5f6c3d692c6c2e5f693d742c6c2e5f663d652c6c2e5f7374726963743d6e2c28733d6e65772078286365284365286c292929292e5f6e657874446179262628732e61646428312c226422292c732e5f6e6578744461793d766f69642030292c737d66756e6374696f6e20546528742c652c692c6e297b72657475726e20506528742c652c692c6e2c2131297d612e63726561746546726f6d496e70757446616c6c6261636b3d44282276616c75652070726f7669646564206973206e6f7420696e2061207265636f676e697a65642052464332383232206f722049534f20666f726d61742e206d6f6d656e7420636f6e737472756374696f6e2066616c6c73206261636b20746f206a73204461746528292c207768696368206973206e6f742072656c6961626c65206163726f737320616c6c2062726f777365727320616e642076657273696f6e732e204e6f6e20524643323832322f49534f206461746520666f726d6174732061726520646973636f75726167656420616e642077696c6c2062652072656d6f76656420696e20616e207570636f6d696e67206d616a6f722072656c656173652e20506c6561736520726566657220746f20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6a732d646174652f20666f72206d6f726520696e666f2e222c66756e6374696f6e2874297b742e5f643d6e6577204461746528742e5f692b28742e5f7573655554433f2220555443223a222229297d292c612e49534f5f383630313d66756e6374696f6e28297b7d2c612e5246435f323832323d66756e6374696f6e28297b7d3b766172204f653d4428226d6f6d656e7428292e6d696e20697320646570726563617465642c20757365206d6f6d656e742e6d617820696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6d696e2d6d61782f222c66756e6374696f6e28297b76617220743d54652e6170706c79286e756c6c2c617267756d656e7473293b72657475726e20746869732e697356616c696428292626742e697356616c696428293f743c746869733f746869733a743a7028297d292c49653d4428226d6f6d656e7428292e6d617820697320646570726563617465642c20757365206d6f6d656e742e6d696e20696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6d696e2d6d61782f222c66756e6374696f6e28297b76617220743d54652e6170706c79286e756c6c2c617267756d656e7473293b72657475726e20746869732e697356616c696428292626742e697356616c696428293f743e746869733f746869733a743a7028297d293b66756e6374696f6e20416528742c65297b76617220692c6e3b696628313d3d3d652e6c656e67746826267228655b305d29262628653d655b305d292c21652e6c656e6774682972657475726e20546528293b666f7228693d655b305d2c6e3d313b6e3c652e6c656e6774683b2b2b6e29655b6e5d2e697356616c69642829262621655b6e5d5b745d2869297c7c28693d655b6e5d293b72657475726e20697d7661722046653d5b2279656172222c2271756172746572222c226d6f6e7468222c227765656b222c22646179222c22686f7572222c226d696e757465222c227365636f6e64222c226d696c6c697365636f6e64225d3b66756e6374696f6e2052652874297b76617220653d572874292c693d652e796561727c7c302c6e3d652e717561727465727c7c302c613d652e6d6f6e74687c7c302c723d652e7765656b7c7c302c6f3d652e6461797c7c302c733d652e686f75727c7c302c6c3d652e6d696e7574657c7c302c753d652e7365636f6e647c7c302c643d652e6d696c6c697365636f6e647c7c303b746869732e5f697356616c69643d66756e6374696f6e2874297b666f7228766172206520696e2074296966282d313d3d3d43742e63616c6c2846652c65297c7c6e756c6c213d745b655d262669734e614e28745b655d292972657475726e21313b666f722876617220693d21312c6e3d303b6e3c46652e6c656e6774683b2b2b6e29696628745b46655b6e5d5d297b696628692972657475726e21313b7061727365466c6f617428745b46655b6e5d5d29213d3d7728745b46655b6e5d5d29262628693d2130297d72657475726e21307d2865292c746869732e5f6d696c6c697365636f6e64733d2b642b3165332a752b3665342a6c2b3165332a732a36302a36302c746869732e5f646179733d2b6f2b372a722c746869732e5f6d6f6e7468733d2b612b332a6e2b31322a692c746869732e5f646174613d7b7d2c746869732e5f6c6f63616c653d686528292c746869732e5f627562626c6528297d66756e6374696f6e204c652874297b72657475726e207420696e7374616e63656f662052657d66756e6374696f6e2057652874297b72657475726e20743c303f2d312a4d6174682e726f756e64282d312a74293a4d6174682e726f756e642874297d66756e6374696f6e20596528742c65297b6a28742c302c302c66756e6374696f6e28297b76617220743d746869732e7574634f666673657428292c693d222b223b72657475726e20743c30262628743d2d742c693d222d22292c692b7a287e7e28742f3630292c32292b652b7a287e7e742536302c32297d297d596528225a222c223a22292c596528225a5a222c2222292c647428225a222c7374292c647428225a5a222c7374292c6774285b225a222c225a5a225d2c66756e6374696f6e28742c652c69297b692e5f7573655554433d21302c692e5f747a6d3d7a652873742c74297d293b766172204e653d2f285b5c2b5c2d5d7c5c645c64292f67693b66756e6374696f6e207a6528742c65297b76617220693d28657c7c2222292e6d617463682874293b6966286e756c6c3d3d3d692972657475726e206e756c6c3b766172206e3d2828695b692e6c656e6774682d315d7c7c5b5d292b2222292e6d61746368284e65297c7c5b222d222c302c305d2c613d36302a6e5b315d2b77286e5b325d293b72657475726e20303d3d3d613f303a222b223d3d3d6e5b305d3f613a2d617d66756e6374696f6e20486528742c65297b76617220692c6e3b72657475726e20652e5f69735554433f28693d652e636c6f6e6528292c6e3d285f2874297c7c752874293f742e76616c75654f6628293a54652874292e76616c75654f662829292d692e76616c75654f6628292c692e5f642e73657454696d6528692e5f642e76616c75654f6628292b6e292c612e7570646174654f666673657428692c2131292c69293a54652874292e6c6f63616c28297d66756e6374696f6e2056652874297b72657475726e2031352a2d4d6174682e726f756e6428742e5f642e67657454696d657a6f6e654f666673657428292f3135297d66756e6374696f6e20426528297b72657475726e2121746869732e697356616c69642829262628746869732e5f69735554432626303d3d3d746869732e5f6f6666736574297d612e7570646174654f66667365743d66756e6374696f6e28297b7d3b7661722045653d2f5e285c2d7c5c2b293f283f3a285c642a295b2e205d293f285c642b295c3a285c642b29283f3a5c3a285c642b29285c2e5c642a293f293f242f2c6a653d2f5e282d7c5c2b293f50283f3a285b2d2b5d3f5b302d392c2e5d2a2959293f283f3a285b2d2b5d3f5b302d392c2e5d2a294d293f283f3a285b2d2b5d3f5b302d392c2e5d2a2957293f283f3a285b2d2b5d3f5b302d392c2e5d2a2944293f283f3a54283f3a285b2d2b5d3f5b302d392c2e5d2a2948293f283f3a285b2d2b5d3f5b302d392c2e5d2a294d293f283f3a285b2d2b5d3f5b302d392c2e5d2a2953293f293f242f3b66756e6374696f6e20556528742c65297b76617220692c6e2c612c723d742c6f3d6e756c6c3b72657475726e204c652874293f723d7b6d733a742e5f6d696c6c697365636f6e64732c643a742e5f646179732c4d3a742e5f6d6f6e7468737d3a6c2874293f28723d7b7d2c653f725b655d3d743a722e6d696c6c697365636f6e64733d74293a286f3d45652e65786563287429293f28693d222d223d3d3d6f5b315d3f2d313a312c723d7b793a302c643a77286f5b79745d292a692c683a77286f5b62745d292a692c6d3a77286f5b78745d292a692c733a77286f5b5f745d292a692c6d733a77285765283165332a6f5b6b745d29292a697d293a286f3d6a652e65786563287429293f28693d222d223d3d3d6f5b315d3f2d313a286f5b315d2c31292c723d7b793a7165286f5b325d2c69292c4d3a7165286f5b335d2c69292c773a7165286f5b345d2c69292c643a7165286f5b355d2c69292c683a7165286f5b365d2c69292c6d3a7165286f5b375d2c69292c733a7165286f5b385d2c69297d293a6e756c6c3d3d723f723d7b7d3a226f626a656374223d3d747970656f6620722626282266726f6d22696e20727c7c22746f22696e207229262628613d66756e6374696f6e28742c65297b76617220693b69662821742e697356616c696428297c7c21652e697356616c696428292972657475726e7b6d696c6c697365636f6e64733a302c6d6f6e7468733a307d3b653d486528652c74292c742e69734265666f72652865293f693d476528742c65293a2828693d476528652c7429292e6d696c6c697365636f6e64733d2d692e6d696c6c697365636f6e64732c692e6d6f6e7468733d2d692e6d6f6e746873293b72657475726e20697d28546528722e66726f6d292c546528722e746f29292c28723d7b7d292e6d733d612e6d696c6c697365636f6e64732c722e4d3d612e6d6f6e746873292c6e3d6e65772052652872292c4c6528742926266828742c225f6c6f63616c6522292626286e2e5f6c6f63616c653d742e5f6c6f63616c65292c6e7d66756e6374696f6e20716528742c65297b76617220693d7426267061727365466c6f617428742e7265706c61636528222c222c222e2229293b72657475726e2869734e614e2869293f303a69292a657d66756e6374696f6e20476528742c65297b76617220693d7b6d696c6c697365636f6e64733a302c6d6f6e7468733a307d3b72657475726e20692e6d6f6e7468733d652e6d6f6e746828292d742e6d6f6e746828292b31322a28652e7965617228292d742e796561722829292c742e636c6f6e6528292e61646428692e6d6f6e7468732c224d22292e6973416674657228652926262d2d692e6d6f6e7468732c692e6d696c6c697365636f6e64733d2b652d2b742e636c6f6e6528292e61646428692e6d6f6e7468732c224d22292c697d66756e6374696f6e205a6528742c65297b72657475726e2066756e6374696f6e28692c6e297b76617220613b72657475726e206e756c6c3d3d3d6e7c7c69734e614e282b6e297c7c285428652c226d6f6d656e7428292e222b652b2228706572696f642c206e756d6265722920697320646570726563617465642e20506c6561736520757365206d6f6d656e7428292e222b652b22286e756d6265722c20706572696f64292e2053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6164642d696e7665727465642d706172616d2f20666f72206d6f726520696e666f2e22292c613d692c693d6e2c6e3d61292c586528746869732c556528693d22737472696e67223d3d747970656f6620693f2b693a692c6e292c74292c746869737d7d66756e6374696f6e20586528742c652c692c6e297b76617220723d652e5f6d696c6c697365636f6e64732c6f3d576528652e5f64617973292c733d576528652e5f6d6f6e746873293b742e697356616c696428292626286e3d6e756c6c3d3d6e7c7c6e2c732626577428742c4f7428742c224d6f6e746822292b732a69292c6f2626497428742c2244617465222c4f7428742c224461746522292b6f2a69292c722626742e5f642e73657454696d6528742e5f642e76616c75654f6628292b722a69292c6e2626612e7570646174654f666673657428742c6f7c7c7329297d55652e666e3d52652e70726f746f747970652c55652e696e76616c69643d66756e6374696f6e28297b72657475726e205565284e614e297d3b766172204a653d5a6528312c2261646422292c4b653d5a65282d312c22737562747261637422293b66756e6374696f6e20246528742c65297b76617220693d31322a28652e7965617228292d742e796561722829292b28652e6d6f6e746828292d742e6d6f6e74682829292c6e3d742e636c6f6e6528292e61646428692c226d6f6e74687322293b72657475726e2d28692b28652d6e3c303f28652d6e292f286e2d742e636c6f6e6528292e61646428692d312c226d6f6e7468732229293a28652d6e292f28742e636c6f6e6528292e61646428692b312c226d6f6e74687322292d6e2929297c7c307d66756e6374696f6e2051652874297b76617220653b72657475726e20766f696420303d3d3d743f746869732e5f6c6f63616c652e5f616262723a286e756c6c213d28653d686528742929262628746869732e5f6c6f63616c653d65292c74686973297d612e64656661756c74466f726d61743d22595959592d4d4d2d44445448483a6d6d3a73735a222c612e64656661756c74466f726d61745574633d22595959592d4d4d2d44445448483a6d6d3a73735b5a5d223b7661722074693d4428226d6f6d656e7428292e6c616e67282920697320646570726563617465642e20496e73746561642c20757365206d6f6d656e7428292e6c6f63616c6544617461282920746f2067657420746865206c616e677561676520636f6e66696775726174696f6e2e20557365206d6f6d656e7428292e6c6f63616c65282920746f206368616e6765206c616e6775616765732e222c66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f746869732e6c6f63616c654461746128293a746869732e6c6f63616c652874297d293b66756e6374696f6e20656928297b72657475726e20746869732e5f6c6f63616c657d66756e6374696f6e20696928742c65297b6a28302c5b742c742e6c656e6774685d2c302c65297d66756e6374696f6e206e6928742c652c692c6e2c61297b76617220723b72657475726e206e756c6c3d3d743f6a7428746869732c6e2c61292e796561723a28653e28723d557428742c6e2c612929262628653d72292c66756e6374696f6e28742c652c692c6e2c61297b76617220723d457428742c652c692c6e2c61292c6f3d567428722e796561722c302c722e6461794f6659656172293b72657475726e20746869732e79656172286f2e67657455544346756c6c596561722829292c746869732e6d6f6e7468286f2e6765745554434d6f6e74682829292c746869732e64617465286f2e676574555443446174652829292c746869737d2e63616c6c28746869732c742c652c692c6e2c6129297d6a28302c5b226767222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e7765656b596561722829253130307d292c6a28302c5b224747222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e69736f5765656b596561722829253130307d292c6969282267676767222c227765656b5965617222292c696928226767676767222c227765656b5965617222292c6969282247474747222c2269736f5765656b5965617222292c696928224747474747222c2269736f5765656b5965617222292c5228227765656b59656172222c22676722292c52282269736f5765656b59656172222c22474722292c4e28227765656b59656172222c31292c4e282269736f5765656b59656172222c31292c6474282247222c7274292c6474282267222c7274292c647428224747222c242c5a292c647428226767222c242c5a292c6474282247474747222c69742c4a292c6474282267676767222c69742c4a292c647428224747474747222c6e742c4b292c647428226767676767222c6e742c4b292c6d74285b2267676767222c226767676767222c2247474747222c224747474747225d2c66756e6374696f6e28742c652c692c6e297b655b6e2e73756273747228302c32295d3d772874297d292c6d74285b226767222c224747225d2c66756e6374696f6e28742c652c692c6e297b655b6e5d3d612e706172736554776f4469676974596561722874297d292c6a282251222c302c22516f222c227175617274657222292c52282271756172746572222c225122292c4e282271756172746572222c37292c6474282251222c47292c6774282251222c66756e6374696f6e28742c65297b655b76745d3d332a28772874292d31297d292c6a282244222c5b224444222c325d2c22446f222c226461746522292c52282264617465222c224422292c4e282264617465222c39292c6474282244222c24292c647428224444222c242c5a292c64742822446f222c66756e6374696f6e28742c65297b72657475726e20743f652e5f6461794f664d6f6e74684f7264696e616c50617273657c7c652e5f6f7264696e616c50617273653a652e5f6461794f664d6f6e74684f7264696e616c50617273654c656e69656e747d292c6774285b2244222c224444225d2c7974292c67742822446f222c66756e6374696f6e28742c65297b655b79745d3d7728742e6d617463682824295b305d297d293b7661722061693d5474282244617465222c2130293b6a2822444444222c5b2244444444222c335d2c224444446f222c226461794f665965617222292c5228226461794f6659656172222c2244444422292c4e28226461794f6659656172222c34292c64742822444444222c6574292c6474282244444444222c58292c6774285b22444444222c2244444444225d2c66756e6374696f6e28742c652c69297b692e5f6461794f66596561723d772874297d292c6a28226d222c5b226d6d222c325d2c302c226d696e75746522292c5228226d696e757465222c226d22292c4e28226d696e757465222c3134292c647428226d222c24292c647428226d6d222c242c5a292c6774285b226d222c226d6d225d2c7874293b7661722072693d547428224d696e75746573222c2131293b6a282273222c5b227373222c325d2c302c227365636f6e6422292c5228227365636f6e64222c227322292c4e28227365636f6e64222c3135292c6474282273222c24292c647428227373222c242c5a292c6774285b2273222c227373225d2c5f74293b766172206f692c73693d547428225365636f6e6473222c2131293b666f72286a282253222c302c302c66756e6374696f6e28297b72657475726e7e7e28746869732e6d696c6c697365636f6e6428292f313030297d292c6a28302c5b225353222c325d2c302c66756e6374696f6e28297b72657475726e7e7e28746869732e6d696c6c697365636f6e6428292f3130297d292c6a28302c5b22535353222c335d2c302c226d696c6c697365636f6e6422292c6a28302c5b2253535353222c345d2c302c66756e6374696f6e28297b72657475726e2031302a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b225353535353222c355d2c302c66756e6374696f6e28297b72657475726e203130302a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b22535353535353222c365d2c302c66756e6374696f6e28297b72657475726e203165332a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b2253535353535353222c375d2c302c66756e6374696f6e28297b72657475726e203165342a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b225353535353535353222c385d2c302c66756e6374696f6e28297b72657475726e203165352a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b22535353535353535353222c395d2c302c66756e6374696f6e28297b72657475726e203165362a746869732e6d696c6c697365636f6e6428297d292c5228226d696c6c697365636f6e64222c226d7322292c4e28226d696c6c697365636f6e64222c3136292c6474282253222c65742c47292c647428225353222c65742c5a292c64742822535353222c65742c58292c6f693d2253535353223b6f692e6c656e6774683c3d393b6f692b3d225322296474286f692c6174293b66756e6374696f6e206c6928742c65297b655b6b745d3d77283165332a2822302e222b7429297d666f72286f693d2253223b6f692e6c656e6774683c3d393b6f692b3d225322296774286f692c6c69293b7661722075693d547428224d696c6c697365636f6e6473222c2131293b6a28227a222c302c302c227a6f6e654162627222292c6a28227a7a222c302c302c227a6f6e654e616d6522293b7661722064693d782e70726f746f747970653b66756e6374696f6e2068692874297b72657475726e20747d64692e6164643d4a652c64692e63616c656e6461723d66756e6374696f6e28742c65297b76617220693d747c7c546528292c6e3d486528692c74686973292e73746172744f66282264617922292c723d612e63616c656e646172466f726d617428746869732c6e297c7c2273616d65456c7365222c6f3d652626284f28655b725d293f655b725d2e63616c6c28746869732c69293a655b725d293b72657475726e20746869732e666f726d6174286f7c7c746869732e6c6f63616c654461746128292e63616c656e64617228722c746869732c546528692929297d2c64692e636c6f6e653d66756e6374696f6e28297b72657475726e206e657720782874686973297d2c64692e646966663d66756e6374696f6e28742c652c69297b766172206e2c612c723b69662821746869732e697356616c696428292972657475726e204e614e3b69662821286e3d486528742c7468697329292e697356616c696428292972657475726e204e614e3b73776974636828613d3665342a286e2e7574634f666673657428292d746869732e7574634f66667365742829292c653d4c286529297b636173652279656172223a723d246528746869732c6e292f31323b627265616b3b63617365226d6f6e7468223a723d246528746869732c6e293b627265616b3b636173652271756172746572223a723d246528746869732c6e292f333b627265616b3b63617365227365636f6e64223a723d28746869732d6e292f3165333b627265616b3b63617365226d696e757465223a723d28746869732d6e292f3665343b627265616b3b6361736522686f7572223a723d28746869732d6e292f333665353b627265616b3b6361736522646179223a723d28746869732d6e2d61292f38363465353b627265616b3b63617365227765656b223a723d28746869732d6e2d61292f3630343865353b627265616b3b64656661756c743a723d746869732d6e7d72657475726e20693f723a6b2872297d2c64692e656e644f663d66756e6374696f6e2874297b72657475726e20766f696420303d3d3d28743d4c287429297c7c226d696c6c697365636f6e64223d3d3d743f746869733a282264617465223d3d3d74262628743d2264617922292c746869732e73746172744f662874292e61646428312c2269736f5765656b223d3d3d743f227765656b223a74292e737562747261637428312c226d732229297d2c64692e666f726d61743d66756e6374696f6e2874297b747c7c28743d746869732e697355746328293f612e64656661756c74466f726d61745574633a612e64656661756c74466f726d6174293b76617220653d5528746869732c74293b72657475726e20746869732e6c6f63616c654461746128292e706f7374666f726d61742865297d2c64692e66726f6d3d66756e6374696f6e28742c65297b72657475726e20746869732e697356616c696428292626285f2874292626742e697356616c696428297c7c54652874292e697356616c69642829293f5565287b746f3a746869732c66726f6d3a747d292e6c6f63616c6528746869732e6c6f63616c652829292e68756d616e697a65282165293a746869732e6c6f63616c654461746128292e696e76616c69644461746528297d2c64692e66726f6d4e6f773d66756e6374696f6e2874297b72657475726e20746869732e66726f6d28546528292c74297d2c64692e746f3d66756e6374696f6e28742c65297b72657475726e20746869732e697356616c696428292626285f2874292626742e697356616c696428297c7c54652874292e697356616c69642829293f5565287b66726f6d3a746869732c746f3a747d292e6c6f63616c6528746869732e6c6f63616c652829292e68756d616e697a65282165293a746869732e6c6f63616c654461746128292e696e76616c69644461746528297d2c64692e746f4e6f773d66756e6374696f6e2874297b72657475726e20746869732e746f28546528292c74297d2c64692e6765743d66756e6374696f6e2874297b72657475726e204f28746869735b743d4c2874295d293f746869735b745d28293a746869737d2c64692e696e76616c696441743d66756e6374696f6e28297b72657475726e20672874686973292e6f766572666c6f777d2c64692e697341667465723d66756e6374696f6e28742c65297b76617220693d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c21692e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28732865293f226d696c6c697365636f6e64223a6529293f746869732e76616c75654f6628293e692e76616c75654f6628293a692e76616c75654f6628293c746869732e636c6f6e6528292e73746172744f662865292e76616c75654f662829297d2c64692e69734265666f72653d66756e6374696f6e28742c65297b76617220693d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c21692e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28732865293f226d696c6c697365636f6e64223a6529293f746869732e76616c75654f6628293c692e76616c75654f6628293a746869732e636c6f6e6528292e656e644f662865292e76616c75654f6628293c692e76616c75654f662829297d2c64692e69734265747765656e3d66756e6374696f6e28742c652c692c6e297b72657475726e282228223d3d3d286e3d6e7c7c22282922295b305d3f746869732e6973416674657228742c69293a21746869732e69734265666f726528742c6929292626282229223d3d3d6e5b315d3f746869732e69734265666f726528652c69293a21746869732e6973416674657228652c6929297d2c64692e697353616d653d66756e6374696f6e28742c65297b76617220692c6e3d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c216e2e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28657c7c226d696c6c697365636f6e642229293f746869732e76616c75654f6628293d3d3d6e2e76616c75654f6628293a28693d6e2e76616c75654f6628292c746869732e636c6f6e6528292e73746172744f662865292e76616c75654f6628293c3d692626693c3d746869732e636c6f6e6528292e656e644f662865292e76616c75654f66282929297d2c64692e697353616d654f7241667465723d66756e6374696f6e28742c65297b72657475726e20746869732e697353616d6528742c65297c7c746869732e6973416674657228742c65297d2c64692e697353616d654f724265666f72653d66756e6374696f6e28742c65297b72657475726e20746869732e697353616d6528742c65297c7c746869732e69734265666f726528742c65297d2c64692e697356616c69643d66756e6374696f6e28297b72657475726e206d2874686973297d2c64692e6c616e673d74692c64692e6c6f63616c653d51652c64692e6c6f63616c65446174613d65692c64692e6d61783d49652c64692e6d696e3d4f652c64692e70617273696e67466c6167733d66756e6374696f6e28297b72657475726e2063287b7d2c67287468697329297d2c64692e7365743d66756e6374696f6e28742c65297b696628226f626a656374223d3d747970656f66207429666f722876617220693d66756e6374696f6e2874297b76617220653d5b5d3b666f7228766172206920696e207429652e70757368287b756e69743a692c7072696f726974793a595b695d7d293b72657475726e20652e736f72742866756e6374696f6e28742c65297b72657475726e20742e7072696f726974792d652e7072696f726974797d292c657d28743d57287429292c6e3d303b6e3c692e6c656e6774683b6e2b2b29746869735b695b6e5d2e756e69745d28745b695b6e5d2e756e69745d293b656c7365206966284f28746869735b743d4c2874295d292972657475726e20746869735b745d2865293b72657475726e20746869737d2c64692e73746172744f663d66756e6374696f6e2874297b73776974636828743d4c287429297b636173652279656172223a746869732e6d6f6e74682830293b636173652271756172746572223a63617365226d6f6e7468223a746869732e646174652831293b63617365227765656b223a636173652269736f5765656b223a6361736522646179223a636173652264617465223a746869732e686f7572732830293b6361736522686f7572223a746869732e6d696e757465732830293b63617365226d696e757465223a746869732e7365636f6e64732830293b63617365227365636f6e64223a746869732e6d696c6c697365636f6e64732830297d72657475726e227765656b223d3d3d742626746869732e7765656b6461792830292c2269736f5765656b223d3d3d742626746869732e69736f5765656b6461792831292c2271756172746572223d3d3d742626746869732e6d6f6e746828332a4d6174682e666c6f6f7228746869732e6d6f6e746828292f3329292c746869737d2c64692e73756274726163743d4b652c64692e746f41727261793d66756e6374696f6e28297b76617220743d746869733b72657475726e5b742e7965617228292c742e6d6f6e746828292c742e6461746528292c742e686f757228292c742e6d696e75746528292c742e7365636f6e6428292c742e6d696c6c697365636f6e6428295d7d2c64692e746f4f626a6563743d66756e6374696f6e28297b76617220743d746869733b72657475726e7b79656172733a742e7965617228292c6d6f6e7468733a742e6d6f6e746828292c646174653a742e6461746528292c686f7572733a742e686f75727328292c6d696e757465733a742e6d696e7574657328292c7365636f6e64733a742e7365636f6e647328292c6d696c6c697365636f6e64733a742e6d696c6c697365636f6e647328297d7d2c64692e746f446174653d66756e6374696f6e28297b72657475726e206e6577204461746528746869732e76616c75654f662829297d2c64692e746f49534f537472696e673d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c3b76617220653d2130213d3d742c693d653f746869732e636c6f6e6528292e75746328293a746869733b72657475726e20692e7965617228293c307c7c692e7965617228293e393939393f5528692c653f225959595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535b5a5d223a225959595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535a22293a4f28446174652e70726f746f747970652e746f49534f537472696e67293f653f746869732e746f4461746528292e746f49534f537472696e6728293a6e6577204461746528746869732e5f642e76616c75654f662829292e746f49534f537472696e6728292e7265706c61636528225a222c5528692c225a2229293a5528692c653f22595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535b5a5d223a22595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535a22297d2c64692e696e73706563743d66756e6374696f6e28297b69662821746869732e697356616c696428292972657475726e226d6f6d656e742e696e76616c6964282f2a20222b746869732e5f692b22202a2f29223b76617220743d226d6f6d656e74222c653d22223b746869732e69734c6f63616c28297c7c28743d303d3d3d746869732e7574634f666673657428293f226d6f6d656e742e757463223a226d6f6d656e742e70617273655a6f6e65222c653d225a22293b76617220693d225b222b742b2728225d272c6e3d303c3d746869732e7965617228292626746869732e7965617228293c3d393939393f2259595959223a22595959595959222c613d652b275b22295d273b72657475726e20746869732e666f726d617428692b6e2b222d4d4d2d44445b545d48483a6d6d3a73732e535353222b61297d2c64692e746f4a534f4e3d66756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e746f49534f537472696e6728293a6e756c6c7d2c64692e746f537472696e673d66756e6374696f6e28297b72657475726e20746869732e636c6f6e6528292e6c6f63616c652822656e22292e666f726d61742822646464204d4d4d20444420595959592048483a6d6d3a7373205b474d545d5a5a22297d2c64692e756e69783d66756e6374696f6e28297b72657475726e204d6174682e666c6f6f7228746869732e76616c75654f6628292f316533297d2c64692e76616c75654f663d66756e6374696f6e28297b72657475726e20746869732e5f642e76616c75654f6628292d3665342a28746869732e5f6f66667365747c7c30297d2c64692e6372656174696f6e446174613d66756e6374696f6e28297b72657475726e7b696e7075743a746869732e5f692c666f726d61743a746869732e5f662c6c6f63616c653a746869732e5f6c6f63616c652c69735554433a746869732e5f69735554432c7374726963743a746869732e5f7374726963747d7d2c64692e796561723d50742c64692e69734c656170596561723d66756e6374696f6e28297b72657475726e20447428746869732e796561722829297d2c64692e7765656b596561723d66756e6374696f6e2874297b72657475726e206e692e63616c6c28746869732c742c746869732e7765656b28292c746869732e7765656b64617928292c746869732e6c6f63616c654461746128292e5f7765656b2e646f772c746869732e6c6f63616c654461746128292e5f7765656b2e646f79297d2c64692e69736f5765656b596561723d66756e6374696f6e2874297b72657475726e206e692e63616c6c28746869732c742c746869732e69736f5765656b28292c746869732e69736f5765656b64617928292c312c34297d2c64692e717561727465723d64692e71756172746572733d66756e6374696f6e2874297b72657475726e206e756c6c3d3d743f4d6174682e6365696c2828746869732e6d6f6e746828292b31292f33293a746869732e6d6f6e746828332a28742d31292b746869732e6d6f6e746828292533297d2c64692e6d6f6e74683d59742c64692e64617973496e4d6f6e74683d66756e6374696f6e28297b72657475726e20417428746869732e7965617228292c746869732e6d6f6e74682829297d2c64692e7765656b3d64692e7765656b733d66756e6374696f6e2874297b76617220653d746869732e6c6f63616c654461746128292e7765656b2874686973293b72657475726e206e756c6c3d3d743f653a746869732e61646428372a28742d65292c226422297d2c64692e69736f5765656b3d64692e69736f5765656b733d66756e6374696f6e2874297b76617220653d6a7428746869732c312c34292e7765656b3b72657475726e206e756c6c3d3d743f653a746869732e61646428372a28742d65292c226422297d2c64692e7765656b73496e596561723d66756e6374696f6e28297b76617220743d746869732e6c6f63616c654461746128292e5f7765656b3b72657475726e20557428746869732e7965617228292c742e646f772c742e646f79297d2c64692e69736f5765656b73496e596561723d66756e6374696f6e28297b72657475726e20557428746869732e7965617228292c312c34297d2c64692e646174653d61692c64692e6461793d64692e646179733d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b76617220652c692c6e3d746869732e5f69735554433f746869732e5f642e67657455544344617928293a746869732e5f642e67657444617928293b72657475726e206e756c6c213d743f28653d742c693d746869732e6c6f63616c654461746128292c743d22737472696e6722213d747970656f6620653f653a69734e614e2865293f226e756d626572223d3d747970656f6628653d692e7765656b646179735061727365286529293f653a6e756c6c3a7061727365496e7428652c3130292c746869732e61646428742d6e2c22642229293a6e7d2c64692e7765656b6461793d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b76617220653d28746869732e64617928292b372d746869732e6c6f63616c654461746128292e5f7765656b2e646f772925373b72657475726e206e756c6c3d3d743f653a746869732e61646428742d652c226422297d2c64692e69736f5765656b6461793d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b6966286e756c6c213d74297b76617220653d28693d742c6e3d746869732e6c6f63616c654461746128292c22737472696e67223d3d747970656f6620693f6e2e7765656b64617973506172736528692925377c7c373a69734e614e2869293f6e756c6c3a69293b72657475726e20746869732e64617928746869732e646179282925373f653a652d37297d72657475726e20746869732e64617928297c7c373b76617220692c6e7d2c64692e6461794f66596561723d66756e6374696f6e2874297b76617220653d4d6174682e726f756e642828746869732e636c6f6e6528292e73746172744f66282264617922292d746869732e636c6f6e6528292e73746172744f662822796561722229292f3836346535292b313b72657475726e206e756c6c3d3d743f653a746869732e61646428742d652c226422297d2c64692e686f75723d64692e686f7572733d6e652c64692e6d696e7574653d64692e6d696e757465733d72692c64692e7365636f6e643d64692e7365636f6e64733d73692c64692e6d696c6c697365636f6e643d64692e6d696c6c697365636f6e64733d75692c64692e7574634f66667365743d66756e6374696f6e28742c652c69297b766172206e2c723d746869732e5f6f66667365747c7c303b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b6966286e756c6c213d74297b69662822737472696e67223d3d747970656f662074297b6966286e756c6c3d3d3d28743d7a652873742c7429292972657475726e20746869737d656c7365204d6174682e6162732874293c313626262169262628742a3d3630293b72657475726e21746869732e5f69735554432626652626286e3d5665287468697329292c746869732e5f6f66667365743d742c746869732e5f69735554433d21302c6e756c6c213d6e2626746869732e616464286e2c226d22292c72213d3d7426262821657c7c746869732e5f6368616e6765496e50726f67726573733f586528746869732c556528742d722c226d22292c312c2131293a746869732e5f6368616e6765496e50726f67726573737c7c28746869732e5f6368616e6765496e50726f67726573733d21302c612e7570646174654f666673657428746869732c2130292c746869732e5f6368616e6765496e50726f67726573733d6e756c6c29292c746869737d72657475726e20746869732e5f69735554433f723a56652874686973297d2c64692e7574633d66756e6374696f6e2874297b72657475726e20746869732e7574634f666673657428302c74297d2c64692e6c6f63616c3d66756e6374696f6e2874297b72657475726e20746869732e5f6973555443262628746869732e7574634f666673657428302c74292c746869732e5f69735554433d21312c742626746869732e73756274726163742856652874686973292c226d2229292c746869737d2c64692e70617273655a6f6e653d66756e6374696f6e28297b6966286e756c6c213d746869732e5f747a6d29746869732e7574634f666673657428746869732e5f747a6d2c21312c2130293b656c73652069662822737472696e67223d3d747970656f6620746869732e5f69297b76617220743d7a65286f742c746869732e5f69293b6e756c6c213d743f746869732e7574634f66667365742874293a746869732e7574634f666673657428302c2130297d72657475726e20746869737d2c64692e686173416c69676e6564486f75724f66667365743d66756e6374696f6e2874297b72657475726e2121746869732e697356616c69642829262628743d743f54652874292e7574634f666673657428293a302c28746869732e7574634f666673657428292d74292536303d3d30297d2c64692e69734453543d66756e6374696f6e28297b72657475726e20746869732e7574634f666673657428293e746869732e636c6f6e6528292e6d6f6e74682830292e7574634f666673657428297c7c746869732e7574634f666673657428293e746869732e636c6f6e6528292e6d6f6e74682835292e7574634f666673657428297d2c64692e69734c6f63616c3d66756e6374696f6e28297b72657475726e2121746869732e697356616c69642829262621746869732e5f69735554437d2c64692e69735574634f66667365743d66756e6374696f6e28297b72657475726e2121746869732e697356616c696428292626746869732e5f69735554437d2c64692e69735574633d42652c64692e69735554433d42652c64692e7a6f6e65416262723d66756e6374696f6e28297b72657475726e20746869732e5f69735554433f22555443223a22227d2c64692e7a6f6e654e616d653d66756e6374696f6e28297b72657475726e20746869732e5f69735554433f22436f6f7264696e6174656420556e6976657273616c2054696d65223a22227d2c64692e64617465733d4428226461746573206163636573736f7220697320646570726563617465642e20557365206461746520696e73746561642e222c6169292c64692e6d6f6e7468733d4428226d6f6e746873206163636573736f7220697320646570726563617465642e20557365206d6f6e746820696e7374656164222c5974292c64692e79656172733d4428227965617273206163636573736f7220697320646570726563617465642e20557365207965617220696e7374656164222c5074292c64692e7a6f6e653d4428226d6f6d656e7428292e7a6f6e6520697320646570726563617465642c20757365206d6f6d656e7428292e7574634f666673657420696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f7a6f6e652f222c66756e6374696f6e28742c65297b72657475726e206e756c6c213d743f2822737472696e6722213d747970656f662074262628743d2d74292c746869732e7574634f666673657428742c65292c74686973293a2d746869732e7574634f666673657428297d292c64692e6973445354536869667465643d44282269734453545368696674656420697320646570726563617465642e2053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6473742d736869667465642f20666f72206d6f726520696e666f726d6174696f6e222c66756e6374696f6e28297b696628217328746869732e5f697344535453686966746564292972657475726e20746869732e5f6973445354536869667465643b76617220743d7b7d3b6966287928742c74686973292c28743d4365287429292e5f61297b76617220653d742e5f69735554433f6628742e5f61293a546528742e5f61293b746869732e5f6973445354536869667465643d746869732e697356616c6964282926264d28742e5f612c652e746f41727261792829293e307d656c736520746869732e5f6973445354536869667465643d21313b72657475726e20746869732e5f6973445354536869667465647d293b7661722063693d412e70726f746f747970653b66756e6374696f6e20666928742c652c692c6e297b76617220613d686528292c723d6628292e736574286e2c65293b72657475726e20615b695d28722c74297d66756e6374696f6e20676928742c652c69297b6966286c287429262628653d742c743d766f69642030292c743d747c7c22222c6e756c6c213d652972657475726e20666928742c652c692c226d6f6e746822293b766172206e2c613d5b5d3b666f72286e3d303b6e3c31323b6e2b2b29615b6e5d3d666928742c6e2c692c226d6f6e746822293b72657475726e20617d66756e6374696f6e206d6928742c652c692c6e297b22626f6f6c65616e223d3d747970656f6620743f286c286529262628693d652c653d766f69642030292c653d657c7c2222293a28693d653d742c743d21312c6c286529262628693d652c653d766f69642030292c653d657c7c2222293b76617220612c723d686528292c6f3d743f722e5f7765656b2e646f773a303b6966286e756c6c213d692972657475726e20666928652c28692b6f2925372c6e2c2264617922293b76617220733d5b5d3b666f7228613d303b613c373b612b2b29735b615d3d666928652c28612b6f2925372c6e2c2264617922293b72657475726e20737d63692e63616c656e6461723d66756e6374696f6e28742c652c69297b766172206e3d746869732e5f63616c656e6461725b745d7c7c746869732e5f63616c656e6461722e73616d65456c73653b72657475726e204f286e293f6e2e63616c6c28652c69293a6e7d2c63692e6c6f6e6744617465466f726d61743d66756e6374696f6e2874297b76617220653d746869732e5f6c6f6e6744617465466f726d61745b745d2c693d746869732e5f6c6f6e6744617465466f726d61745b742e746f55707065724361736528295d3b72657475726e20657c7c21693f653a28746869732e5f6c6f6e6744617465466f726d61745b745d3d692e7265706c616365282f4d4d4d4d7c4d4d7c44447c646464642f672c66756e6374696f6e2874297b72657475726e20742e736c6963652831297d292c746869732e5f6c6f6e6744617465466f726d61745b745d297d2c63692e696e76616c6964446174653d66756e6374696f6e28297b72657475726e20746869732e5f696e76616c6964446174657d2c63692e6f7264696e616c3d66756e6374696f6e2874297b72657475726e20746869732e5f6f7264696e616c2e7265706c61636528222564222c74297d2c63692e70726570617273653d68692c63692e706f7374666f726d61743d68692c63692e72656c617469766554696d653d66756e6374696f6e28742c652c692c6e297b76617220613d746869732e5f72656c617469766554696d655b695d3b72657475726e204f2861293f6128742c652c692c6e293a612e7265706c616365282f25642f692c74297d2c63692e706173744675747572653d66756e6374696f6e28742c65297b76617220693d746869732e5f72656c617469766554696d655b743e303f22667574757265223a2270617374225d3b72657475726e204f2869293f692865293a692e7265706c616365282f25732f692c65297d2c63692e7365743d66756e6374696f6e2874297b76617220652c693b666f72286920696e2074294f28653d745b695d293f746869735b695d3d653a746869735b225f222b695d3d653b746869732e5f636f6e6669673d742c746869732e5f6461794f664d6f6e74684f7264696e616c50617273654c656e69656e743d6e6577205265674578702828746869732e5f6461794f664d6f6e74684f7264696e616c50617273652e736f757263657c7c746869732e5f6f7264696e616c50617273652e736f75726365292b227c222b2f5c647b312c327d2f2e736f75726365297d2c63692e6d6f6e7468733d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f6d6f6e746873293f746869732e5f6d6f6e7468735b742e6d6f6e746828295d3a746869732e5f6d6f6e7468735b28746869732e5f6d6f6e7468732e6973466f726d61747c7c4674292e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e6d6f6e746828295d3a7228746869732e5f6d6f6e746873293f746869732e5f6d6f6e7468733a746869732e5f6d6f6e7468732e7374616e64616c6f6e657d2c63692e6d6f6e74687353686f72743d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f6d6f6e74687353686f7274293f746869732e5f6d6f6e74687353686f72745b742e6d6f6e746828295d3a746869732e5f6d6f6e74687353686f72745b46742e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e6d6f6e746828295d3a7228746869732e5f6d6f6e74687353686f7274293f746869732e5f6d6f6e74687353686f72743a746869732e5f6d6f6e74687353686f72742e7374616e64616c6f6e657d2c63692e6d6f6e74687350617273653d66756e6374696f6e28742c652c69297b766172206e2c612c723b696628746869732e5f6d6f6e746873506172736545786163742972657475726e2066756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d742e746f4c6f63616c654c6f7765724361736528293b69662821746869732e5f6d6f6e746873506172736529666f7228746869732e5f6d6f6e74687350617273653d5b5d2c746869732e5f6c6f6e674d6f6e74687350617273653d5b5d2c746869732e5f73686f72744d6f6e74687350617273653d5b5d2c6e3d303b6e3c31323b2b2b6e29723d66285b3265332c6e5d292c746869732e5f73686f72744d6f6e74687350617273655b6e5d3d746869732e6d6f6e74687353686f727428722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f6c6f6e674d6f6e74687350617273655b6e5d3d746869732e6d6f6e74687328722c2222292e746f4c6f63616c654c6f7765724361736528293b72657475726e20693f224d4d4d223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a6e756c6c3a224d4d4d223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a6e756c6c7d2e63616c6c28746869732c742c652c69293b666f7228746869732e5f6d6f6e74687350617273657c7c28746869732e5f6d6f6e74687350617273653d5b5d2c746869732e5f6c6f6e674d6f6e74687350617273653d5b5d2c746869732e5f73686f72744d6f6e74687350617273653d5b5d292c6e3d303b6e3c31323b6e2b2b297b696628613d66285b3265332c6e5d292c69262621746869732e5f6c6f6e674d6f6e74687350617273655b6e5d262628746869732e5f6c6f6e674d6f6e74687350617273655b6e5d3d6e65772052656745787028225e222b746869732e6d6f6e74687328612c2222292e7265706c61636528222e222c2222292b2224222c226922292c746869732e5f73686f72744d6f6e74687350617273655b6e5d3d6e65772052656745787028225e222b746869732e6d6f6e74687353686f727428612c2222292e7265706c61636528222e222c2222292b2224222c22692229292c697c7c746869732e5f6d6f6e74687350617273655b6e5d7c7c28723d225e222b746869732e6d6f6e74687328612c2222292b227c5e222b746869732e6d6f6e74687353686f727428612c2222292c746869732e5f6d6f6e74687350617273655b6e5d3d6e65772052656745787028722e7265706c61636528222e222c2222292c22692229292c692626224d4d4d4d223d3d3d652626746869732e5f6c6f6e674d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e3b696628692626224d4d4d223d3d3d652626746869732e5f73686f72744d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e3b69662821692626746869732e5f6d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e7d7d2c63692e6d6f6e74687352656765783d66756e6374696f6e2874297b72657475726e20746869732e5f6d6f6e746873506172736545786163743f286828746869732c225f6d6f6e746873526567657822297c7c48742e63616c6c2874686973292c743f746869732e5f6d6f6e74687353747269637452656765783a746869732e5f6d6f6e7468735265676578293a286828746869732c225f6d6f6e746873526567657822297c7c28746869732e5f6d6f6e74687352656765783d7a74292c746869732e5f6d6f6e74687353747269637452656765782626743f746869732e5f6d6f6e74687353747269637452656765783a746869732e5f6d6f6e7468735265676578297d2c63692e6d6f6e74687353686f727452656765783d66756e6374696f6e2874297b72657475726e20746869732e5f6d6f6e746873506172736545786163743f286828746869732c225f6d6f6e746873526567657822297c7c48742e63616c6c2874686973292c743f746869732e5f6d6f6e74687353686f727453747269637452656765783a746869732e5f6d6f6e74687353686f72745265676578293a286828746869732c225f6d6f6e74687353686f7274526567657822297c7c28746869732e5f6d6f6e74687353686f727452656765783d4e74292c746869732e5f6d6f6e74687353686f727453747269637452656765782626743f746869732e5f6d6f6e74687353686f727453747269637452656765783a746869732e5f6d6f6e74687353686f72745265676578297d2c63692e7765656b3d66756e6374696f6e2874297b72657475726e206a7428742c746869732e5f7765656b2e646f772c746869732e5f7765656b2e646f79292e7765656b7d2c63692e66697273744461794f66596561723d66756e6374696f6e28297b72657475726e20746869732e5f7765656b2e646f797d2c63692e66697273744461794f665765656b3d66756e6374696f6e28297b72657475726e20746869732e5f7765656b2e646f777d2c63692e7765656b646179733d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f7765656b64617973293f746869732e5f7765656b646179735b742e64617928295d3a746869732e5f7765656b646179735b746869732e5f7765656b646179732e6973466f726d61742e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e64617928295d3a7228746869732e5f7765656b64617973293f746869732e5f7765656b646179733a746869732e5f7765656b646179732e7374616e64616c6f6e657d2c63692e7765656b646179734d696e3d66756e6374696f6e2874297b72657475726e20743f746869732e5f7765656b646179734d696e5b742e64617928295d3a746869732e5f7765656b646179734d696e7d2c63692e7765656b6461797353686f72743d66756e6374696f6e2874297b72657475726e20743f746869732e5f7765656b6461797353686f72745b742e64617928295d3a746869732e5f7765656b6461797353686f72747d2c63692e7765656b6461797350617273653d66756e6374696f6e28742c652c69297b766172206e2c612c723b696628746869732e5f7765656b64617973506172736545786163742972657475726e2066756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d742e746f4c6f63616c654c6f7765724361736528293b69662821746869732e5f7765656b64617973506172736529666f7228746869732e5f7765656b6461797350617273653d5b5d2c746869732e5f73686f72745765656b6461797350617273653d5b5d2c746869732e5f6d696e5765656b6461797350617273653d5b5d2c6e3d303b6e3c373b2b2b6e29723d66285b3265332c315d292e646179286e292c746869732e5f6d696e5765656b6461797350617273655b6e5d3d746869732e7765656b646179734d696e28722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f73686f72745765656b6461797350617273655b6e5d3d746869732e7765656b6461797353686f727428722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f7765656b6461797350617273655b6e5d3d746869732e7765656b6461797328722c2222292e746f4c6f63616c654c6f7765724361736528293b72657475726e20693f2264646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a6e756c6c3a22646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a2264646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a22646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a6e756c6c7d2e63616c6c28746869732c742c652c69293b666f7228746869732e5f7765656b6461797350617273657c7c28746869732e5f7765656b6461797350617273653d5b5d2c746869732e5f6d696e5765656b6461797350617273653d5b5d2c746869732e5f73686f72745765656b6461797350617273653d5b5d2c746869732e5f66756c6c5765656b6461797350617273653d5b5d292c6e3d303b6e3c373b6e2b2b297b696628613d66285b3265332c315d292e646179286e292c69262621746869732e5f66756c6c5765656b6461797350617273655b6e5d262628746869732e5f66756c6c5765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b6461797328612c2222292e7265706c61636528222e222c222e3f22292b2224222c226922292c746869732e5f73686f72745765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b6461797353686f727428612c2222292e7265706c61636528222e222c222e3f22292b2224222c226922292c746869732e5f6d696e5765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b646179734d696e28612c2222292e7265706c61636528222e222c222e3f22292b2224222c22692229292c746869732e5f7765656b6461797350617273655b6e5d7c7c28723d225e222b746869732e7765656b6461797328612c2222292b227c5e222b746869732e7765656b6461797353686f727428612c2222292b227c5e222b746869732e7765656b646179734d696e28612c2222292c746869732e5f7765656b6461797350617273655b6e5d3d6e65772052656745787028722e7265706c61636528222e222c2222292c22692229292c6926262264646464223d3d3d652626746869732e5f66756c6c5765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b69662869262622646464223d3d3d652626746869732e5f73686f72745765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b696628692626226464223d3d3d652626746869732e5f6d696e5765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b69662821692626746869732e5f7765656b6461797350617273655b6e5d2e746573742874292972657475726e206e7d7d2c63692e7765656b6461797352656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b6461797353747269637452656765783a746869732e5f7765656b646179735265676578293a286828746869732c225f7765656b64617973526567657822297c7c28746869732e5f7765656b6461797352656765783d5874292c746869732e5f7765656b6461797353747269637452656765782626743f746869732e5f7765656b6461797353747269637452656765783a746869732e5f7765656b646179735265676578297d2c63692e7765656b6461797353686f727452656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b6461797353686f727453747269637452656765783a746869732e5f7765656b6461797353686f72745265676578293a286828746869732c225f7765656b6461797353686f7274526567657822297c7c28746869732e5f7765656b6461797353686f727452656765783d4a74292c746869732e5f7765656b6461797353686f727453747269637452656765782626743f746869732e5f7765656b6461797353686f727453747269637452656765783a746869732e5f7765656b6461797353686f72745265676578297d2c63692e7765656b646179734d696e52656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b646179734d696e53747269637452656765783a746869732e5f7765656b646179734d696e5265676578293a286828746869732c225f7765656b646179734d696e526567657822297c7c28746869732e5f7765656b646179734d696e52656765783d4b74292c746869732e5f7765656b646179734d696e53747269637452656765782626743f746869732e5f7765656b646179734d696e53747269637452656765783a746869732e5f7765656b646179734d696e5265676578297d2c63692e6973504d3d66756e6374696f6e2874297b72657475726e2270223d3d3d28742b2222292e746f4c6f7765724361736528292e6368617241742830297d2c63692e6d6572696469656d3d66756e6374696f6e28742c652c69297b72657475726e20743e31313f693f22706d223a22504d223a693f22616d223a22414d227d2c75652822656e222c7b6461794f664d6f6e74684f7264696e616c50617273653a2f5c647b312c327d2874687c73747c6e647c7264292f2c6f7264696e616c3a66756e6374696f6e2874297b76617220653d742531303b72657475726e20742b28313d3d3d772874253130302f3130293f227468223a313d3d3d653f227374223a323d3d3d653f226e64223a333d3d3d653f227264223a22746822297d7d292c612e6c616e673d4428226d6f6d656e742e6c616e6720697320646570726563617465642e20557365206d6f6d656e742e6c6f63616c6520696e73746561642e222c7565292c612e6c616e67446174613d4428226d6f6d656e742e6c616e674461746120697320646570726563617465642e20557365206d6f6d656e742e6c6f63616c654461746120696e73746561642e222c6865293b7661722070693d4d6174682e6162733b66756e6374696f6e20766928742c652c692c6e297b76617220613d556528652c69293b72657475726e20742e5f6d696c6c697365636f6e64732b3d6e2a612e5f6d696c6c697365636f6e64732c742e5f646179732b3d6e2a612e5f646179732c742e5f6d6f6e7468732b3d6e2a612e5f6d6f6e7468732c742e5f627562626c6528297d66756e6374696f6e2079692874297b72657475726e20743c303f4d6174682e666c6f6f722874293a4d6174682e6365696c2874297d66756e6374696f6e2062692874297b72657475726e20343830302a742f3134363039377d66756e6374696f6e2078692874297b72657475726e203134363039372a742f343830307d66756e6374696f6e205f692874297b72657475726e2066756e6374696f6e28297b72657475726e20746869732e61732874297d7d766172206b693d5f6928226d7322292c77693d5f6928227322292c4d693d5f6928226d22292c53693d5f6928226822292c44693d5f6928226422292c43693d5f6928227722292c50693d5f6928224d22292c54693d5f6928227922293b66756e6374696f6e204f692874297b72657475726e2066756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e5f646174615b745d3a4e614e7d7d7661722049693d4f6928226d696c6c697365636f6e647322292c41693d4f6928227365636f6e647322292c46693d4f6928226d696e7574657322292c52693d4f692822686f75727322292c4c693d4f6928226461797322292c57693d4f6928226d6f6e74687322292c59693d4f692822796561727322293b766172204e693d4d6174682e726f756e642c7a693d7b73733a34342c733a34352c6d3a34352c683a32322c643a32362c4d3a31317d3b7661722048693d4d6174682e6162733b66756e6374696f6e2056692874297b72657475726e28743e30292d28743c30297c7c2b747d66756e6374696f6e20426928297b69662821746869732e697356616c696428292972657475726e20746869732e6c6f63616c654461746128292e696e76616c69644461746528293b76617220742c652c693d486928746869732e5f6d696c6c697365636f6e6473292f3165332c6e3d486928746869732e5f64617973292c613d486928746869732e5f6d6f6e746873293b653d6b2828743d6b28692f363029292f3630292c69253d36302c74253d36303b76617220723d6b28612f3132292c6f3d61253d31322c733d6e2c6c3d652c753d742c643d693f692e746f46697865642833292e7265706c616365282f5c2e3f302b242f2c2222293a22222c683d746869732e61735365636f6e647328293b69662821682972657475726e22503044223b76617220633d683c303f222d223a22222c663d566928746869732e5f6d6f6e74687329213d3d56692868293f222d223a22222c673d566928746869732e5f6461797329213d3d56692868293f222d223a22222c6d3d566928746869732e5f6d696c6c697365636f6e647329213d3d56692868293f222d223a22223b72657475726e20632b2250222b28723f662b722b2259223a2222292b286f3f662b6f2b224d223a2222292b28733f672b732b2244223a2222292b286c7c7c757c7c643f2254223a2222292b286c3f6d2b6c2b2248223a2222292b28753f6d2b752b224d223a2222292b28643f6d2b642b2253223a2222297d7661722045693d52652e70726f746f747970653b72657475726e2045692e697356616c69643d66756e6374696f6e28297b72657475726e20746869732e5f697356616c69647d2c45692e6162733d66756e6374696f6e28297b76617220743d746869732e5f646174613b72657475726e20746869732e5f6d696c6c697365636f6e64733d706928746869732e5f6d696c6c697365636f6e6473292c746869732e5f646179733d706928746869732e5f64617973292c746869732e5f6d6f6e7468733d706928746869732e5f6d6f6e746873292c742e6d696c6c697365636f6e64733d706928742e6d696c6c697365636f6e6473292c742e7365636f6e64733d706928742e7365636f6e6473292c742e6d696e757465733d706928742e6d696e75746573292c742e686f7572733d706928742e686f757273292c742e6d6f6e7468733d706928742e6d6f6e746873292c742e79656172733d706928742e7965617273292c746869737d2c45692e6164643d66756e6374696f6e28742c65297b72657475726e20766928746869732c742c652c31297d2c45692e73756274726163743d66756e6374696f6e28742c65297b72657475726e20766928746869732c742c652c2d31297d2c45692e61733d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e204e614e3b76617220652c692c6e3d746869732e5f6d696c6c697365636f6e64733b696628226d6f6e7468223d3d3d28743d4c287429297c7c2279656172223d3d3d742972657475726e20653d746869732e5f646179732b6e2f38363465352c693d746869732e5f6d6f6e7468732b62692865292c226d6f6e7468223d3d3d743f693a692f31323b73776974636828653d746869732e5f646179732b4d6174682e726f756e6428786928746869732e5f6d6f6e74687329292c74297b63617365227765656b223a72657475726e20652f372b6e2f3630343865353b6361736522646179223a72657475726e20652b6e2f38363465353b6361736522686f7572223a72657475726e2032342a652b6e2f333665353b63617365226d696e757465223a72657475726e20313434302a652b6e2f3665343b63617365227365636f6e64223a72657475726e2038363430302a652b6e2f3165333b63617365226d696c6c697365636f6e64223a72657475726e204d6174682e666c6f6f722838363465352a65292b6e3b64656661756c743a7468726f77206e6577204572726f722822556e6b6e6f776e20756e697420222b74297d7d2c45692e61734d696c6c697365636f6e64733d6b692c45692e61735365636f6e64733d77692c45692e61734d696e757465733d4d692c45692e6173486f7572733d53692c45692e6173446179733d44692c45692e61735765656b733d43692c45692e61734d6f6e7468733d50692c45692e617359656172733d54692c45692e76616c75654f663d66756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e5f6d696c6c697365636f6e64732b38363465352a746869732e5f646179732b746869732e5f6d6f6e7468732531322a3235393265362b333135333665362a7728746869732e5f6d6f6e7468732f3132293a4e614e7d2c45692e5f627562626c653d66756e6374696f6e28297b76617220742c652c692c6e2c612c723d746869732e5f6d696c6c697365636f6e64732c6f3d746869732e5f646179732c733d746869732e5f6d6f6e7468732c6c3d746869732e5f646174613b72657475726e20723e3d3026266f3e3d302626733e3d307c7c723c3d3026266f3c3d302626733c3d307c7c28722b3d38363465352a79692878692873292b6f292c6f3d302c733d30292c6c2e6d696c6c697365636f6e64733d72253165332c743d6b28722f316533292c6c2e7365636f6e64733d742536302c653d6b28742f3630292c6c2e6d696e757465733d652536302c693d6b28652f3630292c6c2e686f7572733d692532342c732b3d613d6b286269286f2b3d6b28692f32342929292c6f2d3d7969287869286129292c6e3d6b28732f3132292c73253d31322c6c2e646179733d6f2c6c2e6d6f6e7468733d732c6c2e79656172733d6e2c746869737d2c45692e636c6f6e653d66756e6374696f6e28297b72657475726e2055652874686973297d2c45692e6765743d66756e6374696f6e2874297b72657475726e20743d4c2874292c746869732e697356616c696428293f746869735b742b2273225d28293a4e614e7d2c45692e6d696c6c697365636f6e64733d49692c45692e7365636f6e64733d41692c45692e6d696e757465733d46692c45692e686f7572733d52692c45692e646179733d4c692c45692e7765656b733d66756e6374696f6e28297b72657475726e206b28746869732e6461797328292f37297d2c45692e6d6f6e7468733d57692c45692e79656172733d59692c45692e68756d616e697a653d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e20746869732e6c6f63616c654461746128292e696e76616c69644461746528293b76617220652c692c6e2c612c722c6f2c732c6c2c752c642c682c633d746869732e6c6f63616c654461746128292c663d28693d21742c6e3d632c613d556528653d74686973292e61627328292c723d4e6928612e61732822732229292c6f3d4e6928612e617328226d2229292c733d4e6928612e61732822682229292c6c3d4e6928612e61732822642229292c753d4e6928612e617328224d2229292c643d4e6928612e61732822792229292c28683d723c3d7a692e737326265b2273222c725d7c7c723c7a692e7326265b227373222c725d7c7c6f3c3d3126265b226d225d7c7c6f3c7a692e6d26265b226d6d222c6f5d7c7c733c3d3126265b2268225d7c7c733c7a692e6826265b226868222c735d7c7c6c3c3d3126265b2264225d7c7c6c3c7a692e6426265b226464222c6c5d7c7c753c3d3126265b224d225d7c7c753c7a692e4d26265b224d4d222c755d7c7c643c3d3126265b2279225d7c7c5b227979222c645d295b325d3d692c685b335d3d2b653e302c685b345d3d6e2c66756e6374696f6e28742c652c692c6e2c61297b72657475726e20612e72656c617469766554696d6528657c7c312c2121692c742c6e297d2e6170706c79286e756c6c2c6829293b72657475726e2074262628663d632e70617374467574757265282b746869732c6629292c632e706f7374666f726d61742866297d2c45692e746f49534f537472696e673d42692c45692e746f537472696e673d42692c45692e746f4a534f4e3d42692c45692e6c6f63616c653d51652c45692e6c6f63616c65446174613d65692c45692e746f49736f537472696e673d442822746f49736f537472696e67282920697320646570726563617465642e20506c656173652075736520746f49534f537472696e67282920696e737465616420286e6f7469636520746865206361706974616c7329222c4269292c45692e6c616e673d74692c6a282258222c302c302c22756e697822292c6a282278222c302c302c2276616c75654f6622292c6474282278222c7274292c6474282258222c2f5b2b2d5d3f5c642b285c2e5c647b312c337d293f2f292c6774282258222c66756e6374696f6e28742c652c69297b692e5f643d6e65772044617465283165332a7061727365466c6f617428742c313029297d292c6774282278222c66756e6374696f6e28742c652c69297b692e5f643d6e657720446174652877287429297d292c612e76657273696f6e3d22322e32302e31222c693d54652c612e666e3d64692c612e6d696e3d66756e6374696f6e28297b72657475726e204165282269734265666f7265222c5b5d2e736c6963652e63616c6c28617267756d656e74732c3029297d2c612e6d61783d66756e6374696f6e28297b72657475726e204165282269734166746572222c5b5d2e736c6963652e63616c6c28617267756d656e74732c3029297d2c612e6e6f773d66756e6374696f6e28297b72657475726e20446174652e6e6f773f446174652e6e6f7728293a2b6e657720446174657d2c612e7574633d662c612e756e69783d66756e6374696f6e2874297b72657475726e205465283165332a74297d2c612e6d6f6e7468733d66756e6374696f6e28742c65297b72657475726e20676928742c652c226d6f6e74687322297d2c612e6973446174653d752c612e6c6f63616c653d75652c612e696e76616c69643d702c612e6475726174696f6e3d55652c612e69734d6f6d656e743d5f2c612e7765656b646179733d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b6461797322297d2c612e70617273655a6f6e653d66756e6374696f6e28297b72657475726e2054652e6170706c79286e756c6c2c617267756d656e7473292e70617273655a6f6e6528297d2c612e6c6f63616c65446174613d68652c612e69734475726174696f6e3d4c652c612e6d6f6e74687353686f72743d66756e6374696f6e28742c65297b72657475726e20676928742c652c226d6f6e74687353686f727422297d2c612e7765656b646179734d696e3d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b646179734d696e22297d2c612e646566696e654c6f63616c653d64652c612e7570646174654c6f63616c653d66756e6374696f6e28742c65297b6966286e756c6c213d65297b76617220692c6e2c613d61653b6e756c6c213d286e3d6c6528742929262628613d6e2e5f636f6e666967292c28693d6e6577204128653d4928612c652929292e706172656e744c6f63616c653d72655b745d2c72655b745d3d692c75652874297d656c7365206e756c6c213d72655b745d2626286e756c6c213d72655b745d2e706172656e744c6f63616c653f72655b745d3d72655b745d2e706172656e744c6f63616c653a6e756c6c213d72655b745d262664656c6574652072655b745d293b72657475726e2072655b745d7d2c612e6c6f63616c65733d66756e6374696f6e28297b72657475726e2043287265297d2c612e7765656b6461797353686f72743d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b6461797353686f727422297d2c612e6e6f726d616c697a65556e6974733d4c2c612e72656c617469766554696d65526f756e64696e673d66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f4e693a2266756e6374696f6e223d3d747970656f6620742626284e693d742c2130297d2c612e72656c617469766554696d655468726573686f6c643d66756e6374696f6e28742c65297b72657475726e20766f69642030213d3d7a695b745d262628766f696420303d3d3d653f7a695b745d3a287a695b745d3d652c2273223d3d3d742626287a692e73733d652d31292c213029297d2c612e63616c656e646172466f726d61743d66756e6374696f6e28742c65297b76617220693d742e6469666628652c2264617973222c2130293b72657475726e20693c2d363f2273616d65456c7365223a693c2d313f226c6173745765656b223a693c303f226c617374446179223a693c313f2273616d65446179223a693c323f226e657874446179223a693c373f226e6578745765656b223a2273616d65456c7365227d2c612e70726f746f747970653d64692c612e48544d4c355f464d543d7b4441544554494d455f4c4f43414c3a22595959592d4d4d2d44445448483a6d6d222c4441544554494d455f4c4f43414c5f5345434f4e44533a22595959592d4d4d2d44445448483a6d6d3a7373222c4441544554494d455f4c4f43414c5f4d533a22595959592d4d4d2d44445448483a6d6d3a73732e535353222c444154453a22595959592d4d4d2d4444222c54494d453a2248483a6d6d222c54494d455f5345434f4e44533a2248483a6d6d3a7373222c54494d455f4d533a2248483a6d6d3a73732e535353222c5745454b3a22595959592d5b575d5757222c4d4f4e54483a22595959592d4d4d227d2c617d2c226f626a656374223d3d747970656f6620692626766f69642030213d3d653f652e6578706f7274733d6128293a6e2e6d6f6d656e743d6128297d2c7b7d5d2c373a5b66756e6374696f6e28742c652c69297b766172206e3d742832392928293b6e2e68656c706572733d74283435292c7428323729286e292c6e2e64656661756c74733d74283235292c6e2e456c656d656e743d74283236292c6e2e656c656d656e74733d74283430292c6e2e496e746572616374696f6e3d74283238292c6e2e6c61796f7574733d74283330292c6e2e706c6174666f726d3d74283438292c6e2e706c7567696e733d74283331292c6e2e5469636b733d74283334292c7428323229286e292c7428323329286e292c7428323429286e292c7428333329286e292c7428333229286e292c7428333529286e292c7428353529286e292c7428353329286e292c7428353429286e292c7428353629286e292c7428353729286e292c7428353829286e292c7428313529286e292c7428313629286e292c7428313729286e292c7428313829286e292c7428313929286e292c7428323029286e292c7428323129286e292c74283829286e292c74283929286e292c7428313029286e292c7428313129286e292c7428313229286e292c7428313329286e292c7428313429286e293b76617220613d74283439293b666f7228766172207220696e206129612e6861734f776e50726f706572747928722926266e2e706c7567696e732e726567697374657228615b725d293b6e2e706c6174666f726d2e696e697469616c697a6528292c652e6578706f7274733d6e2c22756e646566696e656422213d747970656f662077696e646f7726262877696e646f772e43686172743d6e292c6e2e4c6567656e643d612e6c6567656e642e5f656c656d656e742c6e2e5469746c653d612e7469746c652e5f656c656d656e742c6e2e706c7567696e536572766963653d6e2e706c7567696e732c6e2e506c7567696e426173653d6e2e456c656d656e742e657874656e64287b7d292c6e2e63616e76617348656c706572733d6e2e68656c706572732e63616e7661732c6e2e6c61796f7574536572766963653d6e2e6c61796f7574737d2c7b31303a31302c31313a31312c31323a31322c31333a31332c31343a31342c31353a31352c31363a31362c31373a31372c31383a31382c31393a31392c32303a32302c32313a32312c32323a32322c32333a32332c32343a32342c32353a32352c32363a32362c32373a32372c32383a32382c32393a32392c33303a33302c33313a33312c33323a33322c33333a33332c33343a33342c33353a33352c34303a34302c34353a34352c34383a34382c34393a34392c35333a35332c35343a35342c35353a35352c35363a35362c35373a35372c35383a35382c383a382c393a397d5d2c383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e4261723d66756e6374696f6e28652c69297b72657475726e20692e747970653d22626172222c6e6577207428652c69297d7d7d2c7b7d5d2c393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e427562626c653d66756e6374696f6e28652c69297b72657475726e20692e747970653d22627562626c65222c6e6577207428652c69297d7d7d2c7b7d5d2c31303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e446f7567686e75743d66756e6374696f6e28652c69297b72657475726e20692e747970653d22646f7567686e7574222c6e6577207428652c69297d7d7d2c7b7d5d2c31313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e4c696e653d66756e6374696f6e28652c69297b72657475726e20692e747970653d226c696e65222c6e6577207428652c69297d7d7d2c7b7d5d2c31323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e506f6c6172417265613d66756e6374696f6e28652c69297b72657475726e20692e747970653d22706f6c617241726561222c6e6577207428652c69297d7d7d2c7b7d5d2c31333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e52616461723d66756e6374696f6e28652c69297b72657475726e20692e747970653d227261646172222c6e6577207428652c69297d7d7d2c7b7d5d2c31343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e536361747465723d66756e6374696f6e28652c69297b72657475726e20692e747970653d2273636174746572222c6e6577207428652c69297d7d7d2c7b7d5d2c31353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822626172222c7b686f7665723a7b6d6f64653a226c6162656c227d2c7363616c65733a7b78417865733a5b7b747970653a2263617465676f7279222c63617465676f727950657263656e746167653a2e382c62617250657263656e746167653a2e392c6f66667365743a21302c677269644c696e65733a7b6f6666736574477269644c696e65733a21307d7d5d2c79417865733a5b7b747970653a226c696e656172227d5d7d7d292c6e2e5f7365742822686f72697a6f6e74616c426172222c7b686f7665723a7b6d6f64653a22696e646578222c617869733a2279227d2c7363616c65733a7b78417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d227d5d2c79417865733a5b7b706f736974696f6e3a226c656674222c747970653a2263617465676f7279222c63617465676f727950657263656e746167653a2e382c62617250657263656e746167653a2e392c6f66667365743a21302c677269644c696e65733a7b6f6666736574477269644c696e65733a21307d7d5d7d2c656c656d656e74733a7b72656374616e676c653a7b626f72646572536b69707065643a226c656674227d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28742c65297b76617220693d22223b72657475726e20742e6c656e6774683e30262628745b305d2e794c6162656c3f693d745b305d2e794c6162656c3a652e6c6162656c732e6c656e6774683e302626745b305d2e696e6465783c652e6c6162656c732e6c656e677468262628693d652e6c6162656c735b745b305d2e696e6465785d29292c697d2c6c6162656c3a66756e6374696f6e28742c65297b72657475726e28652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c2222292b223a20222b742e784c6162656c7d7d2c6d6f64653a22696e646578222c617869733a2279227d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e6261723d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e52656374616e676c652c696e697469616c697a653a66756e6374696f6e28297b76617220653b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e696e697469616c697a652e6170706c7928746869732c617267756d656e7473292c28653d746869732e6765744d6574612829292e737461636b3d746869732e6765744461746173657428292e737461636b2c652e6261723d21307d2c7570646174653a66756e6374696f6e2874297b76617220652c692c6e3d746869732e6765744d65746128292e646174613b666f7228746869732e5f72756c65723d746869732e67657452756c657228292c653d302c693d6e2e6c656e6774683b653c693b2b2b6529746869732e757064617465456c656d656e74286e5b655d2c652c74297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e63686172742c6f3d6e2e6765744d65746128292c733d6e2e6765744461746173657428292c6c3d742e637573746f6d7c7c7b7d2c753d612e6f7074696f6e732e656c656d656e74732e72656374616e676c653b742e5f785363616c653d6e2e6765745363616c65466f724964286f2e78417869734944292c742e5f795363616c653d6e2e6765745363616c65466f724964286f2e79417869734944292c742e5f64617461736574496e6465783d6e2e696e6465782c742e5f696e6465783d652c742e5f6d6f64656c3d7b646174617365744c6162656c3a732e6c6162656c2c6c6162656c3a612e646174612e6c6162656c735b655d2c626f72646572536b69707065643a6c2e626f72646572536b69707065643f6c2e626f72646572536b69707065643a752e626f72646572536b69707065642c6261636b67726f756e64436f6c6f723a6c2e6261636b67726f756e64436f6c6f723f6c2e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428732e6261636b67726f756e64436f6c6f722c652c752e6261636b67726f756e64436f6c6f72292c626f72646572436f6c6f723a6c2e626f72646572436f6c6f723f6c2e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428732e626f72646572436f6c6f722c652c752e626f72646572436f6c6f72292c626f7264657257696474683a6c2e626f7264657257696474683f6c2e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428732e626f7264657257696474682c652c752e626f726465725769647468297d2c6e2e757064617465456c656d656e7447656f6d6574727928742c652c69292c742e7069766f7428297d2c757064617465456c656d656e7447656f6d657472793a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d742e5f6d6f64656c2c723d6e2e67657456616c75655363616c6528292c6f3d722e67657442617365506978656c28292c733d722e6973486f72697a6f6e74616c28292c6c3d6e2e5f72756c65727c7c6e2e67657452756c657228292c753d6e2e63616c63756c61746542617256616c7565506978656c73286e2e696e6465782c65292c643d6e2e63616c63756c617465426172496e646578506978656c73286e2e696e6465782c652c6c293b612e686f72697a6f6e74616c3d732c612e626173653d693f6f3a752e626173652c612e783d733f693f6f3a752e686561643a642e63656e7465722c612e793d733f642e63656e7465723a693f6f3a752e686561642c612e6865696768743d733f642e73697a653a766f696420302c612e77696474683d733f766f696420303a642e73697a657d2c67657456616c75655363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e794178697349447d2c676574496e6465785363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e784178697349447d2c67657456616c75655363616c653a66756e6374696f6e28297b72657475726e20746869732e6765745363616c65466f72496428746869732e67657456616c75655363616c6549642829297d2c676574496e6465785363616c653a66756e6374696f6e28297b72657475726e20746869732e6765745363616c65466f72496428746869732e676574496e6465785363616c6549642829297d2c5f676574537461636b733a66756e6374696f6e2874297b76617220652c692c6e3d746869732e63686172742c613d746869732e676574496e6465785363616c6528292e6f7074696f6e732e737461636b65642c723d766f696420303d3d3d743f6e2e646174612e64617461736574732e6c656e6774683a742b312c6f3d5b5d3b666f7228653d303b653c723b2b2b652928693d6e2e676574446174617365744d657461286529292e62617226266e2e69734461746173657456697369626c6528652926262821313d3d3d617c7c21303d3d3d6126262d313d3d3d6f2e696e6465784f6628692e737461636b297c7c766f696420303d3d3d61262628766f696420303d3d3d692e737461636b7c7c2d313d3d3d6f2e696e6465784f6628692e737461636b29292926266f2e7075736828692e737461636b293b72657475726e206f7d2c676574537461636b436f756e743a66756e6374696f6e28297b72657475726e20746869732e5f676574537461636b7328292e6c656e6774687d2c676574537461636b496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e5f676574537461636b732874292c6e3d766f69642030213d3d653f692e696e6465784f662865293a2d313b72657475726e2d313d3d3d6e3f692e6c656e6774682d313a6e7d2c67657452756c65723a66756e6374696f6e28297b76617220742c652c693d746869732e676574496e6465785363616c6528292c6e3d746869732e676574537461636b436f756e7428292c613d746869732e696e6465782c6f3d692e6973486f72697a6f6e74616c28292c733d6f3f692e6c6566743a692e746f702c6c3d732b286f3f692e77696474683a692e686569676874292c753d5b5d3b666f7228743d302c653d746869732e6765744d65746128292e646174612e6c656e6774683b743c653b2b2b7429752e7075736828692e676574506978656c466f7256616c7565286e756c6c2c742c6129293b72657475726e7b6d696e3a722e69734e756c6c4f72556e64656628692e6f7074696f6e732e626172546869636b6e657373293f66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f3d742e6973486f72697a6f6e74616c28293f742e77696474683a742e6865696768742c733d742e6765745469636b7328293b666f7228613d312c723d652e6c656e6774683b613c723b2b2b61296f3d4d6174682e6d696e286f2c655b615d2d655b612d315d293b666f7228613d302c723d732e6c656e6774683b613c723b2b2b61296e3d742e676574506978656c466f725469636b2861292c6f3d613e303f4d6174682e6d696e286f2c6e2d69293a6f2c693d6e3b72657475726e206f7d28692c75293a2d312c706978656c733a752c73746172743a732c656e643a6c2c737461636b436f756e743a6e2c7363616c653a697d7d2c63616c63756c61746542617256616c7565506978656c733a66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f2c732c6c3d746869732e63686172742c753d746869732e6765744d65746128292c643d746869732e67657456616c75655363616c6528292c683d6c2e646174612e64617461736574732c633d642e676574526967687456616c756528685b745d2e646174615b655d292c663d642e6f7074696f6e732e737461636b65642c673d752e737461636b2c6d3d303b696628667c7c766f696420303d3d3d662626766f69642030213d3d6729666f7228693d303b693c743b2b2b6929286e3d6c2e676574446174617365744d657461286929292e62617226266e2e737461636b3d3d3d6726266e2e636f6e74726f6c6c65722e67657456616c75655363616c65496428293d3d3d642e696426266c2e69734461746173657456697369626c65286929262628613d642e676574526967687456616c756528685b695d2e646174615b655d292c28633c302626613c307c7c633e3d302626613e30292626286d2b3d6129293b72657475726e20723d642e676574506978656c466f7256616c7565286d292c7b73697a653a733d28286f3d642e676574506978656c466f7256616c7565286d2b6329292d72292f322c626173653a722c686561643a6f2c63656e7465723a6f2b732f327d7d2c63616c63756c617465426172496e646578506978656c733a66756e6374696f6e28742c652c69297b766172206e2c612c6f2c732c6c2c752c642c682c632c662c672c6d2c702c762c792c622c782c5f3d692e7363616c652e6f7074696f6e732c6b3d22666c6578223d3d3d5f2e626172546869636b6e6573733f28633d652c673d5f2c703d28663d69292e706978656c732c763d705b635d2c793d633e303f705b632d315d3a6e756c6c2c623d633c702e6c656e6774682d313f705b632b315d3a6e756c6c2c783d672e63617465676f727950657263656e746167652c6e756c6c3d3d3d79262628793d762d286e756c6c3d3d3d623f662e656e642d763a622d7629292c6e756c6c3d3d3d62262628623d762b762d79292c6d3d762d28762d79292f322a782c7b6368756e6b3a28622d79292f322a782f662e737461636b436f756e742c726174696f3a672e62617250657263656e746167652c73746172743a6d7d293a286e3d652c613d692c753d286f3d5f292e626172546869636b6e6573732c643d612e737461636b436f756e742c683d612e706978656c735b6e5d2c722e69734e756c6c4f72556e6465662875293f28733d612e6d696e2a6f2e63617465676f727950657263656e746167652c6c3d6f2e62617250657263656e74616765293a28733d752a642c6c3d31292c7b6368756e6b3a732f642c726174696f3a6c2c73746172743a682d732f327d292c773d746869732e676574537461636b496e64657828742c746869732e6765744d65746128292e737461636b292c4d3d6b2e73746172742b6b2e6368756e6b2a772b6b2e6368756e6b2f322c533d4d6174682e6d696e28722e76616c75654f7244656661756c74285f2e6d6178426172546869636b6e6573732c312f30292c6b2e6368756e6b2a6b2e726174696f293b72657475726e7b626173653a4d2d532f322c686561643a4d2b532f322c63656e7465723a4d2c73697a653a537d7d2c647261773a66756e6374696f6e28297b76617220743d746869732e63686172742c653d746869732e67657456616c75655363616c6528292c693d746869732e6765744d65746128292e646174612c6e3d746869732e6765744461746173657428292c613d692e6c656e6774682c6f3d303b666f7228722e63616e7661732e636c69704172656128742e6374782c742e636861727441726561293b6f3c613b2b2b6f2969734e614e28652e676574526967687456616c7565286e2e646174615b6f5d29297c7c695b6f5d2e6472617728293b722e63616e7661732e756e636c69704172656128742e637478297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c3b612e6261636b67726f756e64436f6c6f723d6e2e686f7665724261636b67726f756e64436f6c6f723f6e2e686f7665724261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e686f7665724261636b67726f756e64436f6c6f722c692c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d6e2e686f766572426f72646572436f6c6f723f6e2e686f766572426f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e686f766572426f72646572436f6c6f722c692c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d6e2e686f766572426f7264657257696474683f6e2e686f766572426f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e686f766572426f7264657257696474682c692c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c2c6f3d746869732e63686172742e6f7074696f6e732e656c656d656e74732e72656374616e676c653b612e6261636b67726f756e64436f6c6f723d6e2e6261636b67726f756e64436f6c6f723f6e2e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e6261636b67726f756e64436f6c6f722c692c6f2e6261636b67726f756e64436f6c6f72292c612e626f72646572436f6c6f723d6e2e626f72646572436f6c6f723f6e2e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e626f72646572436f6c6f722c692c6f2e626f72646572436f6c6f72292c612e626f7264657257696474683d6e2e626f7264657257696474683f6e2e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e626f7264657257696474682c692c6f2e626f726465725769647468297d7d292c742e636f6e74726f6c6c6572732e686f72697a6f6e74616c4261723d742e636f6e74726f6c6c6572732e6261722e657874656e64287b67657456616c75655363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e784178697349447d2c676574496e6465785363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e794178697349447d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822627562626c65222c7b686f7665723a7b6d6f64653a2273696e676c65227d2c7363616c65733a7b78417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d222c69643a22782d617869732d30227d5d2c79417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a226c656674222c69643a22792d617869732d30227d5d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c22222c6e3d652e64617461736574735b742e64617461736574496e6465785d2e646174615b742e696e6465785d3b72657475726e20692b223a2028222b742e784c6162656c2b222c20222b742e794c6162656c2b222c20222b6e2e722b2229227d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e627562626c653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e506f696e742c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e6765744d65746128292e646174613b722e6561636828692c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e6765744d65746128292c723d742e637573746f6d7c7c7b7d2c6f3d6e2e6765745363616c65466f72496428612e78417869734944292c733d6e2e6765745363616c65466f72496428612e79417869734944292c6c3d6e2e5f7265736f6c7665456c656d656e744f7074696f6e7328742c65292c753d6e2e6765744461746173657428292e646174615b655d2c643d6e2e696e6465782c683d693f6f2e676574506978656c466f72446563696d616c282e35293a6f2e676574506978656c466f7256616c756528226f626a656374223d3d747970656f6620753f753a4e614e2c652c64292c633d693f732e67657442617365506978656c28293a732e676574506978656c466f7256616c756528752c652c64293b742e5f785363616c653d6f2c742e5f795363616c653d732c742e5f6f7074696f6e733d6c2c742e5f64617461736574496e6465783d642c742e5f696e6465783d652c742e5f6d6f64656c3d7b6261636b67726f756e64436f6c6f723a6c2e6261636b67726f756e64436f6c6f722c626f72646572436f6c6f723a6c2e626f72646572436f6c6f722c626f7264657257696474683a6c2e626f7264657257696474682c6869745261646975733a6c2e6869745261646975732c706f696e745374796c653a6c2e706f696e745374796c652c7261646975733a693f303a6c2e7261646975732c736b69703a722e736b69707c7c69734e614e2868297c7c69734e614e2863292c783a682c793a637d2c742e7069766f7428297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d742e5f6d6f64656c2c693d742e5f6f7074696f6e733b652e6261636b67726f756e64436f6c6f723d722e76616c75654f7244656661756c7428692e686f7665724261636b67726f756e64436f6c6f722c722e676574486f766572436f6c6f7228692e6261636b67726f756e64436f6c6f7229292c652e626f72646572436f6c6f723d722e76616c75654f7244656661756c7428692e686f766572426f72646572436f6c6f722c722e676574486f766572436f6c6f7228692e626f72646572436f6c6f7229292c652e626f7264657257696474683d722e76616c75654f7244656661756c7428692e686f766572426f7264657257696474682c692e626f726465725769647468292c652e7261646975733d692e7261646975732b692e686f7665725261646975737d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d742e5f6d6f64656c2c693d742e5f6f7074696f6e733b652e6261636b67726f756e64436f6c6f723d692e6261636b67726f756e64436f6c6f722c652e626f72646572436f6c6f723d692e626f72646572436f6c6f722c652e626f7264657257696474683d692e626f7264657257696474682c652e7261646975733d692e7261646975737d2c5f7265736f6c7665456c656d656e744f7074696f6e733a66756e6374696f6e28742c65297b76617220692c6e2c612c6f3d746869732e63686172742c733d6f2e646174612e64617461736574735b746869732e696e6465785d2c6c3d742e637573746f6d7c7c7b7d2c753d6f2e6f7074696f6e732e656c656d656e74732e706f696e742c643d722e6f7074696f6e732e7265736f6c76652c683d732e646174615b655d2c633d7b7d2c663d7b63686172743a6f2c64617461496e6465783a652c646174617365743a732c64617461736574496e6465783a746869732e696e6465787d2c673d5b226261636b67726f756e64436f6c6f72222c22626f72646572436f6c6f72222c22626f726465725769647468222c22686f7665724261636b67726f756e64436f6c6f72222c22686f766572426f72646572436f6c6f72222c22686f766572426f726465725769647468222c22686f766572526164697573222c22686974526164697573222c22706f696e745374796c65225d3b666f7228693d302c6e3d672e6c656e6774683b693c6e3b2b2b6929635b613d675b695d5d3d64285b6c5b615d2c735b615d2c755b615d5d2c662c65293b72657475726e20632e7261646975733d64285b6c2e7261646975732c683f682e723a766f696420302c732e7261646975732c752e7261646975735d2c662c65292c637d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822646f7567686e7574222c7b616e696d6174696f6e3a7b616e696d617465526f746174653a21302c616e696d6174655363616c653a21317d2c686f7665723a7b6d6f64653a2273696e676c65227d2c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b76617220693d742e646174612c6e3d692e64617461736574732c613d692e6c6162656c733b6966286e2e6c656e67746829666f722876617220723d303b723c6e5b305d2e646174612e6c656e6774683b2b2b7229652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b6e5b305d2e6261636b67726f756e64436f6c6f725b725d2b27223e3c2f7370616e3e27292c615b725d2626652e7075736828615b725d292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d2c6c6567656e643a7b6c6162656c733a7b67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20652e6c6162656c732e6c656e6774682626652e64617461736574732e6c656e6774683f652e6c6162656c732e6d61702866756e6374696f6e28692c6e297b76617220613d742e676574446174617365744d6574612830292c6f3d652e64617461736574735b305d2c733d612e646174615b6e5d2c6c3d732626732e637573746f6d7c7c7b7d2c753d722e76616c75654174496e6465784f7244656661756c742c643d742e6f7074696f6e732e656c656d656e74732e6172633b72657475726e7b746578743a692c66696c6c5374796c653a6c2e6261636b67726f756e64436f6c6f723f6c2e6261636b67726f756e64436f6c6f723a75286f2e6261636b67726f756e64436f6c6f722c6e2c642e6261636b67726f756e64436f6c6f72292c7374726f6b655374796c653a6c2e626f72646572436f6c6f723f6c2e626f72646572436f6c6f723a75286f2e626f72646572436f6c6f722c6e2c642e626f72646572436f6c6f72292c6c696e6557696474683a6c2e626f7264657257696474683f6c2e626f7264657257696474683a75286f2e626f7264657257696474682c6e2c642e626f726465725769647468292c68696464656e3a69734e614e286f2e646174615b6e5d297c7c612e646174615b6e5d2e68696464656e2c696e6465783a6e7d7d293a5b5d7d7d2c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220692c6e2c612c723d652e696e6465782c6f3d746869732e63686172743b666f7228693d302c6e3d286f2e646174612e64617461736574737c7c5b5d292e6c656e6774683b693c6e3b2b2b692928613d6f2e676574446174617365744d657461286929292e646174615b725d262628612e646174615b725d2e68696464656e3d21612e646174615b725d2e68696464656e293b6f2e75706461746528297d7d2c6375746f757450657263656e746167653a35302c726f746174696f6e3a2d2e352a4d6174682e50492c63697263756d666572656e63653a322a4d6174682e50492c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e6c6162656c735b742e696e6465785d2c6e3d223a20222b652e64617461736574735b742e64617461736574496e6465785d2e646174615b742e696e6465785d3b72657475726e20722e697341727261792869293f28693d692e736c6963652829295b305d2b3d6e3a692b3d6e2c697d7d7d7d292c6e2e5f7365742822706965222c722e636c6f6e65286e2e646f7567686e757429292c6e2e5f7365742822706965222c7b6375746f757450657263656e746167653a307d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e646f7567686e75743d742e636f6e74726f6c6c6572732e7069653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e4172632c6c696e6b5363616c65733a722e6e6f6f702c67657452696e67496e6465783a66756e6374696f6e2874297b666f722876617220653d302c693d303b693c743b2b2b6929746869732e63686172742e69734461746173657456697369626c6528692926262b2b653b72657475726e20657d2c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742c6e3d692e6368617274417265612c613d692e6f7074696f6e732c6f3d612e656c656d656e74732e6172632c733d6e2e72696768742d6e2e6c6566742d6f2e626f7264657257696474682c6c3d6e2e626f74746f6d2d6e2e746f702d6f2e626f7264657257696474682c753d4d6174682e6d696e28732c6c292c643d7b783a302c793a307d2c683d652e6765744d65746128292c633d612e6375746f757450657263656e746167652c663d612e63697263756d666572656e63653b696628663c322a4d6174682e5049297b76617220673d612e726f746174696f6e2528322a4d6174682e5049292c6d3d28672b3d322a4d6174682e50492a28673e3d4d6174682e50493f2d313a673c2d4d6174682e50493f313a3029292b662c703d4d6174682e636f732867292c763d4d6174682e73696e2867292c793d4d6174682e636f73286d292c623d4d6174682e73696e286d292c783d673c3d3026266d3e3d307c7c673c3d322a4d6174682e50492626322a4d6174682e50493c3d6d2c5f3d673c3d2e352a4d6174682e504926262e352a4d6174682e50493c3d6d7c7c673c3d322e352a4d6174682e50492626322e352a4d6174682e50493c3d6d2c6b3d673c3d2d4d6174682e504926262d4d6174682e50493c3d6d7c7c673c3d4d6174682e504926264d6174682e50493c3d6d2c773d673c3d2e352a2d4d6174682e504926262e352a2d4d6174682e50493c3d6d7c7c673c3d312e352a4d6174682e50492626312e352a4d6174682e50493c3d6d2c4d3d632f3130302c533d6b3f2d313a4d6174682e6d696e28702a28703c303f313a4d292c792a28793c303f313a4d29292c443d773f2d313a4d6174682e6d696e28762a28763c303f313a4d292c622a28623c303f313a4d29292c433d783f313a4d6174682e6d617828702a28703e303f313a4d292c792a28793e303f313a4d29292c503d5f3f313a4d6174682e6d617828762a28763e303f313a4d292c622a28623e303f313a4d29292c543d2e352a28432d53292c4f3d2e352a28502d44293b753d4d6174682e6d696e28732f542c6c2f4f292c643d7b783a2d2e352a28432b53292c793a2d2e352a28502b44297d7d692e626f7264657257696474683d652e6765744d6178426f72646572576964746828682e64617461292c692e6f757465725261646975733d4d6174682e6d61782828752d692e626f726465725769647468292f322c30292c692e696e6e65725261646975733d4d6174682e6d617828633f692e6f757465725261646975732f3130302a633a302c30292c692e7261646975734c656e6774683d28692e6f757465725261646975732d692e696e6e6572526164697573292f692e67657456697369626c6544617461736574436f756e7428292c692e6f6666736574583d642e782a692e6f757465725261646975732c692e6f6666736574593d642e792a692e6f757465725261646975732c682e746f74616c3d652e63616c63756c617465546f74616c28292c652e6f757465725261646975733d692e6f757465725261646975732d692e7261646975734c656e6774682a652e67657452696e67496e64657828652e696e646578292c652e696e6e65725261646975733d4d6174682e6d617828652e6f757465725261646975732d692e7261646975734c656e6774682c30292c722e6561636828682e646174612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e63686172742c6f3d612e6368617274417265612c733d612e6f7074696f6e732c6c3d732e616e696d6174696f6e2c753d286f2e6c6566742b6f2e7269676874292f322c643d286f2e746f702b6f2e626f74746f6d292f322c683d732e726f746174696f6e2c633d732e726f746174696f6e2c663d6e2e6765744461746173657428292c673d6926266c2e616e696d617465526f746174653f303a742e68696464656e3f303a6e2e63616c63756c61746543697263756d666572656e636528662e646174615b655d292a28732e63697263756d666572656e63652f28322a4d6174682e504929292c6d3d6926266c2e616e696d6174655363616c653f303a6e2e696e6e65725261646975732c703d6926266c2e616e696d6174655363616c653f303a6e2e6f757465725261646975732c763d722e76616c75654174496e6465784f7244656661756c743b722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f6d6f64656c3a7b783a752b612e6f6666736574582c793a642b612e6f6666736574592c7374617274416e676c653a682c656e64416e676c653a632c63697263756d666572656e63653a672c6f757465725261646975733a702c696e6e65725261646975733a6d2c6c6162656c3a7628662e6c6162656c2c652c612e646174612e6c6162656c735b655d297d7d293b76617220793d742e5f6d6f64656c3b746869732e72656d6f7665486f7665725374796c652874292c6926266c2e616e696d617465526f746174657c7c28792e7374617274416e676c653d303d3d3d653f732e726f746174696f6e3a6e2e6765744d65746128292e646174615b652d315d2e5f6d6f64656c2e656e64416e676c652c792e656e64416e676c653d792e7374617274416e676c652b792e63697263756d666572656e6365292c742e7069766f7428297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2865297b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e72656d6f7665486f7665725374796c652e63616c6c28746869732c652c746869732e63686172742e6f7074696f6e732e656c656d656e74732e617263297d2c63616c63756c617465546f74616c3a66756e6374696f6e28297b76617220742c653d746869732e6765744461746173657428292c693d746869732e6765744d65746128292c6e3d303b72657475726e20722e6561636828692e646174612c66756e6374696f6e28692c61297b743d652e646174615b615d2c69734e614e2874297c7c692e68696464656e7c7c286e2b3d4d6174682e616273287429297d292c6e7d2c63616c63756c61746543697263756d666572656e63653a66756e6374696f6e2874297b76617220653d746869732e6765744d65746128292e746f74616c3b72657475726e20653e3026262169734e614e2874293f322a4d6174682e50492a284d6174682e6162732874292f65293a307d2c6765744d6178426f7264657257696474683a66756e6374696f6e2874297b666f722876617220652c692c6e3d302c613d746869732e696e6465782c723d742e6c656e6774682c6f3d303b6f3c723b6f2b2b29653d745b6f5d2e5f6d6f64656c3f745b6f5d2e5f6d6f64656c2e626f7264657257696474683a302c6e3d28693d745b6f5d2e5f63686172743f745b6f5d2e5f63686172742e636f6e6669672e646174612e64617461736574735b615d2e686f766572426f7264657257696474683a30293e286e3d653e6e3f653a6e293f693a6e3b72657475726e206e7d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f73657428226c696e65222c7b73686f774c696e65733a21302c7370616e476170733a21312c686f7665723a7b6d6f64653a226c6162656c227d2c7363616c65733a7b78417865733a5b7b747970653a2263617465676f7279222c69643a22782d617869732d30227d5d2c79417865733a5b7b747970653a226c696e656172222c69643a22792d617869732d30227d5d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c65297b72657475726e20722e76616c75654f7244656661756c7428742e73686f774c696e652c652e73686f774c696e6573297d742e636f6e74726f6c6c6572732e6c696e653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461736574456c656d656e74547970653a612e4c696e652c64617461456c656d656e74547970653a612e506f696e742c7570646174653a66756e6374696f6e2874297b76617220692c6e2c612c6f3d746869732c733d6f2e6765744d65746128292c6c3d732e646174617365742c753d732e646174617c7c5b5d2c643d6f2e63686172742e6f7074696f6e732c683d642e656c656d656e74732e6c696e652c633d6f2e6765745363616c65466f72496428732e79417869734944292c663d6f2e6765744461746173657428292c673d6528662c64293b666f722867262628613d6c2e637573746f6d7c7c7b7d2c766f69642030213d3d662e74656e73696f6e2626766f696420303d3d3d662e6c696e6554656e73696f6e262628662e6c696e6554656e73696f6e3d662e74656e73696f6e292c6c2e5f7363616c653d632c6c2e5f64617461736574496e6465783d6f2e696e6465782c6c2e5f6368696c6472656e3d752c6c2e5f6d6f64656c3d7b7370616e476170733a662e7370616e476170733f662e7370616e476170733a642e7370616e476170732c74656e73696f6e3a612e74656e73696f6e3f612e74656e73696f6e3a722e76616c75654f7244656661756c7428662e6c696e6554656e73696f6e2c682e74656e73696f6e292c6261636b67726f756e64436f6c6f723a612e6261636b67726f756e64436f6c6f723f612e6261636b67726f756e64436f6c6f723a662e6261636b67726f756e64436f6c6f727c7c682e6261636b67726f756e64436f6c6f722c626f7264657257696474683a612e626f7264657257696474683f612e626f7264657257696474683a662e626f7264657257696474687c7c682e626f7264657257696474682c626f72646572436f6c6f723a612e626f72646572436f6c6f723f612e626f72646572436f6c6f723a662e626f72646572436f6c6f727c7c682e626f72646572436f6c6f722c626f726465724361705374796c653a612e626f726465724361705374796c653f612e626f726465724361705374796c653a662e626f726465724361705374796c657c7c682e626f726465724361705374796c652c626f72646572446173683a612e626f72646572446173683f612e626f72646572446173683a662e626f72646572446173687c7c682e626f72646572446173682c626f72646572446173684f66667365743a612e626f72646572446173684f66667365743f612e626f72646572446173684f66667365743a662e626f72646572446173684f66667365747c7c682e626f72646572446173684f66667365742c626f726465724a6f696e5374796c653a612e626f726465724a6f696e5374796c653f612e626f726465724a6f696e5374796c653a662e626f726465724a6f696e5374796c657c7c682e626f726465724a6f696e5374796c652c66696c6c3a612e66696c6c3f612e66696c6c3a766f69642030213d3d662e66696c6c3f662e66696c6c3a682e66696c6c2c737465707065644c696e653a612e737465707065644c696e653f612e737465707065644c696e653a722e76616c75654f7244656661756c7428662e737465707065644c696e652c682e73746570706564292c6375626963496e746572706f6c6174696f6e4d6f64653a612e6375626963496e746572706f6c6174696f6e4d6f64653f612e6375626963496e746572706f6c6174696f6e4d6f64653a722e76616c75654f7244656661756c7428662e6375626963496e746572706f6c6174696f6e4d6f64652c682e6375626963496e746572706f6c6174696f6e4d6f6465297d2c6c2e7069766f742829292c693d302c6e3d752e6c656e6774683b693c6e3b2b2b69296f2e757064617465456c656d656e7428755b695d2c692c74293b666f722867262630213d3d6c2e5f6d6f64656c2e74656e73696f6e26266f2e75706461746542657a696572436f6e74726f6c506f696e747328292c693d302c6e3d752e6c656e6774683b693c6e3b2b2b6929755b695d2e7069766f7428297d2c676574506f696e744261636b67726f756e64436f6c6f723a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e6261636b67726f756e64436f6c6f722c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e20612e6261636b67726f756e64436f6c6f723f693d612e6261636b67726f756e64436f6c6f723a6e2e706f696e744261636b67726f756e64436f6c6f723f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e744261636b67726f756e64436f6c6f722c652c69293a6e2e6261636b67726f756e64436f6c6f72262628693d6e2e6261636b67726f756e64436f6c6f72292c697d2c676574506f696e74426f72646572436f6c6f723a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e626f72646572436f6c6f722c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e20612e626f72646572436f6c6f723f693d612e626f72646572436f6c6f723a6e2e706f696e74426f72646572436f6c6f723f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e74426f72646572436f6c6f722c652c69293a6e2e626f72646572436f6c6f72262628693d6e2e626f72646572436f6c6f72292c697d2c676574506f696e74426f7264657257696474683a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e626f7264657257696474682c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e2069734e614e28612e626f726465725769647468293f2169734e614e286e2e706f696e74426f726465725769647468297c7c722e69734172726179286e2e706f696e74426f726465725769647468293f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e74426f7264657257696474682c652c69293a69734e614e286e2e626f726465725769647468297c7c28693d6e2e626f726465725769647468293a693d612e626f7264657257696474682c697d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e2c612c6f3d746869732c733d6f2e6765744d65746128292c6c3d742e637573746f6d7c7c7b7d2c753d6f2e6765744461746173657428292c643d6f2e696e6465782c683d752e646174615b655d2c633d6f2e6765745363616c65466f72496428732e79417869734944292c663d6f2e6765745363616c65466f72496428732e78417869734944292c673d6f2e63686172742e6f7074696f6e732e656c656d656e74732e706f696e743b766f69642030213d3d752e7261646975732626766f696420303d3d3d752e706f696e74526164697573262628752e706f696e745261646975733d752e726164697573292c766f69642030213d3d752e6869745261646975732626766f696420303d3d3d752e706f696e74486974526164697573262628752e706f696e744869745261646975733d752e686974526164697573292c6e3d662e676574506978656c466f7256616c756528226f626a656374223d3d747970656f6620683f683a4e614e2c652c64292c613d693f632e67657442617365506978656c28293a6f2e63616c63756c617465506f696e745928682c652c64292c742e5f785363616c653d662c742e5f795363616c653d632c742e5f64617461736574496e6465783d642c742e5f696e6465783d652c742e5f6d6f64656c3d7b783a6e2c793a612c736b69703a6c2e736b69707c7c69734e614e286e297c7c69734e614e2861292c7261646975733a6c2e7261646975737c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e745261646975732c652c672e726164697573292c706f696e745374796c653a6c2e706f696e745374796c657c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e745374796c652c652c672e706f696e745374796c65292c6261636b67726f756e64436f6c6f723a6f2e676574506f696e744261636b67726f756e64436f6c6f7228742c65292c626f72646572436f6c6f723a6f2e676574506f696e74426f72646572436f6c6f7228742c65292c626f7264657257696474683a6f2e676574506f696e74426f72646572576964746828742c65292c74656e73696f6e3a732e646174617365742e5f6d6f64656c3f732e646174617365742e5f6d6f64656c2e74656e73696f6e3a302c737465707065644c696e653a2121732e646174617365742e5f6d6f64656c2626732e646174617365742e5f6d6f64656c2e737465707065644c696e652c6869745261646975733a6c2e6869745261646975737c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e744869745261646975732c652c672e686974526164697573297d7d2c63616c63756c617465506f696e74593a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d746869732e63686172742c733d746869732e6765744d65746128292c6c3d746869732e6765745363616c65466f72496428732e79417869734944292c753d302c643d303b6966286c2e6f7074696f6e732e737461636b6564297b666f72286e3d303b6e3c693b6e2b2b29696628613d6f2e646174612e64617461736574735b6e5d2c226c696e65223d3d3d28723d6f2e676574446174617365744d657461286e29292e747970652626722e794178697349443d3d3d6c2e696426266f2e69734461746173657456697369626c65286e29297b76617220683d4e756d626572286c2e676574526967687456616c756528612e646174615b655d29293b683c303f642b3d687c7c303a752b3d687c7c307d76617220633d4e756d626572286c2e676574526967687456616c7565287429293b72657475726e20633c303f6c2e676574506978656c466f7256616c756528642b63293a6c2e676574506978656c466f7256616c756528752b63297d72657475726e206c2e676574506978656c466f7256616c75652874297d2c75706461746542657a696572436f6e74726f6c506f696e74733a66756e6374696f6e28297b76617220742c652c692c6e2c613d746869732e6765744d65746128292c6f3d746869732e63686172742e6368617274417265612c733d612e646174617c7c5b5d3b66756e6374696f6e206c28742c652c69297b72657475726e204d6174682e6d6178284d6174682e6d696e28742c69292c65297d696628612e646174617365742e5f6d6f64656c2e7370616e47617073262628733d732e66696c7465722866756e6374696f6e2874297b72657475726e21742e5f6d6f64656c2e736b69707d29292c226d6f6e6f746f6e65223d3d3d612e646174617365742e5f6d6f64656c2e6375626963496e746572706f6c6174696f6e4d6f646529722e73706c696e6543757276654d6f6e6f746f6e652873293b656c736520666f7228743d302c653d732e6c656e6774683b743c653b2b2b7429693d735b745d2e5f6d6f64656c2c6e3d722e73706c696e65437572766528722e70726576696f75734974656d28732c74292e5f6d6f64656c2c692c722e6e6578744974656d28732c74292e5f6d6f64656c2c612e646174617365742e5f6d6f64656c2e74656e73696f6e292c692e636f6e74726f6c506f696e7450726576696f7573583d6e2e70726576696f75732e782c692e636f6e74726f6c506f696e7450726576696f7573593d6e2e70726576696f75732e792c692e636f6e74726f6c506f696e744e657874583d6e2e6e6578742e782c692e636f6e74726f6c506f696e744e657874593d6e2e6e6578742e793b696628746869732e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652e63617042657a696572506f696e747329666f7228743d302c653d732e6c656e6774683b743c653b2b2b742928693d735b745d2e5f6d6f64656c292e636f6e74726f6c506f696e7450726576696f7573583d6c28692e636f6e74726f6c506f696e7450726576696f7573582c6f2e6c6566742c6f2e7269676874292c692e636f6e74726f6c506f696e7450726576696f7573593d6c28692e636f6e74726f6c506f696e7450726576696f7573592c6f2e746f702c6f2e626f74746f6d292c692e636f6e74726f6c506f696e744e657874583d6c28692e636f6e74726f6c506f696e744e657874582c6f2e6c6566742c6f2e7269676874292c692e636f6e74726f6c506f696e744e657874593d6c28692e636f6e74726f6c506f696e744e657874592c6f2e746f702c6f2e626f74746f6d297d2c647261773a66756e6374696f6e28297b76617220743d746869732e63686172742c693d746869732e6765744d65746128292c6e3d692e646174617c7c5b5d2c613d742e6368617274417265612c6f3d6e2e6c656e6774682c733d303b666f7228722e63616e7661732e636c69704172656128742e6374782c61292c6528746869732e6765744461746173657428292c742e6f7074696f6e73292626692e646174617365742e6472617728292c722e63616e7661732e756e636c69704172656128742e637478293b733c6f3b2b2b73296e5b735d2e647261772861297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c3b612e7261646975733d6e2e686f7665725261646975737c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665725261646975732c692c746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e686f766572526164697573292c612e6261636b67726f756e64436f6c6f723d6e2e686f7665724261636b67726f756e64436f6c6f727c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665724261636b67726f756e64436f6c6f722c692c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d6e2e686f766572426f72646572436f6c6f727c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f72646572436f6c6f722c692c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d6e2e686f766572426f7264657257696474687c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f7264657257696474682c692c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c6e3d742e5f696e6465782c613d742e637573746f6d7c7c7b7d2c6f3d742e5f6d6f64656c3b766f69642030213d3d692e7261646975732626766f696420303d3d3d692e706f696e74526164697573262628692e706f696e745261646975733d692e726164697573292c6f2e7261646975733d612e7261646975737c7c722e76616c75654174496e6465784f7244656661756c7428692e706f696e745261646975732c6e2c652e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e726164697573292c6f2e6261636b67726f756e64436f6c6f723d652e676574506f696e744261636b67726f756e64436f6c6f7228742c6e292c6f2e626f72646572436f6c6f723d652e676574506f696e74426f72646572436f6c6f7228742c6e292c6f2e626f7264657257696474683d652e676574506f696e74426f72646572576964746828742c6e297d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822706f6c617241726561222c7b7363616c653a7b747970653a2272616469616c4c696e656172222c616e676c654c696e65733a7b646973706c61793a21317d2c677269644c696e65733a7b63697263756c61723a21307d2c706f696e744c6162656c733a7b646973706c61793a21317d2c7469636b733a7b626567696e41745a65726f3a21307d7d2c616e696d6174696f6e3a7b616e696d617465526f746174653a21302c616e696d6174655363616c653a21307d2c7374617274416e676c653a2d2e352a4d6174682e50492c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b76617220693d742e646174612c6e3d692e64617461736574732c613d692e6c6162656c733b6966286e2e6c656e67746829666f722876617220723d303b723c6e5b305d2e646174612e6c656e6774683b2b2b7229652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b6e5b305d2e6261636b67726f756e64436f6c6f725b725d2b27223e3c2f7370616e3e27292c615b725d2626652e7075736828615b725d292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d2c6c6567656e643a7b6c6162656c733a7b67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20652e6c6162656c732e6c656e6774682626652e64617461736574732e6c656e6774683f652e6c6162656c732e6d61702866756e6374696f6e28692c6e297b76617220613d742e676574446174617365744d6574612830292c6f3d652e64617461736574735b305d2c733d612e646174615b6e5d2e637573746f6d7c7c7b7d2c6c3d722e76616c75654174496e6465784f7244656661756c742c753d742e6f7074696f6e732e656c656d656e74732e6172633b72657475726e7b746578743a692c66696c6c5374796c653a732e6261636b67726f756e64436f6c6f723f732e6261636b67726f756e64436f6c6f723a6c286f2e6261636b67726f756e64436f6c6f722c6e2c752e6261636b67726f756e64436f6c6f72292c7374726f6b655374796c653a732e626f72646572436f6c6f723f732e626f72646572436f6c6f723a6c286f2e626f72646572436f6c6f722c6e2c752e626f72646572436f6c6f72292c6c696e6557696474683a732e626f7264657257696474683f732e626f7264657257696474683a6c286f2e626f7264657257696474682c6e2c752e626f726465725769647468292c68696464656e3a69734e614e286f2e646174615b6e5d297c7c612e646174615b6e5d2e68696464656e2c696e6465783a6e7d7d293a5b5d7d7d2c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220692c6e2c612c723d652e696e6465782c6f3d746869732e63686172743b666f7228693d302c6e3d286f2e646174612e64617461736574737c7c5b5d292e6c656e6774683b693c6e3b2b2b692928613d6f2e676574446174617365744d657461286929292e646174615b725d2e68696464656e3d21612e646174615b725d2e68696464656e3b6f2e75706461746528297d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b72657475726e20652e6c6162656c735b742e696e6465785d2b223a20222b742e794c6162656c7d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e706f6c6172417265613d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e4172632c6c696e6b5363616c65733a722e6e6f6f702c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742c6e3d692e6368617274417265612c613d652e6765744d65746128292c6f3d692e6f7074696f6e732c733d6f2e656c656d656e74732e6172632c6c3d4d6174682e6d696e286e2e72696768742d6e2e6c6566742c6e2e626f74746f6d2d6e2e746f70293b692e6f757465725261646975733d4d6174682e6d617828286c2d732e626f7264657257696474682f32292f322c30292c692e696e6e65725261646975733d4d6174682e6d6178286f2e6375746f757450657263656e746167653f692e6f757465725261646975732f3130302a6f2e6375746f757450657263656e746167653a312c30292c692e7261646975734c656e6774683d28692e6f757465725261646975732d692e696e6e6572526164697573292f692e67657456697369626c6544617461736574436f756e7428292c652e6f757465725261646975733d692e6f757465725261646975732d692e7261646975734c656e6774682a652e696e6465782c652e696e6e65725261646975733d652e6f757465725261646975732d692e7261646975734c656e6774682c612e636f756e743d652e636f756e7456697369626c65456c656d656e747328292c722e6561636828612e646174612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b666f7228766172206e3d746869732c613d6e2e63686172742c6f3d6e2e6765744461746173657428292c733d612e6f7074696f6e732c6c3d732e616e696d6174696f6e2c753d612e7363616c652c643d612e646174612e6c6162656c732c683d6e2e63616c63756c61746543697263756d666572656e6365286f2e646174615b655d292c633d752e7843656e7465722c663d752e7943656e7465722c673d302c6d3d6e2e6765744d65746128292c703d303b703c653b2b2b702969734e614e286f2e646174615b705d297c7c6d2e646174615b705d2e68696464656e7c7c2b2b673b76617220763d732e7374617274416e676c652c793d742e68696464656e3f303a752e67657444697374616e636546726f6d43656e746572466f7256616c7565286f2e646174615b655d292c623d762b682a672c783d622b28742e68696464656e3f303a68292c5f3d6c2e616e696d6174655363616c653f303a752e67657444697374616e636546726f6d43656e746572466f7256616c7565286f2e646174615b655d293b722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f7363616c653a752c5f6d6f64656c3a7b783a632c793a662c696e6e65725261646975733a302c6f757465725261646975733a693f5f3a792c7374617274416e676c653a6926266c2e616e696d617465526f746174653f763a622c656e64416e676c653a6926266c2e616e696d617465526f746174653f763a782c6c6162656c3a722e76616c75654174496e6465784f7244656661756c7428642c652c645b655d297d7d292c6e2e72656d6f7665486f7665725374796c652874292c742e7069766f7428297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2865297b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e72656d6f7665486f7665725374796c652e63616c6c28746869732c652c746869732e63686172742e6f7074696f6e732e656c656d656e74732e617263297d2c636f756e7456697369626c65456c656d656e74733a66756e6374696f6e28297b76617220743d746869732e6765744461746173657428292c653d746869732e6765744d65746128292c693d303b72657475726e20722e6561636828652e646174612c66756e6374696f6e28652c6e297b69734e614e28742e646174615b6e5d297c7c652e68696464656e7c7c692b2b7d292c697d2c63616c63756c61746543697263756d666572656e63653a66756e6374696f6e2874297b76617220653d746869732e6765744d65746128292e636f756e743b72657475726e20653e3026262169734e614e2874293f322a4d6174682e50492f653a307d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c32303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f73657428227261646172222c7b7363616c653a7b747970653a2272616469616c4c696e656172227d2c656c656d656e74733a7b6c696e653a7b74656e73696f6e3a307d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e72616461723d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461736574456c656d656e74547970653a612e4c696e652c64617461456c656d656e74547970653a612e506f696e742c6c696e6b5363616c65733a722e6e6f6f702c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e6765744d65746128292c6e3d692e646174617365742c613d692e646174612c6f3d6e2e637573746f6d7c7c7b7d2c733d652e6765744461746173657428292c6c3d652e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652c753d652e63686172742e7363616c653b766f69642030213d3d732e74656e73696f6e2626766f696420303d3d3d732e6c696e6554656e73696f6e262628732e6c696e6554656e73696f6e3d732e74656e73696f6e292c722e657874656e6428692e646174617365742c7b5f64617461736574496e6465783a652e696e6465782c5f7363616c653a752c5f6368696c6472656e3a612c5f6c6f6f703a21302c5f6d6f64656c3a7b74656e73696f6e3a6f2e74656e73696f6e3f6f2e74656e73696f6e3a722e76616c75654f7244656661756c7428732e6c696e6554656e73696f6e2c6c2e74656e73696f6e292c6261636b67726f756e64436f6c6f723a6f2e6261636b67726f756e64436f6c6f723f6f2e6261636b67726f756e64436f6c6f723a732e6261636b67726f756e64436f6c6f727c7c6c2e6261636b67726f756e64436f6c6f722c626f7264657257696474683a6f2e626f7264657257696474683f6f2e626f7264657257696474683a732e626f7264657257696474687c7c6c2e626f7264657257696474682c626f72646572436f6c6f723a6f2e626f72646572436f6c6f723f6f2e626f72646572436f6c6f723a732e626f72646572436f6c6f727c7c6c2e626f72646572436f6c6f722c66696c6c3a6f2e66696c6c3f6f2e66696c6c3a766f69642030213d3d732e66696c6c3f732e66696c6c3a6c2e66696c6c2c626f726465724361705374796c653a6f2e626f726465724361705374796c653f6f2e626f726465724361705374796c653a732e626f726465724361705374796c657c7c6c2e626f726465724361705374796c652c626f72646572446173683a6f2e626f72646572446173683f6f2e626f72646572446173683a732e626f72646572446173687c7c6c2e626f72646572446173682c626f72646572446173684f66667365743a6f2e626f72646572446173684f66667365743f6f2e626f72646572446173684f66667365743a732e626f72646572446173684f66667365747c7c6c2e626f72646572446173684f66667365742c626f726465724a6f696e5374796c653a6f2e626f726465724a6f696e5374796c653f6f2e626f726465724a6f696e5374796c653a732e626f726465724a6f696e5374796c657c7c6c2e626f726465724a6f696e5374796c657d7d292c692e646174617365742e7069766f7428292c722e6561636828612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d2c65292c652e75706461746542657a696572436f6e74726f6c506f696e747328297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d742e637573746f6d7c7c7b7d2c6f3d6e2e6765744461746173657428292c733d6e2e63686172742e7363616c652c6c3d6e2e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742c753d732e676574506f696e74506f736974696f6e466f7256616c756528652c6f2e646174615b655d293b766f69642030213d3d6f2e7261646975732626766f696420303d3d3d6f2e706f696e745261646975732626286f2e706f696e745261646975733d6f2e726164697573292c766f69642030213d3d6f2e6869745261646975732626766f696420303d3d3d6f2e706f696e744869745261646975732626286f2e706f696e744869745261646975733d6f2e686974526164697573292c722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f7363616c653a732c5f6d6f64656c3a7b783a693f732e7843656e7465723a752e782c793a693f732e7943656e7465723a752e792c74656e73696f6e3a612e74656e73696f6e3f612e74656e73696f6e3a722e76616c75654f7244656661756c74286f2e6c696e6554656e73696f6e2c6e2e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652e74656e73696f6e292c7261646975733a612e7261646975733f612e7261646975733a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e745261646975732c652c6c2e726164697573292c6261636b67726f756e64436f6c6f723a612e6261636b67726f756e64436f6c6f723f612e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e744261636b67726f756e64436f6c6f722c652c6c2e6261636b67726f756e64436f6c6f72292c626f72646572436f6c6f723a612e626f72646572436f6c6f723f612e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e74426f72646572436f6c6f722c652c6c2e626f72646572436f6c6f72292c626f7264657257696474683a612e626f7264657257696474683f612e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e74426f7264657257696474682c652c6c2e626f726465725769647468292c706f696e745374796c653a612e706f696e745374796c653f612e706f696e745374796c653a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e745374796c652c652c6c2e706f696e745374796c65292c6869745261646975733a612e6869745261646975733f612e6869745261646975733a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e744869745261646975732c652c6c2e686974526164697573297d7d292c742e5f6d6f64656c2e736b69703d612e736b69703f612e736b69703a69734e614e28742e5f6d6f64656c2e78297c7c69734e614e28742e5f6d6f64656c2e79297d2c75706461746542657a696572436f6e74726f6c506f696e74733a66756e6374696f6e28297b76617220743d746869732e63686172742e6368617274417265612c653d746869732e6765744d65746128293b722e6561636828652e646174612c66756e6374696f6e28692c6e297b76617220613d692e5f6d6f64656c2c6f3d722e73706c696e65437572766528722e70726576696f75734974656d28652e646174612c6e2c2130292e5f6d6f64656c2c612c722e6e6578744974656d28652e646174612c6e2c2130292e5f6d6f64656c2c612e74656e73696f6e293b612e636f6e74726f6c506f696e7450726576696f7573583d4d6174682e6d6178284d6174682e6d696e286f2e70726576696f75732e782c742e7269676874292c742e6c656674292c612e636f6e74726f6c506f696e7450726576696f7573593d4d6174682e6d6178284d6174682e6d696e286f2e70726576696f75732e792c742e626f74746f6d292c742e746f70292c612e636f6e74726f6c506f696e744e657874583d4d6174682e6d6178284d6174682e6d696e286f2e6e6578742e782c742e7269676874292c742e6c656674292c612e636f6e74726f6c506f696e744e657874593d4d6174682e6d6178284d6174682e6d696e286f2e6e6578742e792c742e626f74746f6d292c742e746f70292c692e7069766f7428297d297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e637573746f6d7c7c7b7d2c6e3d742e5f696e6465782c613d742e5f6d6f64656c3b612e7261646975733d692e686f7665725261646975733f692e686f7665725261646975733a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665725261646975732c6e2c746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e686f766572526164697573292c612e6261636b67726f756e64436f6c6f723d692e686f7665724261636b67726f756e64436f6c6f723f692e686f7665724261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665724261636b67726f756e64436f6c6f722c6e2c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d692e686f766572426f72646572436f6c6f723f692e686f766572426f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f72646572436f6c6f722c6e2c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d692e686f766572426f7264657257696474683f692e686f766572426f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f7264657257696474682c6e2c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e637573746f6d7c7c7b7d2c6e3d742e5f696e6465782c613d742e5f6d6f64656c2c6f3d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e743b612e7261646975733d692e7261646975733f692e7261646975733a722e76616c75654174496e6465784f7244656661756c7428652e706f696e745261646975732c6e2c6f2e726164697573292c612e6261636b67726f756e64436f6c6f723d692e6261636b67726f756e64436f6c6f723f692e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e744261636b67726f756e64436f6c6f722c6e2c6f2e6261636b67726f756e64436f6c6f72292c612e626f72646572436f6c6f723d692e626f72646572436f6c6f723f692e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74426f72646572436f6c6f722c6e2c6f2e626f72646572436f6c6f72292c612e626f7264657257696474683d692e626f7264657257696474683f692e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74426f7264657257696474682c6e2c6f2e626f726465725769647468297d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c32313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b74283235292e5f736574282273636174746572222c7b686f7665723a7b6d6f64653a2273696e676c65227d2c7363616c65733a7b78417865733a5b7b69643a22782d617869732d31222c747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d227d5d2c79417865733a5b7b69643a22792d617869732d31222c747970653a226c696e656172222c706f736974696f6e3a226c656674227d5d7d2c73686f774c696e65733a21312c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e2874297b72657475726e2228222b742e784c6162656c2b222c20222b742e794c6162656c2b2229227d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e736361747465723d742e636f6e74726f6c6c6572732e6c696e657d7d2c7b32353a32357d5d2c32323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b616e696d6174696f6e3a7b6475726174696f6e3a3165332c656173696e673a22656173654f75745175617274222c6f6e50726f67726573733a722e6e6f6f702c6f6e436f6d706c6574653a722e6e6f6f707d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e416e696d6174696f6e3d612e657874656e64287b63686172743a6e756c6c2c63757272656e74537465703a302c6e756d53746570733a36302c656173696e673a22222c72656e6465723a6e756c6c2c6f6e416e696d6174696f6e50726f67726573733a6e756c6c2c6f6e416e696d6174696f6e436f6d706c6574653a6e756c6c7d292c742e616e696d6174696f6e536572766963653d7b6672616d654475726174696f6e3a31372c616e696d6174696f6e733a5b5d2c64726f704672616d65733a302c726571756573743a6e756c6c2c616464416e696d6174696f6e3a66756e6374696f6e28742c652c692c6e297b76617220612c722c6f3d746869732e616e696d6174696f6e733b666f7228652e63686172743d742c6e7c7c28742e616e696d6174696e673d2130292c613d302c723d6f2e6c656e6774683b613c723b2b2b61296966286f5b615d2e63686172743d3d3d742972657475726e20766f6964286f5b615d3d65293b6f2e707573682865292c313d3d3d6f2e6c656e6774682626746869732e72657175657374416e696d6174696f6e4672616d6528297d2c63616e63656c416e696d6174696f6e3a66756e6374696f6e2874297b76617220653d722e66696e64496e64657828746869732e616e696d6174696f6e732c66756e6374696f6e2865297b72657475726e20652e63686172743d3d3d747d293b2d31213d3d65262628746869732e616e696d6174696f6e732e73706c69636528652c31292c742e616e696d6174696e673d2131297d2c72657175657374416e696d6174696f6e4672616d653a66756e6374696f6e28297b76617220743d746869733b6e756c6c3d3d3d742e72657175657374262628742e726571756573743d722e72657175657374416e696d4672616d652e63616c6c2877696e646f772c66756e6374696f6e28297b742e726571756573743d6e756c6c2c742e737461727444696765737428297d29297d2c73746172744469676573743a66756e6374696f6e28297b76617220743d746869732c653d446174652e6e6f7728292c693d303b742e64726f704672616d65733e31262628693d4d6174682e666c6f6f7228742e64726f704672616d6573292c742e64726f704672616d65733d742e64726f704672616d65732531292c742e616476616e636528312b69293b766172206e3d446174652e6e6f7728293b742e64726f704672616d65732b3d286e2d65292f742e6672616d654475726174696f6e2c742e616e696d6174696f6e732e6c656e6774683e302626742e72657175657374416e696d6174696f6e4672616d6528297d2c616476616e63653a66756e6374696f6e2874297b666f722876617220652c692c6e3d746869732e616e696d6174696f6e732c613d303b613c6e2e6c656e6774683b29693d28653d6e5b615d292e63686172742c652e63757272656e74537465703d28652e63757272656e74537465707c7c30292b742c652e63757272656e74537465703d4d6174682e6d696e28652e63757272656e74537465702c652e6e756d5374657073292c722e63616c6c6261636b28652e72656e6465722c5b692c655d2c69292c722e63616c6c6261636b28652e6f6e416e696d6174696f6e50726f67726573732c5b655d2c69292c652e63757272656e74537465703e3d652e6e756d53746570733f28722e63616c6c6261636b28652e6f6e416e696d6174696f6e436f6d706c6574652c5b655d2c69292c692e616e696d6174696e673d21312c6e2e73706c69636528612c3129293a2b2b617d7d2c4f626a6563742e646566696e6550726f706572747928742e416e696d6174696f6e2e70726f746f747970652c22616e696d6174696f6e4f626a656374222c7b6765743a66756e6374696f6e28297b72657475726e20746869737d7d292c4f626a6563742e646566696e6550726f706572747928742e416e696d6174696f6e2e70726f746f747970652c226368617274496e7374616e6365222c7b6765743a66756e6374696f6e28297b72657475726e20746869732e63686172747d2c7365743a66756e6374696f6e2874297b746869732e63686172743d747d7d297d7d2c7b32353a32352c32363a32362c34353a34357d5d2c32333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283238292c6f3d74283330292c733d74283438292c6c3d74283331293b652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e20652874297b72657475726e22746f70223d3d3d747c7c22626f74746f6d223d3d3d747d742e74797065733d7b7d2c742e696e7374616e6365733d7b7d2c742e636f6e74726f6c6c6572733d7b7d2c612e657874656e6428742e70726f746f747970652c7b636f6e7374727563743a66756e6374696f6e28652c69297b76617220722c6f2c6c3d746869733b286f3d28723d28723d69297c7c7b7d292e646174613d722e646174617c7c7b7d292e64617461736574733d6f2e64617461736574737c7c5b5d2c6f2e6c6162656c733d6f2e6c6162656c737c7c5b5d2c722e6f7074696f6e733d612e636f6e6669674d65726765286e2e676c6f62616c2c6e5b722e747970655d2c722e6f7074696f6e737c7c7b7d292c693d723b76617220753d732e61637175697265436f6e7465787428652c69292c643d752626752e63616e7661732c683d642626642e6865696768742c633d642626642e77696474683b6c2e69643d612e75696428292c6c2e6374783d752c6c2e63616e7661733d642c6c2e636f6e6669673d692c6c2e77696474683d632c6c2e6865696768743d682c6c2e617370656374526174696f3d683f632f683a6e756c6c2c6c2e6f7074696f6e733d692e6f7074696f6e732c6c2e5f627566666572656452656e6465723d21312c6c2e63686172743d6c2c6c2e636f6e74726f6c6c65723d6c2c742e696e7374616e6365735b6c2e69645d3d6c2c4f626a6563742e646566696e6550726f7065727479286c2c2264617461222c7b6765743a66756e6374696f6e28297b72657475726e206c2e636f6e6669672e646174617d2c7365743a66756e6374696f6e2874297b6c2e636f6e6669672e646174613d747d7d292c752626643f286c2e696e697469616c697a6528292c6c2e7570646174652829293a636f6e736f6c652e6572726f7228224661696c656420746f206372656174652063686172743a2063616e2774206163717569726520636f6e746578742066726f6d2074686520676976656e206974656d22297d2c696e697469616c697a653a66756e6374696f6e28297b76617220743d746869733b72657475726e206c2e6e6f7469667928742c226265666f7265496e697422292c612e726574696e615363616c6528742c742e6f7074696f6e732e646576696365506978656c526174696f292c742e62696e644576656e747328292c742e6f7074696f6e732e726573706f6e736976652626742e726573697a65282130292c742e656e737572655363616c65734861766549447328292c742e6275696c644f725570646174655363616c657328292c742e696e6974546f6f6c54697028292c6c2e6e6f7469667928742c226166746572496e697422292c747d2c636c6561723a66756e6374696f6e28297b72657475726e20612e63616e7661732e636c6561722874686973292c746869737d2c73746f703a66756e6374696f6e28297b72657475726e20742e616e696d6174696f6e536572766963652e63616e63656c416e696d6174696f6e2874686973292c746869737d2c726573697a653a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732c6e3d652e63616e7661732c723d692e6d61696e7461696e417370656374526174696f2626652e617370656374526174696f7c7c6e756c6c2c6f3d4d6174682e6d617828302c4d6174682e666c6f6f7228612e6765744d6178696d756d5769647468286e2929292c733d4d6174682e6d617828302c4d6174682e666c6f6f7228723f6f2f723a612e6765744d6178696d756d486569676874286e2929293b69662828652e7769647468213d3d6f7c7c652e686569676874213d3d73292626286e2e77696474683d652e77696474683d6f2c6e2e6865696768743d652e6865696768743d732c6e2e7374796c652e77696474683d6f2b227078222c6e2e7374796c652e6865696768743d732b227078222c612e726574696e615363616c6528652c692e646576696365506978656c526174696f292c217429297b76617220753d7b77696474683a6f2c6865696768743a737d3b6c2e6e6f7469667928652c22726573697a65222c5b755d292c652e6f7074696f6e732e6f6e526573697a652626652e6f7074696f6e732e6f6e526573697a6528652c75292c652e73746f7028292c652e75706461746528652e6f7074696f6e732e726573706f6e73697665416e696d6174696f6e4475726174696f6e297d7d2c656e737572655363616c6573486176654944733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732c653d742e7363616c65737c7c7b7d2c693d742e7363616c653b612e6561636828652e78417865732c66756e6374696f6e28742c65297b742e69643d742e69647c7c22782d617869732d222b657d292c612e6561636828652e79417865732c66756e6374696f6e28742c65297b742e69643d742e69647c7c22792d617869732d222b657d292c69262628692e69643d692e69647c7c227363616c6522297d2c6275696c644f725570646174655363616c65733a66756e6374696f6e28297b76617220693d746869732c6e3d692e6f7074696f6e732c723d692e7363616c65737c7c7b7d2c6f3d5b5d2c733d4f626a6563742e6b6579732872292e7265647563652866756e6374696f6e28742c65297b72657475726e20745b655d3d21312c747d2c7b7d293b6e2e7363616c65732626286f3d6f2e636f6e63617428286e2e7363616c65732e78417865737c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6f7074696f6e733a742c64747970653a2263617465676f7279222c64706f736974696f6e3a22626f74746f6d227d7d292c286e2e7363616c65732e79417865737c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6f7074696f6e733a742c64747970653a226c696e656172222c64706f736974696f6e3a226c656674227d7d2929292c6e2e7363616c6526266f2e70757368287b6f7074696f6e733a6e2e7363616c652c64747970653a2272616469616c4c696e656172222c697344656661756c743a21302c64706f736974696f6e3a22636861727441726561227d292c612e65616368286f2c66756e6374696f6e286e297b766172206f3d6e2e6f7074696f6e732c6c3d6f2e69642c753d612e76616c75654f7244656661756c74286f2e747970652c6e2e6474797065293b65286f2e706f736974696f6e29213d3d65286e2e64706f736974696f6e292626286f2e706f736974696f6e3d6e2e64706f736974696f6e292c735b6c5d3d21303b76617220643d6e756c6c3b6966286c20696e20722626725b6c5d2e747970653d3d3d752928643d725b6c5d292e6f7074696f6e733d6f2c642e6374783d692e6374782c642e63686172743d693b656c73657b76617220683d742e7363616c65536572766963652e6765745363616c65436f6e7374727563746f722875293b69662821682972657475726e3b643d6e65772068287b69643a6c2c747970653a752c6f7074696f6e733a6f2c6374783a692e6374782c63686172743a697d292c725b642e69645d3d647d642e6d657267655469636b734f7074696f6e7328292c6e2e697344656661756c74262628692e7363616c653d64297d292c612e6561636828732c66756e6374696f6e28742c65297b747c7c64656c65746520725b655d7d292c692e7363616c65733d722c742e7363616c65536572766963652e6164645363616c6573546f4c61796f75742874686973297d2c6275696c644f72557064617465436f6e74726f6c6c6572733a66756e6374696f6e28297b76617220653d746869732c693d5b5d2c6e3d5b5d3b72657475726e20612e6561636828652e646174612e64617461736574732c66756e6374696f6e28612c72297b766172206f3d652e676574446174617365744d6574612872292c733d612e747970657c7c652e636f6e6669672e747970653b6966286f2e7479706526266f2e74797065213d3d73262628652e64657374726f79446174617365744d6574612872292c6f3d652e676574446174617365744d657461287229292c6f2e747970653d732c692e70757368286f2e74797065292c6f2e636f6e74726f6c6c6572296f2e636f6e74726f6c6c65722e757064617465496e6465782872292c6f2e636f6e74726f6c6c65722e6c696e6b5363616c657328293b656c73657b766172206c3d742e636f6e74726f6c6c6572735b6f2e747970655d3b696628766f696420303d3d3d6c297468726f77206e6577204572726f72282722272b6f2e747970652b2722206973206e6f74206120636861727420747970652e27293b6f2e636f6e74726f6c6c65723d6e6577206c28652c72292c6e2e70757368286f2e636f6e74726f6c6c6572297d7d2c65292c6e7d2c7265736574456c656d656e74733a66756e6374696f6e28297b76617220743d746869733b612e6561636828742e646174612e64617461736574732c66756e6374696f6e28652c69297b742e676574446174617365744d6574612869292e636f6e74726f6c6c65722e726573657428297d2c74297d2c72657365743a66756e6374696f6e28297b746869732e7265736574456c656d656e747328292c746869732e746f6f6c7469702e696e697469616c697a6528297d2c7570646174653a66756e6374696f6e2865297b76617220692c6e2c723d746869733b696628652626226f626a656374223d3d747970656f6620657c7c28653d7b6475726174696f6e3a652c6c617a793a617267756d656e74735b315d7d292c6e3d28693d72292e6f7074696f6e732c612e6561636828692e7363616c65732c66756e6374696f6e2874297b6f2e72656d6f7665426f7828692c74297d292c6e3d612e636f6e6669674d6572676528742e64656661756c74732e676c6f62616c2c742e64656661756c74735b692e636f6e6669672e747970655d2c6e292c692e6f7074696f6e733d692e636f6e6669672e6f7074696f6e733d6e2c692e656e737572655363616c65734861766549447328292c692e6275696c644f725570646174655363616c657328292c692e746f6f6c7469702e5f6f7074696f6e733d6e2e746f6f6c746970732c692e746f6f6c7469702e696e697469616c697a6528292c6c2e5f696e76616c69646174652872292c2131213d3d6c2e6e6f7469667928722c226265666f72655570646174652229297b722e746f6f6c7469702e5f646174613d722e646174613b76617220733d722e6275696c644f72557064617465436f6e74726f6c6c65727328293b612e6561636828722e646174612e64617461736574732c66756e6374696f6e28742c65297b722e676574446174617365744d6574612865292e636f6e74726f6c6c65722e6275696c644f72557064617465456c656d656e747328297d2c72292c722e7570646174654c61796f757428292c722e6f7074696f6e732e616e696d6174696f6e2626722e6f7074696f6e732e616e696d6174696f6e2e6475726174696f6e2626612e6561636828732c66756e6374696f6e2874297b742e726573657428297d292c722e757064617465446174617365747328292c722e746f6f6c7469702e696e697469616c697a6528292c722e6c6173744163746976653d5b5d2c6c2e6e6f7469667928722c22616674657255706461746522292c722e5f627566666572656452656e6465723f722e5f6275666665726564526571756573743d7b6475726174696f6e3a652e6475726174696f6e2c656173696e673a652e656173696e672c6c617a793a652e6c617a797d3a722e72656e6465722865297d7d2c7570646174654c61796f75743a66756e6374696f6e28297b2131213d3d6c2e6e6f7469667928746869732c226265666f72654c61796f757422292626286f2e75706461746528746869732c746869732e77696474682c746869732e686569676874292c6c2e6e6f7469667928746869732c2261667465725363616c6555706461746522292c6c2e6e6f7469667928746869732c2261667465724c61796f75742229297d2c75706461746544617461736574733a66756e6374696f6e28297b6966282131213d3d6c2e6e6f7469667928746869732c226265666f726544617461736574735570646174652229297b666f722876617220743d302c653d746869732e646174612e64617461736574732e6c656e6774683b743c653b2b2b7429746869732e757064617465446174617365742874293b6c2e6e6f7469667928746869732c226166746572446174617365747355706461746522297d7d2c757064617465446174617365743a66756e6374696f6e2874297b76617220653d746869732e676574446174617365744d6574612874292c693d7b6d6574613a652c696e6465783a747d3b2131213d3d6c2e6e6f7469667928746869732c226265666f726544617461736574557064617465222c5b695d29262628652e636f6e74726f6c6c65722e75706461746528292c6c2e6e6f7469667928746869732c22616674657244617461736574557064617465222c5b695d29297d2c72656e6465723a66756e6374696f6e2865297b76617220693d746869733b652626226f626a656374223d3d747970656f6620657c7c28653d7b6475726174696f6e3a652c6c617a793a617267756d656e74735b315d7d293b766172206e3d652e6475726174696f6e2c723d652e6c617a793b6966282131213d3d6c2e6e6f7469667928692c226265666f726552656e6465722229297b766172206f3d692e6f7074696f6e732e616e696d6174696f6e2c733d66756e6374696f6e2874297b6c2e6e6f7469667928692c22616674657252656e64657222292c612e63616c6c6261636b286f26266f2e6f6e436f6d706c6574652c5b745d2c69297d3b6966286f262628766f69642030213d3d6e262630213d3d6e7c7c766f696420303d3d3d6e262630213d3d6f2e6475726174696f6e29297b76617220753d6e657720742e416e696d6174696f6e287b6e756d53746570733a286e7c7c6f2e6475726174696f6e292f31362e36362c656173696e673a652e656173696e677c7c6f2e656173696e672c72656e6465723a66756e6374696f6e28742c65297b76617220693d612e656173696e672e656666656374735b652e656173696e675d2c6e3d652e63757272656e74537465702c723d6e2f652e6e756d53746570733b742e6472617728692872292c722c6e297d2c6f6e416e696d6174696f6e50726f67726573733a6f2e6f6e50726f67726573732c6f6e416e696d6174696f6e436f6d706c6574653a737d293b742e616e696d6174696f6e536572766963652e616464416e696d6174696f6e28692c752c6e2c72297d656c736520692e6472617728292c73286e657720742e416e696d6174696f6e287b6e756d53746570733a302c63686172743a697d29293b72657475726e20697d7d2c647261773a66756e6374696f6e2874297b76617220653d746869733b652e636c65617228292c612e69734e756c6c4f72556e646566287429262628743d31292c652e7472616e736974696f6e2874292c2131213d3d6c2e6e6f7469667928652c226265666f726544726177222c5b745d29262628612e6561636828652e626f7865732c66756e6374696f6e2874297b742e6472617728652e636861727441726561297d2c65292c652e7363616c652626652e7363616c652e6472617728292c652e6472617744617461736574732874292c652e5f64726177546f6f6c7469702874292c6c2e6e6f7469667928652c22616674657244726177222c5b745d29297d2c7472616e736974696f6e3a66756e6374696f6e2874297b666f722876617220653d302c693d28746869732e646174612e64617461736574737c7c5b5d292e6c656e6774683b653c693b2b2b6529746869732e69734461746173657456697369626c652865292626746869732e676574446174617365744d6574612865292e636f6e74726f6c6c65722e7472616e736974696f6e2874293b746869732e746f6f6c7469702e7472616e736974696f6e2874297d2c6472617744617461736574733a66756e6374696f6e2874297b76617220653d746869733b6966282131213d3d6c2e6e6f7469667928652c226265666f7265446174617365747344726177222c5b745d29297b666f722876617220693d28652e646174612e64617461736574737c7c5b5d292e6c656e6774682d313b693e3d303b2d2d6929652e69734461746173657456697369626c652869292626652e647261774461746173657428692c74293b6c2e6e6f7469667928652c226166746572446174617365747344726177222c5b745d297d7d2c64726177446174617365743a66756e6374696f6e28742c65297b76617220693d746869732e676574446174617365744d6574612874292c6e3d7b6d6574613a692c696e6465783a742c656173696e6756616c75653a657d3b2131213d3d6c2e6e6f7469667928746869732c226265666f72654461746173657444726177222c5b6e5d29262628692e636f6e74726f6c6c65722e647261772865292c6c2e6e6f7469667928746869732c2261667465724461746173657444726177222c5b6e5d29297d2c5f64726177546f6f6c7469703a66756e6374696f6e2874297b76617220653d746869732e746f6f6c7469702c693d7b746f6f6c7469703a652c656173696e6756616c75653a747d3b2131213d3d6c2e6e6f7469667928746869732c226265666f7265546f6f6c74697044726177222c5b695d29262628652e6472617728292c6c2e6e6f7469667928746869732c226166746572546f6f6c74697044726177222c5b695d29297d2c676574456c656d656e7441744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e73696e676c6528746869732c74297d2c676574456c656d656e747341744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e6c6162656c28746869732c742c7b696e746572736563743a21307d297d2c676574456c656d656e7473417458417869733a66756e6374696f6e2874297b72657475726e20722e6d6f6465735b22782d61786973225d28746869732c742c7b696e746572736563743a21307d297d2c676574456c656d656e747341744576656e74466f724d6f64653a66756e6374696f6e28742c652c69297b766172206e3d722e6d6f6465735b655d3b72657475726e2266756e6374696f6e223d3d747970656f66206e3f6e28746869732c742c69293a5b5d7d2c6765744461746173657441744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e6461746173657428746869732c742c7b696e746572736563743a21307d297d2c676574446174617365744d6574613a66756e6374696f6e2874297b76617220653d746869732e646174612e64617461736574735b745d3b652e5f6d6574617c7c28652e5f6d6574613d7b7d293b76617220693d652e5f6d6574615b746869732e69645d3b72657475726e20697c7c28693d652e5f6d6574615b746869732e69645d3d7b747970653a6e756c6c2c646174613a5b5d2c646174617365743a6e756c6c2c636f6e74726f6c6c65723a6e756c6c2c68696464656e3a6e756c6c2c784178697349443a6e756c6c2c794178697349443a6e756c6c7d292c697d2c67657456697369626c6544617461736574436f756e743a66756e6374696f6e28297b666f722876617220743d302c653d302c693d746869732e646174612e64617461736574732e6c656e6774683b653c693b2b2b6529746869732e69734461746173657456697369626c652865292626742b2b3b72657475726e20747d2c69734461746173657456697369626c653a66756e6374696f6e2874297b76617220653d746869732e676574446174617365744d6574612874293b72657475726e22626f6f6c65616e223d3d747970656f6620652e68696464656e3f21652e68696464656e3a21746869732e646174612e64617461736574735b745d2e68696464656e7d2c67656e65726174654c6567656e643a66756e6374696f6e28297b72657475726e20746869732e6f7074696f6e732e6c6567656e6443616c6c6261636b2874686973297d2c64657374726f79446174617365744d6574613a66756e6374696f6e2874297b76617220653d746869732e69642c693d746869732e646174612e64617461736574735b745d2c6e3d692e5f6d6574612626692e5f6d6574615b655d3b6e2626286e2e636f6e74726f6c6c65722e64657374726f7928292c64656c65746520692e5f6d6574615b655d297d2c64657374726f793a66756e6374696f6e28297b76617220652c692c6e3d746869732c723d6e2e63616e7661733b666f72286e2e73746f7028292c653d302c693d6e2e646174612e64617461736574732e6c656e6774683b653c693b2b2b65296e2e64657374726f79446174617365744d6574612865293b722626286e2e756e62696e644576656e747328292c612e63616e7661732e636c656172286e292c732e72656c65617365436f6e74657874286e2e637478292c6e2e63616e7661733d6e756c6c2c6e2e6374783d6e756c6c292c6c2e6e6f74696679286e2c2264657374726f7922292c64656c65746520742e696e7374616e6365735b6e2e69645d7d2c746f426173653634496d6167653a66756e6374696f6e28297b72657475726e20746869732e63616e7661732e746f4461746155524c2e6170706c7928746869732e63616e7661732c617267756d656e7473297d2c696e6974546f6f6c5469703a66756e6374696f6e28297b76617220653d746869733b652e746f6f6c7469703d6e657720742e546f6f6c746970287b5f63686172743a652c5f6368617274496e7374616e63653a652c5f646174613a652e646174612c5f6f7074696f6e733a652e6f7074696f6e732e746f6f6c746970737d2c65297d2c62696e644576656e74733a66756e6374696f6e28297b76617220743d746869732c653d742e5f6c697374656e6572733d7b7d2c693d66756e6374696f6e28297b742e6576656e7448616e646c65722e6170706c7928742c617267756d656e7473297d3b612e6561636828742e6f7074696f6e732e6576656e74732c66756e6374696f6e286e297b732e6164644576656e744c697374656e657228742c6e2c69292c655b6e5d3d697d292c742e6f7074696f6e732e726573706f6e73697665262628693d66756e6374696f6e28297b742e726573697a6528297d2c732e6164644576656e744c697374656e657228742c22726573697a65222c69292c652e726573697a653d69297d2c756e62696e644576656e74733a66756e6374696f6e28297b76617220743d746869732c653d742e5f6c697374656e6572733b6526262864656c65746520742e5f6c697374656e6572732c612e6561636828652c66756e6374696f6e28652c69297b732e72656d6f76654576656e744c697374656e657228742c692c65297d29297d2c757064617465486f7665725374796c653a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d693f22736574486f7665725374796c65223a2272656d6f7665486f7665725374796c65223b666f7228613d302c723d742e6c656e6774683b613c723b2b2b6129286e3d745b615d292626746869732e676574446174617365744d657461286e2e5f64617461736574496e646578292e636f6e74726f6c6c65725b6f5d286e297d2c6576656e7448616e646c65723a66756e6374696f6e2874297b76617220653d746869732c693d652e746f6f6c7469703b6966282131213d3d6c2e6e6f7469667928652c226265666f72654576656e74222c5b745d29297b652e5f627566666572656452656e6465723d21302c652e5f6275666665726564526571756573743d6e756c6c3b766172206e3d652e68616e646c654576656e742874293b692626286e3d692e5f73746172743f692e68616e646c654576656e742874293a6e7c692e68616e646c654576656e74287429292c6c2e6e6f7469667928652c2261667465724576656e74222c5b745d293b76617220613d652e5f6275666665726564526571756573743b72657475726e20613f652e72656e6465722861293a6e262621652e616e696d6174696e67262628652e73746f7028292c652e72656e64657228652e6f7074696f6e732e686f7665722e616e696d6174696f6e4475726174696f6e2c213029292c652e5f627566666572656452656e6465723d21312c652e5f6275666665726564526571756573743d6e756c6c2c657d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220652c693d746869732c6e3d692e6f7074696f6e737c7c7b7d2c723d6e2e686f7665723b72657475726e20692e6c6173744163746976653d692e6c6173744163746976657c7c5b5d2c226d6f7573656f7574223d3d3d742e747970653f692e6163746976653d5b5d3a692e6163746976653d692e676574456c656d656e747341744576656e74466f724d6f646528742c722e6d6f64652c72292c612e63616c6c6261636b286e2e6f6e486f7665727c7c6e2e686f7665722e6f6e486f7665722c5b742e6e61746976652c692e6163746976655d2c69292c226d6f757365757022213d3d742e74797065262622636c69636b22213d3d742e747970657c7c6e2e6f6e436c69636b26266e2e6f6e436c69636b2e63616c6c28692c742e6e61746976652c692e616374697665292c692e6c6173744163746976652e6c656e6774682626692e757064617465486f7665725374796c6528692e6c6173744163746976652c722e6d6f64652c2131292c692e6163746976652e6c656e6774682626722e6d6f64652626692e757064617465486f7665725374796c6528692e6163746976652c722e6d6f64652c2130292c653d21612e6172726179457175616c7328692e6163746976652c692e6c617374416374697665292c692e6c6173744163746976653d692e6163746976652c657d7d292c742e436f6e74726f6c6c65723d747d7d2c7b32353a32352c32383a32382c33303a33302c33313a33312c34353a34352c34383a34387d5d2c32343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d5b2270757368222c22706f70222c227368696674222c2273706c696365222c22756e7368696674225d3b66756e6374696f6e206928742c69297b766172206e3d742e5f63686172746a733b6966286e297b76617220613d6e2e6c697374656e6572732c723d612e696e6465784f662869293b2d31213d3d722626612e73706c69636528722c31292c612e6c656e6774683e307c7c28652e666f72456163682866756e6374696f6e2865297b64656c65746520745b655d7d292c64656c65746520742e5f63686172746a73297d7d742e44617461736574436f6e74726f6c6c65723d66756e6374696f6e28742c65297b746869732e696e697469616c697a6528742c65297d2c6e2e657874656e6428742e44617461736574436f6e74726f6c6c65722e70726f746f747970652c7b64617461736574456c656d656e74547970653a6e756c6c2c64617461456c656d656e74547970653a6e756c6c2c696e697469616c697a653a66756e6374696f6e28742c65297b746869732e63686172743d742c746869732e696e6465783d652c746869732e6c696e6b5363616c657328292c746869732e616464456c656d656e747328297d2c757064617465496e6465783a66756e6374696f6e2874297b746869732e696e6465783d747d2c6c696e6b5363616c65733a66756e6374696f6e28297b76617220743d746869732c653d742e6765744d65746128292c693d742e6765744461746173657428293b6e756c6c213d3d652e784178697349442626652e7841786973494420696e20742e63686172742e7363616c65737c7c28652e784178697349443d692e784178697349447c7c742e63686172742e6f7074696f6e732e7363616c65732e78417865735b305d2e6964292c6e756c6c213d3d652e794178697349442626652e7941786973494420696e20742e63686172742e7363616c65737c7c28652e794178697349443d692e794178697349447c7c742e63686172742e6f7074696f6e732e7363616c65732e79417865735b305d2e6964297d2c676574446174617365743a66756e6374696f6e28297b72657475726e20746869732e63686172742e646174612e64617461736574735b746869732e696e6465785d7d2c6765744d6574613a66756e6374696f6e28297b72657475726e20746869732e63686172742e676574446174617365744d65746128746869732e696e646578297d2c6765745363616c65466f7249643a66756e6374696f6e2874297b72657475726e20746869732e63686172742e7363616c65735b745d7d2c72657365743a66756e6374696f6e28297b746869732e757064617465282130297d2c64657374726f793a66756e6374696f6e28297b746869732e5f6461746126266928746869732e5f646174612c74686973297d2c6372656174654d657461446174617365743a66756e6374696f6e28297b76617220743d746869732e64617461736574456c656d656e74547970653b72657475726e207426266e65772074287b5f63686172743a746869732e63686172742c5f64617461736574496e6465783a746869732e696e6465787d297d2c6372656174654d657461446174613a66756e6374696f6e2874297b76617220653d746869732e64617461456c656d656e74547970653b72657475726e206526266e65772065287b5f63686172743a746869732e63686172742c5f64617461736574496e6465783a746869732e696e6465782c5f696e6465783a747d297d2c616464456c656d656e74733a66756e6374696f6e28297b76617220742c652c693d746869732e6765744d65746128292c6e3d746869732e6765744461746173657428292e646174617c7c5b5d2c613d692e646174613b666f7228743d302c653d6e2e6c656e6774683b743c653b2b2b7429615b745d3d615b745d7c7c746869732e6372656174654d657461446174612874293b692e646174617365743d692e646174617365747c7c746869732e6372656174654d6574614461746173657428297d2c616464456c656d656e74416e6452657365743a66756e6374696f6e2874297b76617220653d746869732e6372656174654d657461446174612874293b746869732e6765744d65746128292e646174612e73706c69636528742c302c65292c746869732e757064617465456c656d656e7428652c742c2130297d2c6275696c644f72557064617465456c656d656e74733a66756e6374696f6e28297b76617220742c612c723d746869732c6f3d722e6765744461746173657428292c733d6f2e646174617c7c286f2e646174613d5b5d293b722e5f64617461213d3d73262628722e5f6461746126266928722e5f646174612c72292c613d722c28743d73292e5f63686172746a733f742e5f63686172746a732e6c697374656e6572732e707573682861293a284f626a6563742e646566696e6550726f706572747928742c225f63686172746a73222c7b636f6e666967757261626c653a21302c656e756d657261626c653a21312c76616c75653a7b6c697374656e6572733a5b615d7d7d292c652e666f72456163682866756e6374696f6e2865297b76617220693d226f6e44617461222b652e6368617241742830292e746f55707065724361736528292b652e736c6963652831292c613d745b655d3b4f626a6563742e646566696e6550726f706572747928742c652c7b636f6e666967757261626c653a21302c656e756d657261626c653a21312c76616c75653a66756e6374696f6e28297b76617220653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e7473292c723d612e6170706c7928746869732c65293b72657475726e206e2e6561636828742e5f63686172746a732e6c697374656e6572732c66756e6374696f6e2874297b2266756e6374696f6e223d3d747970656f6620745b695d2626745b695d2e6170706c7928742c65297d292c727d7d297d29292c722e5f646174613d73292c722e726573796e63456c656d656e747328297d2c7570646174653a6e2e6e6f6f702c7472616e736974696f6e3a66756e6374696f6e2874297b666f722876617220653d746869732e6765744d65746128292c693d652e646174617c7c5b5d2c6e3d692e6c656e6774682c613d303b613c6e3b2b2b6129695b615d2e7472616e736974696f6e2874293b652e646174617365742626652e646174617365742e7472616e736974696f6e2874297d2c647261773a66756e6374696f6e28297b76617220743d746869732e6765744d65746128292c653d742e646174617c7c5b5d2c693d652e6c656e6774682c6e3d303b666f7228742e646174617365742626742e646174617365742e6472617728293b6e3c693b2b2b6e29655b6e5d2e6472617728297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c613d742e5f696e6465782c723d742e637573746f6d7c7c7b7d2c6f3d6e2e76616c75654174496e6465784f7244656661756c742c733d742e5f6d6f64656c3b732e6261636b67726f756e64436f6c6f723d722e6261636b67726f756e64436f6c6f723f722e6261636b67726f756e64436f6c6f723a6f28692e6261636b67726f756e64436f6c6f722c612c652e6261636b67726f756e64436f6c6f72292c732e626f72646572436f6c6f723d722e626f72646572436f6c6f723f722e626f72646572436f6c6f723a6f28692e626f72646572436f6c6f722c612c652e626f72646572436f6c6f72292c732e626f7264657257696474683d722e626f7264657257696474683f722e626f7264657257696474683a6f28692e626f7264657257696474682c612c652e626f726465725769647468297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c613d742e637573746f6d7c7c7b7d2c723d6e2e76616c75654174496e6465784f7244656661756c742c6f3d6e2e676574486f766572436f6c6f722c733d742e5f6d6f64656c3b732e6261636b67726f756e64436f6c6f723d612e686f7665724261636b67726f756e64436f6c6f723f612e686f7665724261636b67726f756e64436f6c6f723a7228652e686f7665724261636b67726f756e64436f6c6f722c692c6f28732e6261636b67726f756e64436f6c6f7229292c732e626f72646572436f6c6f723d612e686f766572426f72646572436f6c6f723f612e686f766572426f72646572436f6c6f723a7228652e686f766572426f72646572436f6c6f722c692c6f28732e626f72646572436f6c6f7229292c732e626f7264657257696474683d612e686f766572426f7264657257696474683f612e686f766572426f7264657257696474683a7228652e686f766572426f7264657257696474682c692c732e626f726465725769647468297d2c726573796e63456c656d656e74733a66756e6374696f6e28297b76617220743d746869732e6765744d65746128292c653d746869732e6765744461746173657428292e646174612c693d742e646174612e6c656e6774682c6e3d652e6c656e6774683b6e3c693f742e646174612e73706c696365286e2c692d6e293a6e3e692626746869732e696e73657274456c656d656e747328692c6e2d69297d2c696e73657274456c656d656e74733a66756e6374696f6e28742c65297b666f722876617220693d303b693c653b2b2b6929746869732e616464456c656d656e74416e64526573657428742b69297d2c6f6e44617461507573683a66756e6374696f6e28297b746869732e696e73657274456c656d656e747328746869732e6765744461746173657428292e646174612e6c656e6774682d312c617267756d656e74732e6c656e677468297d2c6f6e44617461506f703a66756e6374696f6e28297b746869732e6765744d65746128292e646174612e706f7028297d2c6f6e4461746153686966743a66756e6374696f6e28297b746869732e6765744d65746128292e646174612e736869667428297d2c6f6e4461746153706c6963653a66756e6374696f6e28742c65297b746869732e6765744d65746128292e646174612e73706c69636528742c65292c746869732e696e73657274456c656d656e747328742c617267756d656e74732e6c656e6774682d32297d2c6f6e44617461556e73686966743a66756e6374696f6e28297b746869732e696e73657274456c656d656e747328302c617267756d656e74732e6c656e677468297d7d292c742e44617461736574436f6e74726f6c6c65722e657874656e643d6e2e696e6865726974737d7d2c7b34353a34357d5d2c32353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d7b5f7365743a66756e6374696f6e28742c65297b72657475726e206e2e6d6572676528746869735b745d7c7c28746869735b745d3d7b7d292c65297d7d7d2c7b34353a34357d5d2c32363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742832292c613d74283435293b76617220723d66756e6374696f6e2874297b612e657874656e6428746869732c74292c746869732e696e697469616c697a652e6170706c7928746869732c617267756d656e7473297d3b612e657874656e6428722e70726f746f747970652c7b696e697469616c697a653a66756e6374696f6e28297b746869732e68696464656e3d21317d2c7069766f743a66756e6374696f6e28297b76617220743d746869733b72657475726e20742e5f766965777c7c28742e5f766965773d612e636c6f6e6528742e5f6d6f64656c29292c742e5f73746172743d7b7d2c747d2c7472616e736974696f6e3a66756e6374696f6e2874297b76617220653d746869732c693d652e5f6d6f64656c2c613d652e5f73746172742c723d652e5f766965773b72657475726e2069262631213d3d743f28727c7c28723d652e5f766965773d7b7d292c617c7c28613d652e5f73746172743d7b7d292c66756e6374696f6e28742c652c692c61297b76617220722c6f2c732c6c2c752c642c682c632c662c673d4f626a6563742e6b6579732869293b666f7228723d302c6f3d672e6c656e6774683b723c6f3b2b2b7229696628643d695b733d675b725d5d2c652e6861734f776e50726f70657274792873297c7c28655b735d3d64292c286c3d655b735d29213d3d642626225f22213d3d735b305d297b696628742e6861734f776e50726f70657274792873297c7c28745b735d3d6c292c28683d747970656f662064293d3d747970656f6628753d745b735d292969662822737472696e67223d3d3d68297b69662828633d6e287529292e76616c6964262628663d6e286429292e76616c6964297b655b735d3d662e6d697828632c61292e726762537472696e6728293b636f6e74696e75657d7d656c736520696628226e756d626572223d3d3d682626697346696e6974652875292626697346696e697465286429297b655b735d3d752b28642d75292a613b636f6e74696e75657d655b735d3d647d7d28612c722c692c74292c65293a28652e5f766965773d692c652e5f73746172743d6e756c6c2c65297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b72657475726e7b783a746869732e5f6d6f64656c2e782c793a746869732e5f6d6f64656c2e797d7d2c68617356616c75653a66756e6374696f6e28297b72657475726e20612e69734e756d62657228746869732e5f6d6f64656c2e78292626612e69734e756d62657228746869732e5f6d6f64656c2e79297d7d292c722e657874656e643d612e696e6865726974732c652e6578706f7274733d727d2c7b323a322c34353a34357d5d2c32373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742832292c613d74283235292c723d74283435293b652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c652c69297b766172206e3b72657475726e22737472696e67223d3d747970656f6620743f286e3d7061727365496e7428742c3130292c2d31213d3d742e696e6465784f6628222522292626286e3d6e2f3130302a652e706172656e744e6f64655b695d29293a6e3d742c6e7d66756e6374696f6e20692874297b72657475726e206e756c6c213d742626226e6f6e6522213d3d747d66756e6374696f6e206f28742c6e2c61297b76617220723d646f63756d656e742e64656661756c74566965772c6f3d742e706172656e744e6f64652c733d722e676574436f6d70757465645374796c652874295b6e5d2c6c3d722e676574436f6d70757465645374796c65286f295b6e5d2c753d692873292c643d69286c292c683d4e756d6265722e504f5349544956455f494e46494e4954593b72657475726e20757c7c643f4d6174682e6d696e28753f6528732c742c61293a682c643f65286c2c6f2c61293a68293a226e6f6e65227d722e636f6e6669674d657267653d66756e6374696f6e28297b72657475726e20722e6d6572676528722e636c6f6e6528617267756d656e74735b305d292c5b5d2e736c6963652e63616c6c28617267756d656e74732c31292c7b6d65726765723a66756e6374696f6e28652c692c6e2c61297b766172206f3d695b655d7c7c7b7d2c733d6e5b655d3b227363616c6573223d3d3d653f695b655d3d722e7363616c654d65726765286f2c73293a227363616c65223d3d3d653f695b655d3d722e6d65726765286f2c5b742e7363616c65536572766963652e6765745363616c6544656661756c747328732e74797065292c735d293a722e5f6d657267657228652c692c6e2c61297d7d297d2c722e7363616c654d657267653d66756e6374696f6e28297b72657475726e20722e6d6572676528722e636c6f6e6528617267756d656e74735b305d292c5b5d2e736c6963652e63616c6c28617267756d656e74732c31292c7b6d65726765723a66756e6374696f6e28652c692c6e2c61297b696628227841786573223d3d3d657c7c227941786573223d3d3d65297b766172206f2c732c6c2c753d6e5b655d2e6c656e6774683b666f7228695b655d7c7c28695b655d3d5b5d292c6f3d303b6f3c753b2b2b6f296c3d6e5b655d5b6f5d2c733d722e76616c75654f7244656661756c74286c2e747970652c227841786573223d3d3d653f2263617465676f7279223a226c696e65617222292c6f3e3d695b655d2e6c656e6774682626695b655d2e70757368287b7d292c21695b655d5b6f5d2e747970657c7c6c2e7479706526266c2e74797065213d3d695b655d5b6f5d2e747970653f722e6d6572676528695b655d5b6f5d2c5b742e7363616c65536572766963652e6765745363616c6544656661756c74732873292c6c5d293a722e6d6572676528695b655d5b6f5d2c6c297d656c736520722e5f6d657267657228652c692c6e2c61297d7d297d2c722e77686572653d66756e6374696f6e28742c65297b696628722e69734172726179287429262641727261792e70726f746f747970652e66696c7465722972657475726e20742e66696c7465722865293b76617220693d5b5d3b72657475726e20722e6561636828742c66756e6374696f6e2874297b652874292626692e707573682874297d292c697d2c722e66696e64496e6465783d41727261792e70726f746f747970652e66696e64496e6465783f66756e6374696f6e28742c652c69297b72657475726e20742e66696e64496e64657828652c69297d3a66756e6374696f6e28742c652c69297b693d766f696420303d3d3d693f743a693b666f7228766172206e3d302c613d742e6c656e6774683b6e3c613b2b2b6e29696628652e63616c6c28692c745b6e5d2c6e2c74292972657475726e206e3b72657475726e2d317d2c722e66696e644e65787457686572653d66756e6374696f6e28742c652c69297b722e69734e756c6c4f72556e646566286929262628693d2d31293b666f7228766172206e3d692b313b6e3c742e6c656e6774683b6e2b2b297b76617220613d745b6e5d3b696628652861292972657475726e20617d7d2c722e66696e6450726576696f757357686572653d66756e6374696f6e28742c652c69297b722e69734e756c6c4f72556e646566286929262628693d742e6c656e677468293b666f7228766172206e3d692d313b6e3e3d303b6e2d2d297b76617220613d745b6e5d3b696628652861292972657475726e20617d7d2c722e69734e756d6265723d66756e6374696f6e2874297b72657475726e2169734e614e287061727365466c6f6174287429292626697346696e6974652874297d2c722e616c6d6f7374457175616c733d66756e6374696f6e28742c652c69297b72657475726e204d6174682e61627328742d65293c697d2c722e616c6d6f737457686f6c653d66756e6374696f6e28742c65297b76617220693d4d6174682e726f756e642874293b72657475726e20692d653c742626692b653e747d2c722e6d61783d66756e6374696f6e2874297b72657475726e20742e7265647563652866756e6374696f6e28742c65297b72657475726e2069734e614e2865293f743a4d6174682e6d617828742c65297d2c4e756d6265722e4e454741544956455f494e46494e495459297d2c722e6d696e3d66756e6374696f6e2874297b72657475726e20742e7265647563652866756e6374696f6e28742c65297b72657475726e2069734e614e2865293f743a4d6174682e6d696e28742c65297d2c4e756d6265722e504f5349544956455f494e46494e495459297d2c722e7369676e3d4d6174682e7369676e3f66756e6374696f6e2874297b72657475726e204d6174682e7369676e2874297d3a66756e6374696f6e2874297b72657475726e20303d3d3d28743d2b74297c7c69734e614e2874293f743a743e303f313a2d317d2c722e6c6f6731303d4d6174682e6c6f6731303f66756e6374696f6e2874297b72657475726e204d6174682e6c6f6731302874297d3a66756e6374696f6e2874297b76617220653d4d6174682e6c6f672874292a4d6174682e4c4f473130452c693d4d6174682e726f756e642865293b72657475726e20743d3d3d4d6174682e706f772831302c69293f693a657d2c722e746f52616469616e733d66756e6374696f6e2874297b72657475726e20742a284d6174682e50492f313830297d2c722e746f446567726565733d66756e6374696f6e2874297b72657475726e20742a283138302f4d6174682e5049297d2c722e676574416e676c6546726f6d506f696e743d66756e6374696f6e28742c65297b76617220693d652e782d742e782c6e3d652e792d742e792c613d4d6174682e7371727428692a692b6e2a6e292c723d4d6174682e6174616e32286e2c69293b72657475726e20723c2d2e352a4d6174682e5049262628722b3d322a4d6174682e5049292c7b616e676c653a722c64697374616e63653a617d7d2c722e64697374616e63654265747765656e506f696e74733d66756e6374696f6e28742c65297b72657475726e204d6174682e73717274284d6174682e706f7728652e782d742e782c32292b4d6174682e706f7728652e792d742e792c3229297d2c722e616c696173506978656c3d66756e6374696f6e2874297b72657475726e207425323d3d303f303a2e357d2c722e73706c696e6543757276653d66756e6374696f6e28742c652c692c6e297b76617220613d742e736b69703f653a742c723d652c6f3d692e736b69703f653a692c733d4d6174682e73717274284d6174682e706f7728722e782d612e782c32292b4d6174682e706f7728722e792d612e792c3229292c6c3d4d6174682e73717274284d6174682e706f77286f2e782d722e782c32292b4d6174682e706f77286f2e792d722e792c3229292c753d732f28732b6c292c643d6c2f28732b6c292c683d6e2a28753d69734e614e2875293f303a75292c633d6e2a28643d69734e614e2864293f303a64293b72657475726e7b70726576696f75733a7b783a722e782d682a286f2e782d612e78292c793a722e792d682a286f2e792d612e79297d2c6e6578743a7b783a722e782b632a286f2e782d612e78292c793a722e792b632a286f2e792d612e79297d7d7d2c722e455053494c4f4e3d4e756d6265722e455053494c4f4e7c7c31652d31342c722e73706c696e6543757276654d6f6e6f746f6e653d66756e6374696f6e2874297b76617220652c692c6e2c612c6f2c732c6c2c752c642c683d28747c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6d6f64656c3a742e5f6d6f64656c2c64656c74614b3a302c6d4b3a307d7d292c633d682e6c656e6774683b666f7228653d303b653c633b2b2b652969662821286e3d685b655d292e6d6f64656c2e736b6970297b696628693d653e303f685b652d315d3a6e756c6c2c28613d653c632d313f685b652b315d3a6e756c6c29262621612e6d6f64656c2e736b6970297b76617220663d612e6d6f64656c2e782d6e2e6d6f64656c2e783b6e2e64656c74614b3d30213d3d663f28612e6d6f64656c2e792d6e2e6d6f64656c2e79292f663a307d21697c7c692e6d6f64656c2e736b69703f6e2e6d4b3d6e2e64656c74614b3a21617c7c612e6d6f64656c2e736b69703f6e2e6d4b3d692e64656c74614b3a746869732e7369676e28692e64656c74614b29213d3d746869732e7369676e286e2e64656c74614b293f6e2e6d4b3d303a6e2e6d4b3d28692e64656c74614b2b6e2e64656c74614b292f327d666f7228653d303b653c632d313b2b2b65296e3d685b655d2c613d685b652b315d2c6e2e6d6f64656c2e736b69707c7c612e6d6f64656c2e736b69707c7c28722e616c6d6f7374457175616c73286e2e64656c74614b2c302c746869732e455053494c4f4e293f6e2e6d4b3d612e6d4b3d303a286f3d6e2e6d4b2f6e2e64656c74614b2c733d612e6d4b2f6e2e64656c74614b2c28753d4d6174682e706f77286f2c32292b4d6174682e706f7728732c3229293c3d397c7c286c3d332f4d6174682e737172742875292c6e2e6d4b3d6f2a6c2a6e2e64656c74614b2c612e6d4b3d732a6c2a6e2e64656c74614b2929293b666f7228653d303b653c633b2b2b6529286e3d685b655d292e6d6f64656c2e736b69707c7c28693d653e303f685b652d315d3a6e756c6c2c613d653c632d313f685b652b315d3a6e756c6c2c69262621692e6d6f64656c2e736b6970262628643d286e2e6d6f64656c2e782d692e6d6f64656c2e78292f332c6e2e6d6f64656c2e636f6e74726f6c506f696e7450726576696f7573583d6e2e6d6f64656c2e782d642c6e2e6d6f64656c2e636f6e74726f6c506f696e7450726576696f7573593d6e2e6d6f64656c2e792d642a6e2e6d4b292c61262621612e6d6f64656c2e736b6970262628643d28612e6d6f64656c2e782d6e2e6d6f64656c2e78292f332c6e2e6d6f64656c2e636f6e74726f6c506f696e744e657874583d6e2e6d6f64656c2e782b642c6e2e6d6f64656c2e636f6e74726f6c506f696e744e657874593d6e2e6d6f64656c2e792b642a6e2e6d4b29297d2c722e6e6578744974656d3d66756e6374696f6e28742c652c69297b72657475726e20693f653e3d742e6c656e6774682d313f745b305d3a745b652b315d3a653e3d742e6c656e6774682d313f745b742e6c656e6774682d315d3a745b652b315d7d2c722e70726576696f75734974656d3d66756e6374696f6e28742c652c69297b72657475726e20693f653c3d303f745b742e6c656e6774682d315d3a745b652d315d3a653c3d303f745b305d3a745b652d315d7d2c722e6e6963654e756d3d66756e6374696f6e28742c65297b76617220693d4d6174682e666c6f6f7228722e6c6f673130287429292c6e3d742f4d6174682e706f772831302c69293b72657475726e28653f6e3c312e353f313a6e3c333f323a6e3c373f353a31303a6e3c3d313f313a6e3c3d323f323a6e3c3d353f353a3130292a4d6174682e706f772831302c69297d2c722e72657175657374416e696d4672616d653d22756e646566696e6564223d3d747970656f662077696e646f773f66756e6374696f6e2874297b7428297d3a77696e646f772e72657175657374416e696d6174696f6e4672616d657c7c77696e646f772e7765626b697452657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6d6f7a52657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6f52657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6d7352657175657374416e696d6174696f6e4672616d657c7c66756e6374696f6e2874297b72657475726e2077696e646f772e73657454696d656f757428742c3165332f3630297d2c722e67657452656c6174697665506f736974696f6e3d66756e6374696f6e28742c65297b76617220692c6e2c613d742e6f726967696e616c4576656e747c7c742c6f3d742e63757272656e745461726765747c7c742e737263456c656d656e742c733d6f2e676574426f756e64696e67436c69656e745265637428292c6c3d612e746f75636865733b6c26266c2e6c656e6774683e303f28693d6c5b305d2e636c69656e74582c6e3d6c5b305d2e636c69656e7459293a28693d612e636c69656e74582c6e3d612e636c69656e7459293b76617220753d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d6c6566742229292c643d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d746f702229292c683d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d72696768742229292c633d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d626f74746f6d2229292c663d732e72696768742d732e6c6566742d752d682c673d732e626f74746f6d2d732e746f702d642d633b72657475726e7b783a693d4d6174682e726f756e642828692d732e6c6566742d75292f662a6f2e77696474682f652e63757272656e74446576696365506978656c526174696f292c793a6e3d4d6174682e726f756e6428286e2d732e746f702d64292f672a6f2e6865696768742f652e63757272656e74446576696365506978656c526174696f297d7d2c722e676574436f6e73747261696e7457696474683d66756e6374696f6e2874297b72657475726e206f28742c226d61782d7769647468222c22636c69656e74576964746822297d2c722e676574436f6e73747261696e744865696768743d66756e6374696f6e2874297b72657475726e206f28742c226d61782d686569676874222c22636c69656e7448656967687422297d2c722e6765744d6178696d756d57696474683d66756e6374696f6e2874297b76617220653d742e706172656e744e6f64653b69662821652972657475726e20742e636c69656e7457696474683b76617220693d7061727365496e7428722e6765745374796c6528652c2270616464696e672d6c65667422292c3130292c6e3d7061727365496e7428722e6765745374796c6528652c2270616464696e672d726967687422292c3130292c613d652e636c69656e7457696474682d692d6e2c6f3d722e676574436f6e73747261696e7457696474682874293b72657475726e2069734e614e286f293f613a4d6174682e6d696e28612c6f297d2c722e6765744d6178696d756d4865696768743d66756e6374696f6e2874297b76617220653d742e706172656e744e6f64653b69662821652972657475726e20742e636c69656e744865696768743b76617220693d7061727365496e7428722e6765745374796c6528652c2270616464696e672d746f7022292c3130292c6e3d7061727365496e7428722e6765745374796c6528652c2270616464696e672d626f74746f6d22292c3130292c613d652e636c69656e744865696768742d692d6e2c6f3d722e676574436f6e73747261696e744865696768742874293b72657475726e2069734e614e286f293f613a4d6174682e6d696e28612c6f297d2c722e6765745374796c653d66756e6374696f6e28742c65297b72657475726e20742e63757272656e745374796c653f742e63757272656e745374796c655b655d3a646f63756d656e742e64656661756c74566965772e676574436f6d70757465645374796c6528742c6e756c6c292e67657450726f706572747956616c75652865297d2c722e726574696e615363616c653d66756e6374696f6e28742c65297b76617220693d742e63757272656e74446576696365506978656c526174696f3d657c7c77696e646f772e646576696365506978656c526174696f7c7c313b69662831213d3d69297b766172206e3d742e63616e7661732c613d742e6865696768742c723d742e77696474683b6e2e6865696768743d612a692c6e2e77696474683d722a692c742e6374782e7363616c6528692c69292c6e2e7374796c652e6865696768747c7c6e2e7374796c652e77696474687c7c286e2e7374796c652e6865696768743d612b227078222c6e2e7374796c652e77696474683d722b22707822297d7d2c722e666f6e74537472696e673d66756e6374696f6e28742c652c69297b72657475726e20652b2220222b742b22707820222b697d2c722e6c6f6e67657374546578743d66756e6374696f6e28742c652c692c6e297b76617220613d286e3d6e7c7c7b7d292e646174613d6e2e646174617c7c7b7d2c6f3d6e2e67617262616765436f6c6c6563743d6e2e67617262616765436f6c6c6563747c7c5b5d3b6e2e666f6e74213d3d65262628613d6e2e646174613d7b7d2c6f3d6e2e67617262616765436f6c6c6563743d5b5d2c6e2e666f6e743d65292c742e666f6e743d653b76617220733d303b722e6561636828692c66756e6374696f6e2865297b6e756c6c213d6526262130213d3d722e697341727261792865293f733d722e6d6561737572655465787428742c612c6f2c732c65293a722e697341727261792865292626722e6561636828652c66756e6374696f6e2865297b6e756c6c3d3d657c7c722e697341727261792865297c7c28733d722e6d6561737572655465787428742c612c6f2c732c6529297d297d293b766172206c3d6f2e6c656e6774682f323b6966286c3e692e6c656e677468297b666f722876617220753d303b753c6c3b752b2b2964656c65746520615b6f5b755d5d3b6f2e73706c69636528302c6c297d72657475726e20737d2c722e6d656173757265546578743d66756e6374696f6e28742c652c692c6e2c61297b76617220723d655b615d3b72657475726e20727c7c28723d655b615d3d742e6d656173757265546578742861292e77696474682c692e70757368286129292c723e6e2626286e3d72292c6e7d2c722e6e756d6265724f664c6162656c4c696e65733d66756e6374696f6e2874297b76617220653d313b72657475726e20722e6561636828742c66756e6374696f6e2874297b722e697341727261792874292626742e6c656e6774683e65262628653d742e6c656e677468297d292c657d2c722e636f6c6f723d6e3f66756e6374696f6e2874297b72657475726e207420696e7374616e63656f662043616e7661734772616469656e74262628743d612e676c6f62616c2e64656661756c74436f6c6f72292c6e2874297d3a66756e6374696f6e2874297b72657475726e20636f6e736f6c652e6572726f722822436f6c6f722e6a73206e6f7420666f756e642122292c747d2c722e676574486f766572436f6c6f723d66756e6374696f6e2874297b72657475726e207420696e7374616e63656f662043616e7661735061747465726e3f743a722e636f6c6f722874292e7361747572617465282e35292e6461726b656e282e31292e726762537472696e6728297d7d7d2c7b323a322c32353a32352c34353a34357d5d2c32383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b66756e6374696f6e206128742c65297b72657475726e20742e6e61746976653f7b783a742e782c793a742e797d3a6e2e67657452656c6174697665506f736974696f6e28742c65297d66756e6374696f6e207228742c65297b76617220692c6e2c612c722c6f3b666f72286e3d302c723d742e646174612e64617461736574732e6c656e6774683b6e3c723b2b2b6e29696628742e69734461746173657456697369626c65286e2929666f7228613d302c6f3d28693d742e676574446174617365744d657461286e29292e646174612e6c656e6774683b613c6f3b2b2b61297b76617220733d692e646174615b615d3b732e5f766965772e736b69707c7c652873297d7d66756e6374696f6e206f28742c65297b76617220693d5b5d3b72657475726e207228742c66756e6374696f6e2874297b742e696e52616e676528652e782c652e79292626692e707573682874297d292c697d66756e6374696f6e207328742c652c692c6e297b76617220613d4e756d6265722e504f5349544956455f494e46494e4954592c6f3d5b5d3b72657475726e207228742c66756e6374696f6e2874297b69662821697c7c742e696e52616e676528652e782c652e7929297b76617220723d742e67657443656e746572506f696e7428292c733d6e28652c72293b733c613f286f3d5b745d2c613d73293a733d3d3d6126266f2e707573682874297d7d292c6f7d66756e6374696f6e206c2874297b76617220653d2d31213d3d742e696e6465784f6628227822292c693d2d31213d3d742e696e6465784f6628227922293b72657475726e2066756e6374696f6e28742c6e297b76617220613d653f4d6174682e61627328742e782d6e2e78293a302c723d693f4d6174682e61627328742e792d6e2e79293a303b72657475726e204d6174682e73717274284d6174682e706f7728612c32292b4d6174682e706f7728722c3229297d7d66756e6374696f6e207528742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c2278223b76617220723d6c28692e61786973292c753d692e696e746572736563743f6f28742c6e293a7328742c6e2c21312c72292c643d5b5d3b72657475726e20752e6c656e6774683f28742e646174612e64617461736574732e666f72456163682866756e6374696f6e28652c69297b696628742e69734461746173657456697369626c65286929297b766172206e3d742e676574446174617365744d6574612869292e646174615b755b305d2e5f696e6465785d3b6e2626216e2e5f766965772e736b69702626642e70757368286e297d7d292c64293a5b5d7d652e6578706f7274733d7b6d6f6465733a7b73696e676c653a66756e6374696f6e28742c65297b76617220693d6128652c74292c6e3d5b5d3b72657475726e207228742c66756e6374696f6e2874297b696628742e696e52616e676528692e782c692e79292972657475726e206e2e707573682874292c6e7d292c6e2e736c69636528302c31297d2c6c6162656c3a752c696e6465783a752c646174617365743a66756e6374696f6e28742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c227879223b76617220723d6c28692e61786973292c753d692e696e746572736563743f6f28742c6e293a7328742c6e2c21312c72293b72657475726e20752e6c656e6774683e30262628753d742e676574446174617365744d65746128755b305d2e5f64617461736574496e646578292e64617461292c757d2c22782d61786973223a66756e6374696f6e28742c65297b72657475726e207528742c652c7b696e746572736563743a21317d297d2c706f696e743a66756e6374696f6e28742c65297b72657475726e206f28742c6128652c7429297d2c6e6561726573743a66756e6374696f6e28742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c227879223b76617220723d6c28692e61786973292c6f3d7328742c6e2c692e696e746572736563742c72293b72657475726e206f2e6c656e6774683e3126266f2e736f72742866756e6374696f6e28742c65297b76617220693d742e6765744172656128292d652e6765744172656128293b72657475726e20303d3d3d69262628693d742e5f64617461736574496e6465782d652e5f64617461736574496e646578292c697d292c6f2e736c69636528302c31297d2c783a66756e6374696f6e28742c652c69297b766172206e3d6128652c74292c6f3d5b5d2c733d21313b72657475726e207228742c66756e6374696f6e2874297b742e696e5852616e6765286e2e782926266f2e707573682874292c742e696e52616e6765286e2e782c6e2e7929262628733d2130297d292c692e696e74657273656374262621732626286f3d5b5d292c6f7d2c793a66756e6374696f6e28742c652c69297b766172206e3d6128652c74292c6f3d5b5d2c733d21313b72657475726e207228742c66756e6374696f6e2874297b742e696e5952616e6765286e2e792926266f2e707573682874292c742e696e52616e6765286e2e782c6e2e7929262628733d2130297d292c692e696e74657273656374262621732626286f3d5b5d292c6f7d7d7d7d2c7b34353a34357d5d2c32393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b74283235292e5f7365742822676c6f62616c222c7b726573706f6e736976653a21302c726573706f6e73697665416e696d6174696f6e4475726174696f6e3a302c6d61696e7461696e417370656374526174696f3a21302c6576656e74733a5b226d6f7573656d6f7665222c226d6f7573656f7574222c22636c69636b222c22746f7563687374617274222c22746f7563686d6f7665225d2c686f7665723a7b6f6e486f7665723a6e756c6c2c6d6f64653a226e656172657374222c696e746572736563743a21302c616e696d6174696f6e4475726174696f6e3a3430307d2c6f6e436c69636b3a6e756c6c2c64656661756c74436f6c6f723a227267626128302c302c302c302e3129222c64656661756c74466f6e74436f6c6f723a2223363636222c64656661756c74466f6e7446616d696c793a222748656c766574696361204e657565272c202748656c766574696361272c2027417269616c272c2073616e732d7365726966222c64656661756c74466f6e7453697a653a31322c64656661756c74466f6e745374796c653a226e6f726d616c222c73686f774c696e65733a21302c656c656d656e74733a7b7d2c6c61796f75743a7b70616464696e673a7b746f703a302c72696768743a302c626f74746f6d3a302c6c6566743a307d7d7d292c652e6578706f7274733d66756e6374696f6e28297b76617220743d66756e6374696f6e28742c65297b72657475726e20746869732e636f6e73747275637428742c65292c746869737d3b72657475726e20742e43686172743d742c747d7d2c7b32353a32357d5d2c33303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b66756e6374696f6e206128742c65297b72657475726e206e2e776865726528742c66756e6374696f6e2874297b72657475726e20742e706f736974696f6e3d3d3d657d297d66756e6374696f6e207228742c65297b742e666f72456163682866756e6374696f6e28742c65297b72657475726e20742e5f746d70496e6465785f3d652c747d292c742e736f72742866756e6374696f6e28742c69297b766172206e3d653f693a742c613d653f743a693b72657475726e206e2e7765696768743d3d3d612e7765696768743f6e2e5f746d70496e6465785f2d612e5f746d70496e6465785f3a6e2e7765696768742d612e7765696768747d292c742e666f72456163682866756e6374696f6e2874297b64656c65746520742e5f746d70496e6465785f7d297d652e6578706f7274733d7b64656661756c74733a7b7d2c616464426f783a66756e6374696f6e28742c65297b742e626f7865737c7c28742e626f7865733d5b5d292c652e66756c6c57696474683d652e66756c6c57696474687c7c21312c652e706f736974696f6e3d652e706f736974696f6e7c7c22746f70222c652e7765696768743d652e7765696768747c7c302c742e626f7865732e707573682865297d2c72656d6f7665426f783a66756e6374696f6e28742c65297b76617220693d742e626f7865733f742e626f7865732e696e6465784f662865293a2d313b2d31213d3d692626742e626f7865732e73706c69636528692c31297d2c636f6e6669677572653a66756e6374696f6e28742c652c69297b666f7228766172206e2c613d5b2266756c6c5769647468222c22706f736974696f6e222c22776569676874225d2c723d612e6c656e6774682c6f3d303b6f3c723b2b2b6f296e3d615b6f5d2c692e6861734f776e50726f7065727479286e29262628655b6e5d3d695b6e5d297d2c7570646174653a66756e6374696f6e28742c652c69297b69662874297b766172206f3d742e6f7074696f6e732e6c61796f75747c7c7b7d2c733d6e2e6f7074696f6e732e746f50616464696e67286f2e70616464696e67292c6c3d732e6c6566742c753d732e72696768742c643d732e746f702c683d732e626f74746f6d2c633d6128742e626f7865732c226c65667422292c663d6128742e626f7865732c22726967687422292c673d6128742e626f7865732c22746f7022292c6d3d6128742e626f7865732c22626f74746f6d22292c703d6128742e626f7865732c2263686172744172656122293b7228632c2130292c7228662c2131292c7228672c2130292c72286d2c2131293b76617220763d652d6c2d752c793d692d642d682c623d792f322c783d28652d762f32292f28632e6c656e6774682b662e6c656e677468292c5f3d28692d62292f28672e6c656e6774682b6d2e6c656e677468292c6b3d762c773d792c4d3d5b5d3b6e2e6561636828632e636f6e63617428662c672c6d292c66756e6374696f6e2874297b76617220652c693d742e6973486f72697a6f6e74616c28293b693f28653d742e75706461746528742e66756c6c57696474683f763a6b2c5f292c772d3d652e686569676874293a28653d742e75706461746528782c77292c6b2d3d652e7769647468292c4d2e70757368287b686f72697a6f6e74616c3a692c6d696e53697a653a652c626f783a747d297d293b76617220533d302c443d302c433d302c503d303b6e2e6561636828672e636f6e636174286d292c66756e6374696f6e2874297b696628742e67657450616464696e67297b76617220653d742e67657450616464696e6728293b533d4d6174682e6d617828532c652e6c656674292c443d4d6174682e6d617828442c652e7269676874297d7d292c6e2e6561636828632e636f6e6361742866292c66756e6374696f6e2874297b696628742e67657450616464696e67297b76617220653d742e67657450616464696e6728293b433d4d6174682e6d617828432c652e746f70292c503d4d6174682e6d617828502c652e626f74746f6d297d7d293b76617220543d6c2c4f3d752c493d642c413d683b6e2e6561636828632e636f6e6361742866292c7a292c6e2e6561636828632c66756e6374696f6e2874297b542b3d742e77696474687d292c6e2e6561636828662c66756e6374696f6e2874297b4f2b3d742e77696474687d292c6e2e6561636828672e636f6e636174286d292c7a292c6e2e6561636828672c66756e6374696f6e2874297b492b3d742e6865696768747d292c6e2e65616368286d2c66756e6374696f6e2874297b412b3d742e6865696768747d292c6e2e6561636828632e636f6e6361742866292c66756e6374696f6e2874297b76617220653d6e2e66696e644e6578745768657265284d2c66756e6374696f6e2865297b72657475726e20652e626f783d3d3d747d292c693d7b6c6566743a302c72696768743a302c746f703a492c626f74746f6d3a417d3b652626742e75706461746528652e6d696e53697a652e77696474682c772c69297d292c543d6c2c4f3d752c493d642c413d682c6e2e6561636828632c66756e6374696f6e2874297b542b3d742e77696474687d292c6e2e6561636828662c66756e6374696f6e2874297b4f2b3d742e77696474687d292c6e2e6561636828672c66756e6374696f6e2874297b492b3d742e6865696768747d292c6e2e65616368286d2c66756e6374696f6e2874297b412b3d742e6865696768747d293b76617220463d4d6174682e6d617828532d542c30293b542b3d462c4f2b3d4d6174682e6d617828442d4f2c30293b76617220523d4d6174682e6d617828432d492c30293b492b3d522c412b3d4d6174682e6d617828502d412c30293b766172204c3d692d492d412c573d652d542d4f3b573d3d3d6b26264c3d3d3d777c7c286e2e6561636828632c66756e6374696f6e2874297b742e6865696768743d4c7d292c6e2e6561636828662c66756e6374696f6e2874297b742e6865696768743d4c7d292c6e2e6561636828672c66756e6374696f6e2874297b742e66756c6c57696474687c7c28742e77696474683d57297d292c6e2e65616368286d2c66756e6374696f6e2874297b742e66756c6c57696474687c7c28742e77696474683d57297d292c773d4c2c6b3d57293b76617220593d6c2b462c4e3d642b523b6e2e6561636828632e636f6e6361742867292c48292c592b3d6b2c4e2b3d772c6e2e6561636828662c48292c6e2e65616368286d2c48292c742e6368617274417265613d7b6c6566743a542c746f703a492c72696768743a542b6b2c626f74746f6d3a492b777d2c6e2e6561636828702c66756e6374696f6e2865297b652e6c6566743d742e6368617274417265612e6c6566742c652e746f703d742e6368617274417265612e746f702c652e72696768743d742e6368617274417265612e72696768742c652e626f74746f6d3d742e6368617274417265612e626f74746f6d2c652e757064617465286b2c77297d297d66756e6374696f6e207a2874297b76617220653d6e2e66696e644e6578745768657265284d2c66756e6374696f6e2865297b72657475726e20652e626f783d3d3d747d293b6966286529696628742e6973486f72697a6f6e74616c2829297b76617220693d7b6c6566743a4d6174682e6d617828542c53292c72696768743a4d6174682e6d6178284f2c44292c746f703a302c626f74746f6d3a307d3b742e75706461746528742e66756c6c57696474683f763a6b2c792f322c69297d656c736520742e75706461746528652e6d696e53697a652e77696474682c77297d66756e6374696f6e20482874297b742e6973486f72697a6f6e74616c28293f28742e6c6566743d742e66756c6c57696474683f6c3a542c742e72696768743d742e66756c6c57696474683f652d753a542b6b2c742e746f703d4e2c742e626f74746f6d3d4e2b742e6865696768742c4e3d742e626f74746f6d293a28742e6c6566743d592c742e72696768743d592b742e77696474682c742e746f703d492c742e626f74746f6d3d492b772c593d742e7269676874297d7d7d7d2c7b34353a34357d5d2c33313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435293b6e2e5f7365742822676c6f62616c222c7b706c7567696e733a7b7d7d292c652e6578706f7274733d7b5f706c7567696e733a5b5d2c5f636163686549643a302c72656769737465723a66756e6374696f6e2874297b76617220653d746869732e5f706c7567696e733b5b5d2e636f6e6361742874292e666f72456163682866756e6374696f6e2874297b2d313d3d3d652e696e6465784f662874292626652e707573682874297d292c746869732e5f636163686549642b2b7d2c756e72656769737465723a66756e6374696f6e2874297b76617220653d746869732e5f706c7567696e733b5b5d2e636f6e6361742874292e666f72456163682866756e6374696f6e2874297b76617220693d652e696e6465784f662874293b2d31213d3d692626652e73706c69636528692c31297d292c746869732e5f636163686549642b2b7d2c636c6561723a66756e6374696f6e28297b746869732e5f706c7567696e733d5b5d2c746869732e5f636163686549642b2b7d2c636f756e743a66756e6374696f6e28297b72657475726e20746869732e5f706c7567696e732e6c656e6774687d2c676574416c6c3a66756e6374696f6e28297b72657475726e20746869732e5f706c7567696e737d2c6e6f746966793a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f2c732c6c3d746869732e64657363726970746f72732874292c753d6c2e6c656e6774683b666f72286e3d303b6e3c753b2b2b6e296966282266756e6374696f6e223d3d747970656f6628733d28723d28613d6c5b6e5d292e706c7567696e295b655d29262628286f3d5b745d2e636f6e63617428697c7c5b5d29292e7075736828612e6f7074696f6e73292c21313d3d3d732e6170706c7928722c6f29292972657475726e21313b72657475726e21307d2c64657363726970746f72733a66756e6374696f6e2874297b76617220653d742e24706c7567696e737c7c28742e24706c7567696e733d7b7d293b696628652e69643d3d3d746869732e5f636163686549642972657475726e20652e64657363726970746f72733b76617220693d5b5d2c723d5b5d2c6f3d742626742e636f6e6669677c7c7b7d2c733d6f2e6f7074696f6e7326266f2e6f7074696f6e732e706c7567696e737c7c7b7d3b72657475726e20746869732e5f706c7567696e732e636f6e636174286f2e706c7567696e737c7c5b5d292e666f72456163682866756e6374696f6e2874297b6966282d313d3d3d692e696e6465784f66287429297b76617220653d742e69642c6f3d735b655d3b2131213d3d6f26262821303d3d3d6f2626286f3d612e636c6f6e65286e2e676c6f62616c2e706c7567696e735b655d29292c692e707573682874292c722e70757368287b706c7567696e3a742c6f7074696f6e733a6f7c7c7b7d7d29297d7d292c652e64657363726970746f72733d722c652e69643d746869732e5f636163686549642c727d2c5f696e76616c69646174653a66756e6374696f6e2874297b64656c65746520742e24706c7567696e737d7d7d2c7b32353a32352c34353a34357d5d2c33323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283334293b66756e6374696f6e20732874297b76617220652c692c6e3d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b65296e2e7075736828745b655d2e6c6162656c293b72657475726e206e7d66756e6374696f6e206c28742c652c69297b766172206e3d742e676574506978656c466f725469636b2865293b72657475726e20692626286e2d3d303d3d3d653f28742e676574506978656c466f725469636b2831292d6e292f323a286e2d742e676574506978656c466f725469636b28652d3129292f32292c6e7d6e2e5f73657428227363616c65222c7b646973706c61793a21302c706f736974696f6e3a226c656674222c6f66667365743a21312c677269644c696e65733a7b646973706c61793a21302c636f6c6f723a227267626128302c20302c20302c20302e3129222c6c696e6557696474683a312c64726177426f726465723a21302c647261774f6e4368617274417265613a21302c647261775469636b733a21302c7469636b4d61726b4c656e6774683a31302c7a65726f4c696e6557696474683a312c7a65726f4c696e65436f6c6f723a227267626128302c302c302c302e323529222c7a65726f4c696e65426f72646572446173683a5b5d2c7a65726f4c696e65426f72646572446173684f66667365743a302c6f6666736574477269644c696e65733a21312c626f72646572446173683a5b5d2c626f72646572446173684f66667365743a307d2c7363616c654c6162656c3a7b646973706c61793a21312c6c6162656c537472696e673a22222c6c696e654865696768743a312e322c70616464696e673a7b746f703a342c626f74746f6d3a347d7d2c7469636b733a7b626567696e41745a65726f3a21312c6d696e526f746174696f6e3a302c6d6178526f746174696f6e3a35302c6d6972726f723a21312c70616464696e673a302c726576657273653a21312c646973706c61793a21302c6175746f536b69703a21302c6175746f536b697050616464696e673a302c6c6162656c4f66667365743a302c63616c6c6261636b3a6f2e666f726d6174746572732e76616c7565732c6d696e6f723a7b7d2c6d616a6f723a7b7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c652c69297b72657475726e20722e697341727261792865293f722e6c6f6e676573745465787428742c692c65293a742e6d656173757265546578742865292e77696474687d66756e6374696f6e20692874297b76617220653d722e76616c75654f7244656661756c742c693d6e2e676c6f62616c2c613d6528742e666f6e7453697a652c692e64656661756c74466f6e7453697a65292c6f3d6528742e666f6e745374796c652c692e64656661756c74466f6e745374796c65292c733d6528742e666f6e7446616d696c792c692e64656661756c74466f6e7446616d696c79293b72657475726e7b73697a653a612c7374796c653a6f2c66616d696c793a732c666f6e743a722e666f6e74537472696e6728612c6f2c73297d7d66756e6374696f6e206f2874297b72657475726e20722e6f7074696f6e732e746f4c696e6548656967687428722e76616c75654f7244656661756c7428742e6c696e654865696768742c312e32292c722e76616c75654f7244656661756c7428742e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a6529297d742e5363616c653d612e657874656e64287b67657450616464696e673a66756e6374696f6e28297b72657475726e7b6c6566743a746869732e70616464696e674c6566747c7c302c746f703a746869732e70616464696e67546f707c7c302c72696768743a746869732e70616464696e6752696768747c7c302c626f74746f6d3a746869732e70616464696e67426f74746f6d7c7c307d7d2c6765745469636b733a66756e6374696f6e28297b72657475726e20746869732e5f7469636b737d2c6d657267655469636b734f7074696f6e733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b733b666f7228766172206520696e21313d3d3d742e6d696e6f72262628742e6d696e6f723d7b646973706c61793a21317d292c21313d3d3d742e6d616a6f72262628742e6d616a6f723d7b646973706c61793a21317d292c7429226d616a6f7222213d3d652626226d696e6f7222213d3d65262628766f696420303d3d3d742e6d696e6f725b655d262628742e6d696e6f725b655d3d745b655d292c766f696420303d3d3d742e6d616a6f725b655d262628742e6d616a6f725b655d3d745b655d29297d2c6265666f72655570646174653a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72655570646174652c5b746869735d297d2c7570646174653a66756e6374696f6e28742c652c69297b766172206e2c612c6f2c732c6c2c752c643d746869733b666f7228642e6265666f726555706461746528292c642e6d617857696474683d742c642e6d61784865696768743d652c642e6d617267696e733d722e657874656e64287b6c6566743a302c72696768743a302c746f703a302c626f74746f6d3a307d2c69292c642e6c6f6e676573745465787443616368653d642e6c6f6e676573745465787443616368657c7c7b7d2c642e6265666f726553657444696d656e73696f6e7328292c642e73657444696d656e73696f6e7328292c642e616674657253657444696d656e73696f6e7328292c642e6265666f7265446174614c696d69747328292c642e64657465726d696e65446174614c696d69747328292c642e6166746572446174614c696d69747328292c642e6265666f72654275696c645469636b7328292c6c3d642e6275696c645469636b7328297c7c5b5d2c642e61667465724275696c645469636b7328292c642e6265666f72655469636b546f4c6162656c436f6e76657273696f6e28292c6f3d642e636f6e766572745469636b73546f4c6162656c73286c297c7c642e7469636b732c642e61667465725469636b546f4c6162656c436f6e76657273696f6e28292c642e7469636b733d6f2c6e3d302c613d6f2e6c656e6774683b6e3c613b2b2b6e29733d6f5b6e5d2c28753d6c5b6e5d293f752e6c6162656c3d733a6c2e7075736828753d7b6c6162656c3a732c6d616a6f723a21317d293b72657475726e20642e5f7469636b733d6c2c642e6265666f726543616c63756c6174655469636b526f746174696f6e28292c642e63616c63756c6174655469636b526f746174696f6e28292c642e616674657243616c63756c6174655469636b526f746174696f6e28292c642e6265666f726546697428292c642e66697428292c642e616674657246697428292c642e616674657255706461746528292c642e6d696e53697a657d2c61667465725570646174653a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465725570646174652c5b746869735d297d2c6265666f726553657444696d656e73696f6e733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f726553657444696d656e73696f6e732c5b746869735d297d2c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d307d2c616674657253657444696d656e73696f6e733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e616674657253657444696d656e73696f6e732c5b746869735d297d2c6265666f7265446174614c696d6974733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f7265446174614c696d6974732c5b746869735d297d2c64657465726d696e65446174614c696d6974733a722e6e6f6f702c6166746572446174614c696d6974733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6166746572446174614c696d6974732c5b746869735d297d2c6265666f72654275696c645469636b733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72654275696c645469636b732c5b746869735d297d2c6275696c645469636b733a722e6e6f6f702c61667465724275696c645469636b733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465724275696c645469636b732c5b746869735d297d2c6265666f72655469636b546f4c6162656c436f6e76657273696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72655469636b546f4c6162656c436f6e76657273696f6e2c5b746869735d297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b733b746869732e7469636b733d746869732e7469636b732e6d617028742e7573657243616c6c6261636b7c7c742e63616c6c6261636b2c74686973297d2c61667465725469636b546f4c6162656c436f6e76657273696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465725469636b546f4c6162656c436f6e76657273696f6e2c5b746869735d297d2c6265666f726543616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f726543616c63756c6174655469636b526f746174696f6e2c5b746869735d297d2c63616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b76617220743d746869732c653d742e6374782c6e3d742e6f7074696f6e732e7469636b732c613d7328742e5f7469636b73292c6f3d69286e293b652e666f6e743d6f2e666f6e743b766172206c3d6e2e6d696e526f746174696f6e7c7c303b696628612e6c656e6774682626742e6f7074696f6e732e646973706c61792626742e6973486f72697a6f6e74616c282929666f722876617220752c643d722e6c6f6e676573745465787428652c6f2e666f6e742c612c742e6c6f6e67657374546578744361636865292c683d642c633d742e676574506978656c466f725469636b2831292d742e676574506978656c466f725469636b2830292d363b683e6326266c3c6e2e6d6178526f746174696f6e3b297b76617220663d722e746f52616469616e73286c293b696628753d4d6174682e636f732866292c4d6174682e73696e2866292a643e742e6d6178486569676874297b6c2d2d3b627265616b7d6c2b2b2c683d752a647d742e6c6162656c526f746174696f6e3d6c7d2c616674657243616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e616674657243616c63756c6174655469636b526f746174696f6e2c5b746869735d297d2c6265666f72654669743a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72654669742c5b746869735d297d2c6669743a66756e6374696f6e28297b76617220743d746869732c6e3d742e6d696e53697a653d7b77696474683a302c6865696768743a307d2c613d7328742e5f7469636b73292c6c3d742e6f7074696f6e732c753d6c2e7469636b732c643d6c2e7363616c654c6162656c2c683d6c2e677269644c696e65732c633d6c2e646973706c61792c663d742e6973486f72697a6f6e74616c28292c673d692875292c6d3d6c2e677269644c696e65732e7469636b4d61726b4c656e6774683b6966286e2e77696474683d663f742e697346756c6c576964746828293f742e6d617857696474682d742e6d617267696e732e6c6566742d742e6d617267696e732e72696768743a742e6d617857696474683a632626682e647261775469636b733f6d3a302c6e2e6865696768743d663f632626682e647261775469636b733f6d3a303a742e6d61784865696768742c642e646973706c6179262663297b76617220703d6f2864292b722e6f7074696f6e732e746f50616464696e6728642e70616464696e67292e6865696768743b663f6e2e6865696768742b3d703a6e2e77696474682b3d707d696628752e646973706c6179262663297b76617220763d722e6c6f6e676573745465787428742e6374782c672e666f6e742c612c742e6c6f6e67657374546578744361636865292c793d722e6e756d6265724f664c6162656c4c696e65732861292c623d2e352a672e73697a652c783d742e6f7074696f6e732e7469636b732e70616464696e673b69662866297b742e6c6f6e676573744c6162656c57696474683d763b766172205f3d722e746f52616469616e7328742e6c6162656c526f746174696f6e292c6b3d4d6174682e636f73285f292c773d4d6174682e73696e285f292a762b672e73697a652a792b622a28792d31292b623b6e2e6865696768743d4d6174682e6d696e28742e6d61784865696768742c6e2e6865696768742b772b78292c742e6374782e666f6e743d672e666f6e743b766172204d3d6528742e6374782c615b305d2c672e666f6e74292c533d6528742e6374782c615b612e6c656e6774682d315d2c672e666f6e74293b30213d3d742e6c6162656c526f746174696f6e3f28742e70616464696e674c6566743d22626f74746f6d223d3d3d6c2e706f736974696f6e3f6b2a4d2b333a6b2a622b332c742e70616464696e6752696768743d22626f74746f6d223d3d3d6c2e706f736974696f6e3f6b2a622b333a6b2a532b33293a28742e70616464696e674c6566743d4d2f322b332c742e70616464696e6752696768743d532f322b33297d656c736520752e6d6972726f723f763d303a762b3d782b622c6e2e77696474683d4d6174682e6d696e28742e6d617857696474682c6e2e77696474682b76292c742e70616464696e67546f703d672e73697a652f322c742e70616464696e67426f74746f6d3d672e73697a652f327d742e68616e646c654d617267696e7328292c742e77696474683d6e2e77696474682c742e6865696768743d6e2e6865696768747d2c68616e646c654d617267696e733a66756e6374696f6e28297b76617220743d746869733b742e6d617267696e73262628742e70616464696e674c6566743d4d6174682e6d617828742e70616464696e674c6566742d742e6d617267696e732e6c6566742c30292c742e70616464696e67546f703d4d6174682e6d617828742e70616464696e67546f702d742e6d617267696e732e746f702c30292c742e70616464696e6752696768743d4d6174682e6d617828742e70616464696e6752696768742d742e6d617267696e732e72696768742c30292c742e70616464696e67426f74746f6d3d4d6174682e6d617828742e70616464696e67426f74746f6d2d742e6d617267696e732e626f74746f6d2c3029297d2c61667465724669743a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465724669742c5b746869735d297d2c6973486f72697a6f6e74616c3a66756e6374696f6e28297b72657475726e22746f70223d3d3d746869732e6f7074696f6e732e706f736974696f6e7c7c22626f74746f6d223d3d3d746869732e6f7074696f6e732e706f736974696f6e7d2c697346756c6c57696474683a66756e6374696f6e28297b72657475726e20746869732e6f7074696f6e732e66756c6c57696474687d2c676574526967687456616c75653a66756e6374696f6e2874297b696628722e69734e756c6c4f72556e6465662874292972657475726e204e614e3b696628226e756d626572223d3d747970656f662074262621697346696e6974652874292972657475726e204e614e3b6966287429696628746869732e6973486f72697a6f6e74616c2829297b696628766f69642030213d3d742e782972657475726e20746869732e676574526967687456616c756528742e78297d656c736520696628766f69642030213d3d742e792972657475726e20746869732e676574526967687456616c756528742e79293b72657475726e20747d2c6765744c6162656c466f72496e6465783a722e6e6f6f702c676574506978656c466f7256616c75653a722e6e6f6f702c67657456616c7565466f72506978656c3a722e6e6f6f702c676574506978656c466f725469636b3a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732e6f66667365743b696628652e6973486f72697a6f6e74616c2829297b766172206e3d28652e77696474682d28652e70616464696e674c6566742b652e70616464696e67526967687429292f4d6174682e6d617828652e5f7469636b732e6c656e6774682d28693f303a31292c31292c613d6e2a742b652e70616464696e674c6566743b69262628612b3d6e2f32293b76617220723d652e6c6566742b4d6174682e726f756e642861293b72657475726e20722b3d652e697346756c6c576964746828293f652e6d617267696e732e6c6566743a307d766172206f3d652e6865696768742d28652e70616464696e67546f702b652e70616464696e67426f74746f6d293b72657475726e20652e746f702b742a286f2f28652e5f7469636b732e6c656e6774682d3129297d2c676574506978656c466f72446563696d616c3a66756e6374696f6e2874297b76617220653d746869733b696628652e6973486f72697a6f6e74616c2829297b76617220693d28652e77696474682d28652e70616464696e674c6566742b652e70616464696e67526967687429292a742b652e70616464696e674c6566742c6e3d652e6c6566742b4d6174682e726f756e642869293b72657475726e206e2b3d652e697346756c6c576964746828293f652e6d617267696e732e6c6566743a307d72657475726e20652e746f702b742a652e6865696768747d2c67657442617365506978656c3a66756e6374696f6e28297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e6765744261736556616c75652829297d2c6765744261736556616c75653a66756e6374696f6e28297b76617220743d746869732e6d696e2c653d746869732e6d61783b72657475726e20746869732e626567696e41745a65726f3f303a743c302626653c303f653a743e302626653e303f743a307d2c5f6175746f536b69703a66756e6374696f6e2874297b76617220652c692c6e2c612c6f3d746869732c733d6f2e6973486f72697a6f6e74616c28292c6c3d6f2e6f7074696f6e732e7469636b732e6d696e6f722c753d742e6c656e6774682c643d722e746f52616469616e73286f2e6c6162656c526f746174696f6e292c683d4d6174682e636f732864292c633d6f2e6c6f6e676573744c6162656c57696474682a682c663d5b5d3b666f72286c2e6d61785469636b734c696d6974262628613d6c2e6d61785469636b734c696d6974292c73262628653d21312c28632b6c2e6175746f536b697050616464696e67292a753e6f2e77696474682d286f2e70616464696e674c6566742b6f2e70616464696e67526967687429262628653d312b4d6174682e666c6f6f722828632b6c2e6175746f536b697050616464696e67292a752f286f2e77696474682d286f2e70616464696e674c6566742b6f2e70616464696e675269676874292929292c612626753e61262628653d4d6174682e6d617828652c4d6174682e666c6f6f7228752f61292929292c693d303b693c753b692b2b296e3d745b695d2c28653e3126266925653e307c7c6925653d3d302626692b653e3d7529262669213d3d752d31262664656c657465206e2e6c6162656c2c662e70757368286e293b72657475726e20667d2c647261773a66756e6374696f6e2874297b76617220653d746869732c613d652e6f7074696f6e733b696628612e646973706c6179297b76617220733d652e6374782c753d6e2e676c6f62616c2c643d612e7469636b732e6d696e6f722c683d612e7469636b732e6d616a6f727c7c642c633d612e677269644c696e65732c663d612e7363616c654c6162656c2c673d30213d3d652e6c6162656c526f746174696f6e2c6d3d652e6973486f72697a6f6e74616c28292c703d642e6175746f536b69703f652e5f6175746f536b697028652e6765745469636b732829293a652e6765745469636b7328292c763d722e76616c75654f7244656661756c7428642e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c793d692864292c623d722e76616c75654f7244656661756c7428682e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c783d692868292c5f3d632e647261775469636b733f632e7469636b4d61726b4c656e6774683a302c6b3d722e76616c75654f7244656661756c7428662e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c773d692866292c4d3d722e6f7074696f6e732e746f50616464696e6728662e70616464696e67292c533d722e746f52616469616e7328652e6c6162656c526f746174696f6e292c443d5b5d2c433d652e6f7074696f6e732e677269644c696e65732e6c696e6557696474682c503d227269676874223d3d3d612e706f736974696f6e3f652e72696768743a652e72696768742d432d5f2c543d227269676874223d3d3d612e706f736974696f6e3f652e72696768742b5f3a652e72696768742c4f3d22626f74746f6d223d3d3d612e706f736974696f6e3f652e746f702b433a652e626f74746f6d2d5f2d432c493d22626f74746f6d223d3d3d612e706f736974696f6e3f652e746f702b432b5f3a652e626f74746f6d2b433b696628722e6561636828702c66756e6374696f6e28692c6e297b69662821722e69734e756c6c4f72556e64656628692e6c6162656c29297b766172206f2c732c682c662c762c792c622c782c6b2c772c4d2c412c462c522c4c3d692e6c6162656c3b6e3d3d3d652e7a65726f4c696e65496e6465782626612e6f66667365743d3d3d632e6f6666736574477269644c696e65733f286f3d632e7a65726f4c696e6557696474682c733d632e7a65726f4c696e65436f6c6f722c683d632e7a65726f4c696e65426f72646572446173682c663d632e7a65726f4c696e65426f72646572446173684f6666736574293a286f3d722e76616c75654174496e6465784f7244656661756c7428632e6c696e6557696474682c6e292c733d722e76616c75654174496e6465784f7244656661756c7428632e636f6c6f722c6e292c683d722e76616c75654f7244656661756c7428632e626f72646572446173682c752e626f7264657244617368292c663d722e76616c75654f7244656661756c7428632e626f72646572446173684f66667365742c752e626f72646572446173684f666673657429293b76617220573d226d6964646c65222c593d226d6964646c65222c4e3d642e70616464696e673b6966286d297b766172207a3d5f2b4e3b22626f74746f6d223d3d3d612e706f736974696f6e3f28593d673f226d6964646c65223a22746f70222c573d673f227269676874223a2263656e746572222c523d652e746f702b7a293a28593d673f226d6964646c65223a22626f74746f6d222c573d673f226c656674223a2263656e746572222c523d652e626f74746f6d2d7a293b76617220483d6c28652c6e2c632e6f6666736574477269644c696e65732626702e6c656e6774683e31293b483c652e6c656674262628733d227267626128302c302c302c302922292c482b3d722e616c696173506978656c286f292c463d652e676574506978656c466f725469636b286e292b642e6c6162656c4f66667365742c763d623d6b3d4d3d482c793d4f2c783d492c773d742e746f702c413d742e626f74746f6d2b437d656c73657b76617220562c423d226c656674223d3d3d612e706f736974696f6e3b642e6d6972726f723f28573d423f226c656674223a227269676874222c563d4e293a28573d423f227269676874223a226c656674222c563d5f2b4e292c463d423f652e72696768742d563a652e6c6566742b563b76617220453d6c28652c6e2c632e6f6666736574477269644c696e65732626702e6c656e6774683e31293b453c652e746f70262628733d227267626128302c302c302c302922292c452b3d722e616c696173506978656c286f292c523d652e676574506978656c466f725469636b286e292b642e6c6162656c4f66667365742c763d502c623d542c6b3d742e6c6566742c4d3d742e72696768742b432c793d783d773d413d457d442e70757368287b7478313a762c7479313a792c7478323a622c7479323a782c78313a6b2c79313a772c78323a4d2c79323a412c6c6162656c583a462c6c6162656c593a522c676c57696474683a6f2c676c436f6c6f723a732c676c426f72646572446173683a682c676c426f72646572446173684f66667365743a662c726f746174696f6e3a2d312a532c6c6162656c3a4c2c6d616a6f723a692e6d616a6f722c74657874426173656c696e653a592c74657874416c69676e3a577d297d7d292c722e6561636828442c66756e6374696f6e2874297b696628632e646973706c6179262628732e7361766528292c732e6c696e6557696474683d742e676c57696474682c732e7374726f6b655374796c653d742e676c436f6c6f722c732e7365744c696e6544617368262628732e7365744c696e654461736828742e676c426f7264657244617368292c732e6c696e65446173684f66667365743d742e676c426f72646572446173684f6666736574292c732e626567696e5061746828292c632e647261775469636b73262628732e6d6f7665546f28742e7478312c742e747931292c732e6c696e65546f28742e7478322c742e74793229292c632e647261774f6e436861727441726561262628732e6d6f7665546f28742e78312c742e7931292c732e6c696e65546f28742e78322c742e793229292c732e7374726f6b6528292c732e726573746f72652829292c642e646973706c6179297b732e7361766528292c732e7472616e736c61746528742e6c6162656c582c742e6c6162656c59292c732e726f7461746528742e726f746174696f6e292c732e666f6e743d742e6d616a6f723f782e666f6e743a792e666f6e742c732e66696c6c5374796c653d742e6d616a6f723f623a762c732e74657874426173656c696e653d742e74657874426173656c696e652c732e74657874416c69676e3d742e74657874416c69676e3b76617220693d742e6c6162656c3b696628722e6973417272617928692929666f7228766172206e3d692e6c656e6774682c613d312e352a792e73697a652c6f3d652e6973486f72697a6f6e74616c28293f303a2d612a286e2d31292f322c6c3d303b6c3c6e3b2b2b6c29732e66696c6c546578742822222b695b6c5d2c302c6f292c6f2b3d613b656c736520732e66696c6c5465787428692c302c30293b732e726573746f726528297d7d292c662e646973706c6179297b76617220412c462c523d302c4c3d6f2866292f323b6966286d29413d652e6c6566742b28652e72696768742d652e6c656674292f322c463d22626f74746f6d223d3d3d612e706f736974696f6e3f652e626f74746f6d2d4c2d4d2e626f74746f6d3a652e746f702b4c2b4d2e746f703b656c73657b76617220573d226c656674223d3d3d612e706f736974696f6e3b413d573f652e6c6566742b4c2b4d2e746f703a652e72696768742d4c2d4d2e746f702c463d652e746f702b28652e626f74746f6d2d652e746f70292f322c523d573f2d2e352a4d6174682e50493a2e352a4d6174682e50497d732e7361766528292c732e7472616e736c61746528412c46292c732e726f746174652852292c732e74657874416c69676e3d2263656e746572222c732e74657874426173656c696e653d226d6964646c65222c732e66696c6c5374796c653d6b2c732e666f6e743d772e666f6e742c732e66696c6c5465787428662e6c6162656c537472696e672c302c30292c732e726573746f726528297d696628632e64726177426f72646572297b732e6c696e6557696474683d722e76616c75654174496e6465784f7244656661756c7428632e6c696e6557696474682c30292c732e7374726f6b655374796c653d722e76616c75654174496e6465784f7244656661756c7428632e636f6c6f722c30293b76617220593d652e6c6566742c4e3d652e72696768742b432c7a3d652e746f702c483d652e626f74746f6d2b432c563d722e616c696173506978656c28732e6c696e655769647468293b6d3f287a3d483d22746f70223d3d3d612e706f736974696f6e3f652e626f74746f6d3a652e746f702c7a2b3d562c482b3d56293a28593d4e3d226c656674223d3d3d612e706f736974696f6e3f652e72696768743a652e6c6566742c592b3d562c4e2b3d56292c732e626567696e5061746828292c732e6d6f7665546f28592c7a292c732e6c696e65546f284e2c48292c732e7374726f6b6528297d7d7d7d297d7d2c7b32353a32352c32363a32362c33343a33342c34353a34357d5d2c33333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283330293b652e6578706f7274733d66756e6374696f6e2874297b742e7363616c65536572766963653d7b636f6e7374727563746f72733a7b7d2c64656661756c74733a7b7d2c72656769737465725363616c65547970653a66756e6374696f6e28742c652c69297b746869732e636f6e7374727563746f72735b745d3d652c746869732e64656661756c74735b745d3d612e636c6f6e652869297d2c6765745363616c65436f6e7374727563746f723a66756e6374696f6e2874297b72657475726e20746869732e636f6e7374727563746f72732e6861734f776e50726f70657274792874293f746869732e636f6e7374727563746f72735b745d3a766f696420307d2c6765745363616c6544656661756c74733a66756e6374696f6e2874297b72657475726e20746869732e64656661756c74732e6861734f776e50726f70657274792874293f612e6d65726765287b7d2c5b6e2e7363616c652c746869732e64656661756c74735b745d5d293a7b7d7d2c7570646174655363616c6544656661756c74733a66756e6374696f6e28742c65297b746869732e64656661756c74732e6861734f776e50726f7065727479287429262628746869732e64656661756c74735b745d3d612e657874656e6428746869732e64656661756c74735b745d2c6529297d2c6164645363616c6573546f4c61796f75743a66756e6374696f6e2874297b612e6561636828742e7363616c65732c66756e6374696f6e2865297b652e66756c6c57696474683d652e6f7074696f6e732e66756c6c57696474682c652e706f736974696f6e3d652e6f7074696f6e732e706f736974696f6e2c652e7765696768743d652e6f7074696f6e732e7765696768742c722e616464426f7828742c65297d297d7d7d7d2c7b32353a32352c33303a33302c34353a34357d5d2c33343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d7b666f726d6174746572733a7b76616c7565733a66756e6374696f6e2874297b72657475726e206e2e697341727261792874293f743a22222b747d2c6c696e6561723a66756e6374696f6e28742c652c69297b76617220613d692e6c656e6774683e333f695b325d2d695b315d3a695b315d2d695b305d3b4d6174682e6162732861293e31262674213d3d4d6174682e666c6f6f72287429262628613d742d4d6174682e666c6f6f72287429293b76617220723d6e2e6c6f673130284d6174682e616273286129292c6f3d22223b69662830213d3d74297b76617220733d2d312a4d6174682e666c6f6f722872293b733d4d6174682e6d6178284d6174682e6d696e28732c3230292c30292c6f3d742e746f46697865642873297d656c7365206f3d2230223b72657475726e206f7d2c6c6f6761726974686d69633a66756e6374696f6e28742c652c69297b76617220613d742f4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742929293b72657475726e20303d3d3d743f2230223a313d3d3d617c7c323d3d3d617c7c353d3d3d617c7c303d3d3d657c7c653d3d3d692e6c656e6774682d313f742e746f4578706f6e656e7469616c28293a22227d7d7d7d2c7b34353a34357d5d2c33353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b746f6f6c746970733a7b656e61626c65643a21302c637573746f6d3a6e756c6c2c6d6f64653a226e656172657374222c706f736974696f6e3a2261766572616765222c696e746572736563743a21302c6261636b67726f756e64436f6c6f723a227267626128302c302c302c302e3829222c7469746c65466f6e745374796c653a22626f6c64222c7469746c6553706163696e673a322c7469746c654d617267696e426f74746f6d3a362c7469746c65466f6e74436f6c6f723a2223666666222c7469746c65416c69676e3a226c656674222c626f647953706163696e673a322c626f6479466f6e74436f6c6f723a2223666666222c626f6479416c69676e3a226c656674222c666f6f746572466f6e745374796c653a22626f6c64222c666f6f74657253706163696e673a322c666f6f7465724d617267696e546f703a362c666f6f746572466f6e74436f6c6f723a2223666666222c666f6f746572416c69676e3a226c656674222c7950616464696e673a362c7850616464696e673a362c636172657450616464696e673a322c636172657453697a653a352c636f726e65725261646975733a362c6d756c74694b65794261636b67726f756e643a2223666666222c646973706c6179436f6c6f72733a21302c626f72646572436f6c6f723a227267626128302c302c302c3029222c626f7264657257696474683a302c63616c6c6261636b733a7b6265666f72655469746c653a722e6e6f6f702c7469746c653a66756e6374696f6e28742c65297b76617220693d22222c6e3d652e6c6162656c732c613d6e3f6e2e6c656e6774683a303b696628742e6c656e6774683e30297b76617220723d745b305d3b722e784c6162656c3f693d722e784c6162656c3a613e302626722e696e6465783c61262628693d6e5b722e696e6465785d297d72657475726e20697d2c61667465725469746c653a722e6e6f6f702c6265666f7265426f64793a722e6e6f6f702c6265666f72654c6162656c3a722e6e6f6f702c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c22223b72657475726e2069262628692b3d223a2022292c692b3d742e794c6162656c7d2c6c6162656c436f6c6f723a66756e6374696f6e28742c65297b76617220693d652e676574446174617365744d65746128742e64617461736574496e646578292e646174615b742e696e6465785d2e5f766965773b72657475726e7b626f72646572436f6c6f723a692e626f72646572436f6c6f722c6261636b67726f756e64436f6c6f723a692e6261636b67726f756e64436f6c6f727d7d2c6c6162656c54657874436f6c6f723a66756e6374696f6e28297b72657475726e20746869732e5f6f7074696f6e732e626f6479466f6e74436f6c6f727d2c61667465724c6162656c3a722e6e6f6f702c6166746572426f64793a722e6e6f6f702c6265666f7265466f6f7465723a722e6e6f6f702c666f6f7465723a722e6e6f6f702c6166746572466f6f7465723a722e6e6f6f707d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c65297b76617220693d722e636f6c6f722874293b72657475726e20692e616c70686128652a692e616c7068612829292e72676261537472696e6728297d66756e6374696f6e206928742c65297b72657475726e2065262628722e697341727261792865293f41727261792e70726f746f747970652e707573682e6170706c7928742c65293a742e70757368286529292c747d66756e6374696f6e206f2874297b76617220653d6e2e676c6f62616c2c693d722e76616c75654f7244656661756c743b72657475726e7b7850616464696e673a742e7850616464696e672c7950616464696e673a742e7950616464696e672c78416c69676e3a742e78416c69676e2c79416c69676e3a742e79416c69676e2c626f6479466f6e74436f6c6f723a742e626f6479466f6e74436f6c6f722c5f626f6479466f6e7446616d696c793a6928742e626f6479466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f626f6479466f6e745374796c653a6928742e626f6479466f6e745374796c652c652e64656661756c74466f6e745374796c65292c5f626f6479416c69676e3a742e626f6479416c69676e2c626f6479466f6e7453697a653a6928742e626f6479466f6e7453697a652c652e64656661756c74466f6e7453697a65292c626f647953706163696e673a742e626f647953706163696e672c7469746c65466f6e74436f6c6f723a742e7469746c65466f6e74436f6c6f722c5f7469746c65466f6e7446616d696c793a6928742e7469746c65466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f7469746c65466f6e745374796c653a6928742e7469746c65466f6e745374796c652c652e64656661756c74466f6e745374796c65292c7469746c65466f6e7453697a653a6928742e7469746c65466f6e7453697a652c652e64656661756c74466f6e7453697a65292c5f7469746c65416c69676e3a742e7469746c65416c69676e2c7469746c6553706163696e673a742e7469746c6553706163696e672c7469746c654d617267696e426f74746f6d3a742e7469746c654d617267696e426f74746f6d2c666f6f746572466f6e74436f6c6f723a742e666f6f746572466f6e74436f6c6f722c5f666f6f746572466f6e7446616d696c793a6928742e666f6f746572466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f666f6f746572466f6e745374796c653a6928742e666f6f746572466f6e745374796c652c652e64656661756c74466f6e745374796c65292c666f6f746572466f6e7453697a653a6928742e666f6f746572466f6e7453697a652c652e64656661756c74466f6e7453697a65292c5f666f6f746572416c69676e3a742e666f6f746572416c69676e2c666f6f74657253706163696e673a742e666f6f74657253706163696e672c666f6f7465724d617267696e546f703a742e666f6f7465724d617267696e546f702c636172657453697a653a742e636172657453697a652c636f726e65725261646975733a742e636f726e65725261646975732c6261636b67726f756e64436f6c6f723a742e6261636b67726f756e64436f6c6f722c6f7061636974793a302c6c6567656e64436f6c6f724261636b67726f756e643a742e6d756c74694b65794261636b67726f756e642c646973706c6179436f6c6f72733a742e646973706c6179436f6c6f72732c626f72646572436f6c6f723a742e626f72646572436f6c6f722c626f7264657257696474683a742e626f7264657257696474687d7d742e546f6f6c7469703d612e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b746869732e5f6d6f64656c3d6f28746869732e5f6f7074696f6e73292c746869732e5f6c6173744163746976653d5b5d7d2c6765745469746c653a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732c653d742e6265666f72655469746c652e6170706c7928746869732c617267756d656e7473292c6e3d742e7469746c652e6170706c7928746869732c617267756d656e7473292c613d742e61667465725469746c652e6170706c7928746869732c617267756d656e7473292c723d5b5d3b72657475726e20723d6928723d6928723d6928722c65292c6e292c61297d2c6765744265666f7265426f64793a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732e6265666f7265426f64792e6170706c7928746869732c617267756d656e7473293b72657475726e20722e697341727261792874293f743a766f69642030213d3d743f5b745d3a5b5d7d2c676574426f64793a66756e6374696f6e28742c65297b766172206e3d746869732c613d6e2e5f6f7074696f6e732e63616c6c6261636b732c6f3d5b5d3b72657475726e20722e6561636828742c66756e6374696f6e2874297b76617220723d7b6265666f72653a5b5d2c6c696e65733a5b5d2c61667465723a5b5d7d3b6928722e6265666f72652c612e6265666f72654c6162656c2e63616c6c286e2c742c6529292c6928722e6c696e65732c612e6c6162656c2e63616c6c286e2c742c6529292c6928722e61667465722c612e61667465724c6162656c2e63616c6c286e2c742c6529292c6f2e707573682872297d292c6f7d2c6765744166746572426f64793a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732e6166746572426f64792e6170706c7928746869732c617267756d656e7473293b72657475726e20722e697341727261792874293f743a766f69642030213d3d743f5b745d3a5b5d7d2c676574466f6f7465723a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732c653d742e6265666f7265466f6f7465722e6170706c7928746869732c617267756d656e7473292c6e3d742e666f6f7465722e6170706c7928746869732c617267756d656e7473292c613d742e6166746572466f6f7465722e6170706c7928746869732c617267756d656e7473292c723d5b5d3b72657475726e20723d6928723d6928723d6928722c65292c6e292c61297d2c7570646174653a66756e6374696f6e2865297b76617220692c6e2c612c732c6c2c752c642c682c632c662c672c6d2c702c762c792c622c782c5f2c6b2c772c4d3d746869732c533d4d2e5f6f7074696f6e732c443d4d2e5f6d6f64656c2c433d4d2e5f6d6f64656c3d6f2853292c503d4d2e5f6163746976652c543d4d2e5f646174612c4f3d7b78416c69676e3a442e78416c69676e2c79416c69676e3a442e79416c69676e7d2c493d7b783a442e782c793a442e797d2c413d7b77696474683a442e77696474682c6865696768743a442e6865696768747d2c463d7b783a442e6361726574582c793a442e6361726574597d3b696628502e6c656e677468297b432e6f7061636974793d313b76617220523d5b5d2c4c3d5b5d3b463d742e546f6f6c7469702e706f736974696f6e6572735b532e706f736974696f6e5d2e63616c6c284d2c502c4d2e5f6576656e74506f736974696f6e293b76617220573d5b5d3b666f7228693d302c6e3d502e6c656e6774683b693c6e3b2b2b6929572e707573682828623d505b695d2c783d766f696420302c5f3d766f696420302c766f696420302c766f696420302c783d622e5f785363616c652c5f3d622e5f795363616c657c7c622e5f7363616c652c6b3d622e5f696e6465782c773d622e5f64617461736574496e6465782c7b784c6162656c3a783f782e6765744c6162656c466f72496e646578286b2c77293a22222c794c6162656c3a5f3f5f2e6765744c6162656c466f72496e646578286b2c77293a22222c696e6465783a6b2c64617461736574496e6465783a772c783a622e5f6d6f64656c2e782c793a622e5f6d6f64656c2e797d29293b532e66696c746572262628573d572e66696c7465722866756e6374696f6e2874297b72657475726e20532e66696c74657228742c54297d29292c532e6974656d536f7274262628573d572e736f72742866756e6374696f6e28742c65297b72657475726e20532e6974656d536f727428742c652c54297d29292c722e6561636828572c66756e6374696f6e2874297b522e7075736828532e63616c6c6261636b732e6c6162656c436f6c6f722e63616c6c284d2c742c4d2e5f636861727429292c4c2e7075736828532e63616c6c6261636b732e6c6162656c54657874436f6c6f722e63616c6c284d2c742c4d2e5f636861727429297d292c432e7469746c653d4d2e6765745469746c6528572c54292c432e6265666f7265426f64793d4d2e6765744265666f7265426f647928572c54292c432e626f64793d4d2e676574426f647928572c54292c432e6166746572426f64793d4d2e6765744166746572426f647928572c54292c432e666f6f7465723d4d2e676574466f6f74657228572c54292c432e783d4d6174682e726f756e6428462e78292c432e793d4d6174682e726f756e6428462e79292c432e636172657450616464696e673d532e636172657450616464696e672c432e6c6162656c436f6c6f72733d522c432e6c6162656c54657874436f6c6f72733d4c2c432e64617461506f696e74733d572c4f3d66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f2c733d742e5f6d6f64656c2c6c3d742e5f63686172742c753d742e5f63686172742e6368617274417265612c643d2263656e746572222c683d2263656e746572223b732e793c652e6865696768743f683d22746f70223a732e793e6c2e6865696768742d652e686569676874262628683d22626f74746f6d22293b76617220633d28752e6c6566742b752e7269676874292f322c663d28752e746f702b752e626f74746f6d292f323b2263656e746572223d3d3d683f28693d66756e6374696f6e2874297b72657475726e20743c3d637d2c6e3d66756e6374696f6e2874297b72657475726e20743e637d293a28693d66756e6374696f6e2874297b72657475726e20743c3d652e77696474682f327d2c6e3d66756e6374696f6e2874297b72657475726e20743e3d6c2e77696474682d652e77696474682f327d292c613d66756e6374696f6e2874297b72657475726e20742b652e77696474682b732e636172657453697a652b732e636172657450616464696e673e6c2e77696474687d2c723d66756e6374696f6e2874297b72657475726e20742d652e77696474682d732e636172657453697a652d732e636172657450616464696e673c307d2c6f3d66756e6374696f6e2874297b72657475726e20743c3d663f22746f70223a22626f74746f6d227d2c6928732e78293f28643d226c656674222c6128732e7829262628643d2263656e746572222c683d6f28732e792929293a6e28732e7829262628643d227269676874222c7228732e7829262628643d2263656e746572222c683d6f28732e792929293b76617220673d742e5f6f7074696f6e733b72657475726e7b78416c69676e3a672e78416c69676e3f672e78416c69676e3a642c79416c69676e3a672e79416c69676e3f672e79416c69676e3a687d7d28746869732c413d66756e6374696f6e28742c65297b76617220693d742e5f63686172742e6374782c6e3d322a652e7950616464696e672c613d302c6f3d652e626f64792c733d6f2e7265647563652866756e6374696f6e28742c65297b72657475726e20742b652e6265666f72652e6c656e6774682b652e6c696e65732e6c656e6774682b652e61667465722e6c656e6774687d2c30293b732b3d652e6265666f7265426f64792e6c656e6774682b652e6166746572426f64792e6c656e6774683b766172206c3d652e7469746c652e6c656e6774682c753d652e666f6f7465722e6c656e6774682c643d652e7469746c65466f6e7453697a652c683d652e626f6479466f6e7453697a652c633d652e666f6f746572466f6e7453697a653b6e2b3d6c2a642c6e2b3d6c3f286c2d31292a652e7469746c6553706163696e673a302c6e2b3d6c3f652e7469746c654d617267696e426f74746f6d3a302c6e2b3d732a682c6e2b3d733f28732d31292a652e626f647953706163696e673a302c6e2b3d753f652e666f6f7465724d617267696e546f703a302c6e2b3d752a632c6e2b3d753f28752d31292a652e666f6f74657253706163696e673a303b76617220663d302c673d66756e6374696f6e2874297b613d4d6174682e6d617828612c692e6d656173757265546578742874292e77696474682b66297d3b72657475726e20692e666f6e743d722e666f6e74537472696e6728642c652e5f7469746c65466f6e745374796c652c652e5f7469746c65466f6e7446616d696c79292c722e6561636828652e7469746c652c67292c692e666f6e743d722e666f6e74537472696e6728682c652e5f626f6479466f6e745374796c652c652e5f626f6479466f6e7446616d696c79292c722e6561636828652e6265666f7265426f64792e636f6e63617428652e6166746572426f6479292c67292c663d652e646973706c6179436f6c6f72733f682b323a302c722e65616368286f2c66756e6374696f6e2874297b722e6561636828742e6265666f72652c67292c722e6561636828742e6c696e65732c67292c722e6561636828742e61667465722c67297d292c663d302c692e666f6e743d722e666f6e74537472696e6728632c652e5f666f6f746572466f6e745374796c652c652e5f666f6f746572466f6e7446616d696c79292c722e6561636828652e666f6f7465722c67292c7b77696474683a612b3d322a652e7850616464696e672c6865696768743a6e7d7d28746869732c4329292c613d432c733d412c6c3d4f2c753d4d2e5f63686172742c643d612e782c683d612e792c633d612e636172657453697a652c663d612e636172657450616464696e672c673d612e636f726e65725261646975732c6d3d6c2e78416c69676e2c703d6c2e79416c69676e2c763d632b662c793d672b662c227269676874223d3d3d6d3f642d3d732e77696474683a2263656e746572223d3d3d6d26262828642d3d732e77696474682f32292b732e77696474683e752e7769647468262628643d752e77696474682d732e7769647468292c643c30262628643d3029292c22746f70223d3d3d703f682b3d763a682d3d22626f74746f6d223d3d3d703f732e6865696768742b763a732e6865696768742f322c2263656e746572223d3d3d703f226c656674223d3d3d6d3f642b3d763a227269676874223d3d3d6d262628642d3d76293a226c656674223d3d3d6d3f642d3d793a227269676874223d3d3d6d262628642b3d79292c493d7b783a642c793a687d7d656c736520432e6f7061636974793d303b72657475726e20432e78416c69676e3d4f2e78416c69676e2c432e79416c69676e3d4f2e79416c69676e2c432e783d492e782c432e793d492e792c432e77696474683d412e77696474682c432e6865696768743d412e6865696768742c432e6361726574583d462e782c432e6361726574593d462e792c4d2e5f6d6f64656c3d432c652626532e637573746f6d2626532e637573746f6d2e63616c6c284d2c43292c4d7d2c6472617743617265743a66756e6374696f6e28742c65297b76617220693d746869732e5f63686172742e6374782c6e3d746869732e5f766965772c613d746869732e6765744361726574506f736974696f6e28742c652c6e293b692e6c696e65546f28612e78312c612e7931292c692e6c696e65546f28612e78322c612e7932292c692e6c696e65546f28612e78332c612e7933297d2c6765744361726574506f736974696f6e3a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f2c732c6c2c753d692e636172657453697a652c643d692e636f726e65725261646975732c683d692e78416c69676e2c633d692e79416c69676e2c663d742e782c673d742e792c6d3d652e77696474682c703d652e6865696768743b6966282263656e746572223d3d3d6329733d672b702f322c226c656674223d3d3d683f28613d286e3d66292d752c723d6e2c6f3d732b752c6c3d732d75293a28613d286e3d662b6d292b752c723d6e2c6f3d732d752c6c3d732b75293b656c736520696628226c656674223d3d3d683f286e3d28613d662b642b75292d752c723d612b75293a227269676874223d3d3d683f286e3d28613d662b6d2d642d75292d752c723d612b75293a286e3d28613d692e636172657458292d752c723d612b75292c22746f70223d3d3d6329733d286f3d67292d752c6c3d6f3b656c73657b733d286f3d672b70292b752c6c3d6f3b76617220763d723b723d6e2c6e3d767d72657475726e7b78313a6e2c78323a612c78333a722c79313a6f2c79323a732c79333a6c7d7d2c647261775469746c653a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e7469746c653b6966286f2e6c656e677468297b6e2e74657874416c69676e3d692e5f7469746c65416c69676e2c6e2e74657874426173656c696e653d22746f70223b76617220732c6c2c753d692e7469746c65466f6e7453697a652c643d692e7469746c6553706163696e673b666f72286e2e66696c6c5374796c653d6528692e7469746c65466f6e74436f6c6f722c61292c6e2e666f6e743d722e666f6e74537472696e6728752c692e5f7469746c65466f6e745374796c652c692e5f7469746c65466f6e7446616d696c79292c733d302c6c3d6f2e6c656e6774683b733c6c3b2b2b73296e2e66696c6c54657874286f5b735d2c742e782c742e79292c742e792b3d752b642c732b313d3d3d6f2e6c656e677468262628742e792b3d692e7469746c654d617267696e426f74746f6d2d64297d7d2c64726177426f64793a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e626f6479466f6e7453697a652c733d692e626f647953706163696e672c6c3d692e626f64793b6e2e74657874416c69676e3d692e5f626f6479416c69676e2c6e2e74657874426173656c696e653d22746f70222c6e2e666f6e743d722e666f6e74537472696e67286f2c692e5f626f6479466f6e745374796c652c692e5f626f6479466f6e7446616d696c79293b76617220753d302c643d66756e6374696f6e2865297b6e2e66696c6c5465787428652c742e782b752c742e79292c742e792b3d6f2b737d3b6e2e66696c6c5374796c653d6528692e626f6479466f6e74436f6c6f722c61292c722e6561636828692e6265666f7265426f64792c64293b76617220683d692e646973706c6179436f6c6f72733b753d683f6f2b323a302c722e65616368286c2c66756e6374696f6e28732c6c297b76617220753d6528692e6c6162656c54657874436f6c6f72735b6c5d2c61293b6e2e66696c6c5374796c653d752c722e6561636828732e6265666f72652c64292c722e6561636828732e6c696e65732c66756e6374696f6e2872297b682626286e2e66696c6c5374796c653d6528692e6c6567656e64436f6c6f724261636b67726f756e642c61292c6e2e66696c6c5265637428742e782c742e792c6f2c6f292c6e2e6c696e6557696474683d312c6e2e7374726f6b655374796c653d6528692e6c6162656c436f6c6f72735b6c5d2e626f72646572436f6c6f722c61292c6e2e7374726f6b655265637428742e782c742e792c6f2c6f292c6e2e66696c6c5374796c653d6528692e6c6162656c436f6c6f72735b6c5d2e6261636b67726f756e64436f6c6f722c61292c6e2e66696c6c5265637428742e782b312c742e792b312c6f2d322c6f2d32292c6e2e66696c6c5374796c653d75292c642872297d292c722e6561636828732e61667465722c64297d292c753d302c722e6561636828692e6166746572426f64792c64292c742e792d3d737d2c64726177466f6f7465723a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e666f6f7465723b6f2e6c656e677468262628742e792b3d692e666f6f7465724d617267696e546f702c6e2e74657874416c69676e3d692e5f666f6f746572416c69676e2c6e2e74657874426173656c696e653d22746f70222c6e2e66696c6c5374796c653d6528692e666f6f746572466f6e74436f6c6f722c61292c6e2e666f6e743d722e666f6e74537472696e6728692e666f6f746572466f6e7453697a652c692e5f666f6f746572466f6e745374796c652c692e5f666f6f746572466f6e7446616d696c79292c722e65616368286f2c66756e6374696f6e2865297b6e2e66696c6c5465787428652c742e782c742e79292c742e792b3d692e666f6f746572466f6e7453697a652b692e666f6f74657253706163696e677d29297d2c647261774261636b67726f756e643a66756e6374696f6e28742c692c6e2c612c72297b6e2e66696c6c5374796c653d6528692e6261636b67726f756e64436f6c6f722c72292c6e2e7374726f6b655374796c653d6528692e626f72646572436f6c6f722c72292c6e2e6c696e6557696474683d692e626f7264657257696474683b766172206f3d692e78416c69676e2c733d692e79416c69676e2c6c3d742e782c753d742e792c643d612e77696474682c683d612e6865696768742c633d692e636f726e65725261646975733b6e2e626567696e5061746828292c6e2e6d6f7665546f286c2b632c75292c22746f70223d3d3d732626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b642d632c75292c6e2e7175616472617469634375727665546f286c2b642c752c6c2b642c752b63292c2263656e746572223d3d3d732626227269676874223d3d3d6f2626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b642c752b682d63292c6e2e7175616472617469634375727665546f286c2b642c752b682c6c2b642d632c752b68292c22626f74746f6d223d3d3d732626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b632c752b68292c6e2e7175616472617469634375727665546f286c2c752b682c6c2c752b682d63292c2263656e746572223d3d3d732626226c656674223d3d3d6f2626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2c752b63292c6e2e7175616472617469634375727665546f286c2c752c6c2b632c75292c6e2e636c6f73655061746828292c6e2e66696c6c28292c692e626f7264657257696474683e3026266e2e7374726f6b6528297d2c647261773a66756e6374696f6e28297b76617220743d746869732e5f63686172742e6374782c653d746869732e5f766965773b69662830213d3d652e6f706163697479297b76617220693d7b77696474683a652e77696474682c6865696768743a652e6865696768747d2c6e3d7b783a652e782c793a652e797d2c613d4d6174682e61627328652e6f7061636974793c2e303031293f303a652e6f7061636974792c723d652e7469746c652e6c656e6774687c7c652e6265666f7265426f64792e6c656e6774687c7c652e626f64792e6c656e6774687c7c652e6166746572426f64792e6c656e6774687c7c652e666f6f7465722e6c656e6774683b746869732e5f6f7074696f6e732e656e61626c6564262672262628746869732e647261774261636b67726f756e64286e2c652c742c692c61292c6e2e782b3d652e7850616464696e672c6e2e792b3d652e7950616464696e672c746869732e647261775469746c65286e2c652c742c61292c746869732e64726177426f6479286e2c652c742c61292c746869732e64726177466f6f746572286e2c652c742c6129297d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220652c693d746869732c6e3d692e5f6f7074696f6e733b72657475726e20692e5f6c6173744163746976653d692e5f6c6173744163746976657c7c5b5d2c226d6f7573656f7574223d3d3d742e747970653f692e5f6163746976653d5b5d3a692e5f6163746976653d692e5f63686172742e676574456c656d656e747341744576656e74466f724d6f646528742c6e2e6d6f64652c6e292c28653d21722e6172726179457175616c7328692e5f6163746976652c692e5f6c6173744163746976652929262628692e5f6c6173744163746976653d692e5f6163746976652c286e2e656e61626c65647c7c6e2e637573746f6d29262628692e5f6576656e74506f736974696f6e3d7b783a742e782c793a742e797d2c692e757064617465282130292c692e7069766f74282929292c657d7d292c742e546f6f6c7469702e706f736974696f6e6572733d7b617665726167653a66756e6374696f6e2874297b69662821742e6c656e6774682972657475726e21313b76617220652c692c6e3d302c613d302c723d303b666f7228653d302c693d742e6c656e6774683b653c693b2b2b65297b766172206f3d745b655d3b6966286f26266f2e68617356616c75652829297b76617220733d6f2e746f6f6c746970506f736974696f6e28293b6e2b3d732e782c612b3d732e792c2b2b727d7d72657475726e7b783a4d6174682e726f756e64286e2f72292c793a4d6174682e726f756e6428612f72297d7d2c6e6561726573743a66756e6374696f6e28742c65297b76617220692c6e2c612c6f3d652e782c733d652e792c6c3d4e756d6265722e504f5349544956455f494e46494e4954593b666f7228693d302c6e3d742e6c656e6774683b693c6e3b2b2b69297b76617220753d745b695d3b696628752626752e68617356616c75652829297b76617220643d752e67657443656e746572506f696e7428292c683d722e64697374616e63654265747765656e506f696e747328652c64293b683c6c2626286c3d682c613d75297d7d69662861297b76617220633d612e746f6f6c746970506f736974696f6e28293b6f3d632e782c733d632e797d72657475726e7b783a6f2c793a737d7d7d7d7d2c7b32353a32352c32363a32362c34353a34357d5d2c33363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b6172633a7b6261636b67726f756e64436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572436f6c6f723a2223666666222c626f7264657257696474683a327d7d7d292c652e6578706f7274733d612e657874656e64287b696e4c6162656c52616e67653a66756e6374696f6e2874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e706f7728742d652e782c32293c4d6174682e706f7728652e7261646975732b652e686f7665725261646975732c32297d2c696e52616e67653a66756e6374696f6e28742c65297b76617220693d746869732e5f766965773b69662869297b666f7228766172206e3d722e676574416e676c6546726f6d506f696e7428692c7b783a742c793a657d292c613d6e2e616e676c652c6f3d6e2e64697374616e63652c733d692e7374617274416e676c652c6c3d692e656e64416e676c653b6c3c733b296c2b3d322a4d6174682e50493b666f72283b613e6c3b29612d3d322a4d6174682e50493b666f72283b613c733b29612b3d322a4d6174682e50493b76617220753d613e3d732626613c3d6c2c643d6f3e3d692e696e6e657252616469757326266f3c3d692e6f757465725261646975733b72657475726e20752626647d72657475726e21317d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220743d746869732e5f766965772c653d28742e7374617274416e676c652b742e656e64416e676c65292f322c693d28742e696e6e65725261646975732b742e6f75746572526164697573292f323b72657475726e7b783a742e782b4d6174682e636f732865292a692c793a742e792b4d6174682e73696e2865292a697d7d2c676574417265613a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e204d6174682e50492a2828742e656e64416e676c652d742e7374617274416e676c65292f28322a4d6174682e504929292a284d6174682e706f7728742e6f757465725261646975732c32292d4d6174682e706f7728742e696e6e65725261646975732c3229297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965772c653d742e7374617274416e676c652b28742e656e64416e676c652d742e7374617274416e676c65292f322c693d28742e6f757465725261646975732d742e696e6e6572526164697573292f322b742e696e6e65725261646975733b72657475726e7b783a742e782b4d6174682e636f732865292a692c793a742e792b4d6174682e73696e2865292a697d7d2c647261773a66756e6374696f6e28297b76617220743d746869732e5f63686172742e6374782c653d746869732e5f766965772c693d652e7374617274416e676c652c6e3d652e656e64416e676c653b742e626567696e5061746828292c742e61726328652e782c652e792c652e6f757465725261646975732c692c6e292c742e61726328652e782c652e792c652e696e6e65725261646975732c6e2c692c2130292c742e636c6f73655061746828292c742e7374726f6b655374796c653d652e626f72646572436f6c6f722c742e6c696e6557696474683d652e626f7264657257696474682c742e66696c6c5374796c653d652e6261636b67726f756e64436f6c6f722c742e66696c6c28292c742e6c696e654a6f696e3d22626576656c222c652e626f7264657257696474682626742e7374726f6b6528297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d6e2e676c6f62616c3b6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b6c696e653a7b74656e73696f6e3a2e342c6261636b67726f756e64436f6c6f723a6f2e64656661756c74436f6c6f722c626f7264657257696474683a332c626f72646572436f6c6f723a6f2e64656661756c74436f6c6f722c626f726465724361705374796c653a2262757474222c626f72646572446173683a5b5d2c626f72646572446173684f66667365743a302c626f726465724a6f696e5374796c653a226d69746572222c63617042657a696572506f696e74733a21302c66696c6c3a21307d7d7d292c652e6578706f7274733d612e657874656e64287b647261773a66756e6374696f6e28297b76617220742c652c692c6e2c613d746869732e5f766965772c733d746869732e5f63686172742e6374782c6c3d612e7370616e476170732c753d746869732e5f6368696c6472656e2e736c69636528292c643d6f2e656c656d656e74732e6c696e652c683d2d313b666f7228746869732e5f6c6f6f702626752e6c656e6774682626752e7075736828755b305d292c732e7361766528292c732e6c696e654361703d612e626f726465724361705374796c657c7c642e626f726465724361705374796c652c732e7365744c696e65446173682626732e7365744c696e654461736828612e626f72646572446173687c7c642e626f7264657244617368292c732e6c696e65446173684f66667365743d612e626f72646572446173684f66667365747c7c642e626f72646572446173684f66667365742c732e6c696e654a6f696e3d612e626f726465724a6f696e5374796c657c7c642e626f726465724a6f696e5374796c652c732e6c696e6557696474683d612e626f7264657257696474687c7c642e626f7264657257696474682c732e7374726f6b655374796c653d612e626f72646572436f6c6f727c7c6f2e64656661756c74436f6c6f722c732e626567696e5061746828292c683d2d312c743d303b743c752e6c656e6774683b2b2b7429653d755b745d2c693d722e70726576696f75734974656d28752c74292c6e3d652e5f766965772c303d3d3d743f6e2e736b69707c7c28732e6d6f7665546f286e2e782c6e2e79292c683d74293a28693d2d313d3d3d683f693a755b685d2c6e2e736b69707c7c2868213d3d742d312626216c7c7c2d313d3d3d683f732e6d6f7665546f286e2e782c6e2e79293a722e63616e7661732e6c696e65546f28732c692e5f766965772c652e5f76696577292c683d7429293b732e7374726f6b6528292c732e726573746f726528297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d6e2e676c6f62616c2e64656661756c74436f6c6f723b66756e6374696f6e20732874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e61627328742d652e78293c652e7261646975732b652e6869745261646975737d6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b706f696e743a7b7261646975733a332c706f696e745374796c653a22636972636c65222c6261636b67726f756e64436f6c6f723a6f2c626f72646572436f6c6f723a6f2c626f7264657257696474683a312c6869745261646975733a312c686f7665725261646975733a342c686f766572426f7264657257696474683a317d7d7d292c652e6578706f7274733d612e657874656e64287b696e52616e67653a66756e6374696f6e28742c65297b76617220693d746869732e5f766965773b72657475726e21216926264d6174682e706f7728742d692e782c32292b4d6174682e706f7728652d692e792c32293c4d6174682e706f7728692e6869745261646975732b692e7261646975732c32297d2c696e4c6162656c52616e67653a732c696e5852616e67653a732c696e5952616e67653a66756e6374696f6e2874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e61627328742d652e79293c652e7261646975732b652e6869745261646975737d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e797d7d2c676574417265613a66756e6374696f6e28297b72657475726e204d6174682e50492a4d6174682e706f7728746869732e5f766965772e7261646975732c32297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e792c70616464696e673a742e7261646975732b742e626f7264657257696474687d7d2c647261773a66756e6374696f6e2874297b76617220653d746869732e5f766965772c693d746869732e5f6d6f64656c2c613d746869732e5f63686172742e6374782c733d652e706f696e745374796c652c6c3d652e7261646975732c753d652e782c643d652e792c683d722e636f6c6f722c633d303b652e736b69707c7c28612e7374726f6b655374796c653d652e626f72646572436f6c6f727c7c6f2c612e6c696e6557696474683d722e76616c75654f7244656661756c7428652e626f7264657257696474682c6e2e676c6f62616c2e656c656d656e74732e706f696e742e626f726465725769647468292c612e66696c6c5374796c653d652e6261636b67726f756e64436f6c6f727c7c6f2c766f69642030213d3d74262628692e783c742e6c6566747c7c312e30312a742e72696768743c692e787c7c692e793c742e746f707c7c312e30312a742e626f74746f6d3c692e7929262628692e783c742e6c6566743f633d28752d692e78292f28742e6c6566742d692e78293a312e30312a742e72696768743c692e783f633d28692e782d75292f28692e782d742e7269676874293a692e793c742e746f703f633d28642d692e79292f28742e746f702d692e79293a312e30312a742e626f74746f6d3c692e79262628633d28692e792d64292f28692e792d742e626f74746f6d29292c633d4d6174682e726f756e64283130302a63292f3130302c612e7374726f6b655374796c653d6828612e7374726f6b655374796c65292e616c7068612863292e726762537472696e6728292c612e66696c6c5374796c653d6828612e66696c6c5374796c65292e616c7068612863292e726762537472696e672829292c722e63616e7661732e64726177506f696e7428612c732c6c2c752c6429297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236293b66756e6374696f6e20722874297b72657475726e20766f69642030213d3d742e5f766965772e77696474687d66756e6374696f6e206f2874297b76617220652c692c6e2c612c6f3d742e5f766965773b69662872287429297b76617220733d6f2e77696474682f323b653d6f2e782d732c693d6f2e782b732c6e3d4d6174682e6d696e286f2e792c6f2e62617365292c613d4d6174682e6d6178286f2e792c6f2e62617365297d656c73657b766172206c3d6f2e6865696768742f323b653d4d6174682e6d696e286f2e782c6f2e62617365292c693d4d6174682e6d6178286f2e782c6f2e62617365292c6e3d6f2e792d6c2c613d6f2e792b6c7d72657475726e7b6c6566743a652c746f703a6e2c72696768743a692c626f74746f6d3a617d7d6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b72656374616e676c653a7b6261636b67726f756e64436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572536b69707065643a22626f74746f6d222c626f7264657257696474683a307d7d7d292c652e6578706f7274733d612e657874656e64287b647261773a66756e6374696f6e28297b76617220742c652c692c6e2c612c722c6f2c733d746869732e5f63686172742e6374782c6c3d746869732e5f766965772c753d6c2e626f7264657257696474683b6966286c2e686f72697a6f6e74616c3f28743d6c2e626173652c653d6c2e782c693d6c2e792d6c2e6865696768742f322c6e3d6c2e792b6c2e6865696768742f322c613d653e743f313a2d312c723d312c6f3d6c2e626f72646572536b69707065647c7c226c65667422293a28743d6c2e782d6c2e77696474682f322c653d6c2e782b6c2e77696474682f322c693d6c2e792c613d312c723d286e3d6c2e62617365293e693f313a2d312c6f3d6c2e626f72646572536b69707065647c7c22626f74746f6d22292c75297b76617220643d4d6174682e6d696e284d6174682e61627328742d65292c4d6174682e61627328692d6e29292c683d28753d753e643f643a75292f322c633d742b28226c65667422213d3d6f3f682a613a30292c663d652b2822726967687422213d3d6f3f2d682a613a30292c673d692b2822746f7022213d3d6f3f682a723a30292c6d3d6e2b2822626f74746f6d22213d3d6f3f2d682a723a30293b63213d3d66262628693d672c6e3d6d292c67213d3d6d262628743d632c653d66297d732e626567696e5061746828292c732e66696c6c5374796c653d6c2e6261636b67726f756e64436f6c6f722c732e7374726f6b655374796c653d6c2e626f72646572436f6c6f722c732e6c696e6557696474683d753b76617220703d5b5b742c6e5d2c5b742c695d2c5b652c695d2c5b652c6e5d5d2c763d5b22626f74746f6d222c226c656674222c22746f70222c227269676874225d2e696e6465784f66286f2c30293b66756e6374696f6e20792874297b72657475726e20705b28762b742925345d7d2d313d3d3d76262628763d30293b76617220623d792830293b732e6d6f7665546f28625b305d2c625b315d293b666f722876617220783d313b783c343b782b2b29623d792878292c732e6c696e65546f28625b305d2c625b315d293b732e66696c6c28292c752626732e7374726f6b6528297d2c6865696768743a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e20742e626173652d742e797d2c696e52616e67653a66756e6374696f6e28742c65297b76617220693d21313b696628746869732e5f76696577297b766172206e3d6f2874686973293b693d743e3d6e2e6c6566742626743c3d6e2e72696768742626653e3d6e2e746f702626653c3d6e2e626f74746f6d7d72657475726e20697d2c696e4c6162656c52616e67653a66756e6374696f6e28742c65297b69662821746869732e5f766965772972657475726e21313b76617220693d6f2874686973293b72657475726e20722874686973293f743e3d692e6c6566742626743c3d692e72696768743a653e3d692e746f702626653c3d692e626f74746f6d7d2c696e5852616e67653a66756e6374696f6e2874297b76617220653d6f2874686973293b72657475726e20743e3d652e6c6566742626743c3d652e72696768747d2c696e5952616e67653a66756e6374696f6e2874297b76617220653d6f2874686973293b72657475726e20743e3d652e746f702626743c3d652e626f74746f6d7d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220742c652c693d746869732e5f766965773b72657475726e20722874686973293f28743d692e782c653d28692e792b692e62617365292f32293a28743d28692e782b692e62617365292f322c653d692e79292c7b783a742c793a657d7d2c676574417265613a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e20742e77696474682a4d6174682e61627328742e792d742e62617365297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e797d7d7d297d2c7b32353a32352c32363a32367d5d2c34303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b7d2c652e6578706f7274732e4172633d74283336292c652e6578706f7274732e4c696e653d74283337292c652e6578706f7274732e506f696e743d74283338292c652e6578706f7274732e52656374616e676c653d74283339297d2c7b33363a33362c33373a33372c33383a33382c33393a33397d5d2c34313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432293b693d652e6578706f7274733d7b636c6561723a66756e6374696f6e2874297b742e6374782e636c6561725265637428302c302c742e77696474682c742e686569676874297d2c726f756e646564526563743a66756e6374696f6e28742c652c692c6e2c612c72297b69662872297b766172206f3d4d6174682e6d696e28722c6e2f32292c733d4d6174682e6d696e28722c612f32293b742e6d6f7665546f28652b6f2c69292c742e6c696e65546f28652b6e2d6f2c69292c742e7175616472617469634375727665546f28652b6e2c692c652b6e2c692b73292c742e6c696e65546f28652b6e2c692b612d73292c742e7175616472617469634375727665546f28652b6e2c692b612c652b6e2d6f2c692b61292c742e6c696e65546f28652b6f2c692b61292c742e7175616472617469634375727665546f28652c692b612c652c692b612d73292c742e6c696e65546f28652c692b73292c742e7175616472617469634375727665546f28652c692c652b6f2c69297d656c736520742e7265637428652c692c6e2c61297d2c64726177506f696e743a66756e6374696f6e28742c652c692c6e2c61297b76617220722c6f2c732c6c2c752c643b69662821657c7c226f626a65637422213d747970656f6620657c7c225b6f626a6563742048544d4c496d616765456c656d656e745d22213d3d28723d652e746f537472696e672829292626225b6f626a6563742048544d4c43616e766173456c656d656e745d22213d3d72297b696628212869734e614e2869297c7c693c3d3029297b7377697463682865297b64656661756c743a742e626567696e5061746828292c742e617263286e2c612c692c302c322a4d6174682e5049292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b6361736522747269616e676c65223a742e626567696e5061746828292c753d286f3d332a692f4d6174682e73717274283329292a4d6174682e737172742833292f322c742e6d6f7665546f286e2d6f2f322c612b752f33292c742e6c696e65546f286e2b6f2f322c612b752f33292c742e6c696e65546f286e2c612d322a752f33292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652272656374223a643d312f4d6174682e53515254322a692c742e626567696e5061746828292c742e66696c6c52656374286e2d642c612d642c322a642c322a64292c742e7374726f6b6552656374286e2d642c612d642c322a642c322a64293b627265616b3b636173652272656374526f756e646564223a76617220683d692f4d6174682e53515254322c633d6e2d682c663d612d682c673d4d6174682e53515254322a693b742e626567696e5061746828292c746869732e726f756e6465645265637428742c632c662c672c672c692f32292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652272656374526f74223a643d312f4d6174682e53515254322a692c742e626567696e5061746828292c742e6d6f7665546f286e2d642c61292c742e6c696e65546f286e2c612b64292c742e6c696e65546f286e2b642c61292c742e6c696e65546f286e2c612d64292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652263726f7373223a742e626567696e5061746828292c742e6d6f7665546f286e2c612b69292c742e6c696e65546f286e2c612d69292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828293b627265616b3b636173652263726f7373526f74223a742e626567696e5061746828292c733d4d6174682e636f73284d6174682e50492f34292a692c6c3d4d6174682e73696e284d6174682e50492f34292a692c742e6d6f7665546f286e2d732c612d6c292c742e6c696e65546f286e2b732c612b6c292c742e6d6f7665546f286e2d732c612b6c292c742e6c696e65546f286e2b732c612d6c292c742e636c6f73655061746828293b627265616b3b636173652273746172223a742e626567696e5061746828292c742e6d6f7665546f286e2c612b69292c742e6c696e65546f286e2c612d69292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c733d4d6174682e636f73284d6174682e50492f34292a692c6c3d4d6174682e73696e284d6174682e50492f34292a692c742e6d6f7665546f286e2d732c612d6c292c742e6c696e65546f286e2b732c612b6c292c742e6d6f7665546f286e2d732c612b6c292c742e6c696e65546f286e2b732c612d6c292c742e636c6f73655061746828293b627265616b3b63617365226c696e65223a742e626567696e5061746828292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828293b627265616b3b636173652264617368223a742e626567696e5061746828292c742e6d6f7665546f286e2c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828297d742e7374726f6b6528297d7d656c736520742e64726177496d61676528652c6e2d652e77696474682f322c612d652e6865696768742f322c652e77696474682c652e686569676874297d2c636c6970417265613a66756e6374696f6e28742c65297b742e7361766528292c742e626567696e5061746828292c742e7265637428652e6c6566742c652e746f702c652e72696768742d652e6c6566742c652e626f74746f6d2d652e746f70292c742e636c697028297d2c756e636c6970417265613a66756e6374696f6e2874297b742e726573746f726528297d2c6c696e65546f3a66756e6374696f6e28742c652c692c6e297b696628692e737465707065644c696e652972657475726e226166746572223d3d3d692e737465707065644c696e652626216e7c7c22616674657222213d3d692e737465707065644c696e6526266e3f742e6c696e65546f28652e782c692e79293a742e6c696e65546f28692e782c652e79292c766f696420742e6c696e65546f28692e782c692e79293b692e74656e73696f6e3f742e62657a6965724375727665546f286e3f652e636f6e74726f6c506f696e7450726576696f7573583a652e636f6e74726f6c506f696e744e657874582c6e3f652e636f6e74726f6c506f696e7450726576696f7573593a652e636f6e74726f6c506f696e744e657874592c6e3f692e636f6e74726f6c506f696e744e657874583a692e636f6e74726f6c506f696e7450726576696f7573582c6e3f692e636f6e74726f6c506f696e744e657874593a692e636f6e74726f6c506f696e7450726576696f7573592c692e782c692e79293a742e6c696e65546f28692e782c692e79297d7d3b6e2e636c6561723d692e636c6561722c6e2e64726177526f756e64656452656374616e676c653d66756e6374696f6e2874297b742e626567696e5061746828292c692e726f756e646564526563742e6170706c7928692c617267756d656e7473292c742e636c6f73655061746828297d7d2c7b34323a34327d5d2c34323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e2c613d7b6e6f6f703a66756e6374696f6e28297b7d2c7569643a286e3d302c66756e6374696f6e28297b72657475726e206e2b2b7d292c69734e756c6c4f72556e6465663a66756e6374696f6e2874297b72657475726e206e756c6c3d3d747d2c697341727261793a41727261792e697341727261793f41727261792e697341727261793a66756e6374696f6e2874297b72657475726e225b6f626a6563742041727261795d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d2c69734f626a6563743a66756e6374696f6e2874297b72657475726e206e756c6c213d3d742626225b6f626a656374204f626a6563745d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d2c76616c75654f7244656661756c743a66756e6374696f6e28742c65297b72657475726e20766f696420303d3d3d743f653a747d2c76616c75654174496e6465784f7244656661756c743a66756e6374696f6e28742c652c69297b72657475726e20612e76616c75654f7244656661756c7428612e697341727261792874293f745b655d3a742c69297d2c63616c6c6261636b3a66756e6374696f6e28742c652c69297b6966287426262266756e6374696f6e223d3d747970656f6620742e63616c6c2972657475726e20742e6170706c7928692c65297d2c656163683a66756e6374696f6e28742c652c692c6e297b76617220722c6f2c733b696628612e69734172726179287429296966286f3d742e6c656e6774682c6e29666f7228723d6f2d313b723e3d303b722d2d29652e63616c6c28692c745b725d2c72293b656c736520666f7228723d303b723c6f3b722b2b29652e63616c6c28692c745b725d2c72293b656c736520696628612e69734f626a65637428742929666f72286f3d28733d4f626a6563742e6b657973287429292e6c656e6774682c723d303b723c6f3b722b2b29652e63616c6c28692c745b735b725d5d2c735b725d297d2c6172726179457175616c733a66756e6374696f6e28742c65297b76617220692c6e2c722c6f3b69662821747c7c21657c7c742e6c656e677468213d3d652e6c656e6774682972657475726e21313b666f7228693d302c6e3d742e6c656e6774683b693c6e3b2b2b6929696628723d745b695d2c6f3d655b695d2c7220696e7374616e63656f6620417272617926266f20696e7374616e63656f66204172726179297b69662821612e6172726179457175616c7328722c6f292972657475726e21317d656c73652069662872213d3d6f2972657475726e21313b72657475726e21307d2c636c6f6e653a66756e6374696f6e2874297b696628612e697341727261792874292972657475726e20742e6d617028612e636c6f6e65293b696628612e69734f626a656374287429297b666f722876617220653d7b7d2c693d4f626a6563742e6b6579732874292c6e3d692e6c656e6774682c723d303b723c6e3b2b2b7229655b695b725d5d3d612e636c6f6e6528745b695b725d5d293b72657475726e20657d72657475726e20747d2c5f6d65726765723a66756e6374696f6e28742c652c692c6e297b76617220723d655b745d2c6f3d695b745d3b612e69734f626a6563742872292626612e69734f626a656374286f293f612e6d6572676528722c6f2c6e293a655b745d3d612e636c6f6e65286f297d2c5f6d657267657249663a66756e6374696f6e28742c652c69297b766172206e3d655b745d2c723d695b745d3b612e69734f626a656374286e292626612e69734f626a6563742872293f612e6d657267654966286e2c72293a652e6861734f776e50726f70657274792874297c7c28655b745d3d612e636c6f6e65287229297d2c6d657267653a66756e6374696f6e28742c652c69297b766172206e2c722c6f2c732c6c2c753d612e697341727261792865293f653a5b655d2c643d752e6c656e6774683b69662821612e69734f626a6563742874292972657475726e20743b666f72286e3d28693d697c7c7b7d292e6d65726765727c7c612e5f6d65726765722c723d303b723c643b2b2b7229696628653d755b725d2c612e69734f626a65637428652929666f72286c3d302c733d286f3d4f626a6563742e6b657973286529292e6c656e6774683b6c3c733b2b2b6c296e286f5b6c5d2c742c652c69293b72657475726e20747d2c6d6572676549663a66756e6374696f6e28742c65297b72657475726e20612e6d6572676528742c652c7b6d65726765723a612e5f6d657267657249667d297d2c657874656e643a66756e6374696f6e2874297b666f722876617220653d66756e6374696f6e28652c69297b745b695d3d657d2c693d312c6e3d617267756d656e74732e6c656e6774683b693c6e3b2b2b6929612e6561636828617267756d656e74735b695d2c65293b72657475726e20747d2c696e6865726974733a66756e6374696f6e2874297b76617220653d746869732c693d742626742e6861734f776e50726f70657274792822636f6e7374727563746f7222293f742e636f6e7374727563746f723a66756e6374696f6e28297b72657475726e20652e6170706c7928746869732c617267756d656e7473297d2c6e3d66756e6374696f6e28297b746869732e636f6e7374727563746f723d697d3b72657475726e206e2e70726f746f747970653d652e70726f746f747970652c692e70726f746f747970653d6e6577206e2c692e657874656e643d612e696e6865726974732c742626612e657874656e6428692e70726f746f747970652c74292c692e5f5f73757065725f5f3d652e70726f746f747970652c697d7d3b652e6578706f7274733d612c612e63616c6c43616c6c6261636b3d612e63616c6c6261636b2c612e696e6465784f663d66756e6374696f6e28742c652c69297b72657475726e2041727261792e70726f746f747970652e696e6465784f662e63616c6c28742c652c69297d2c612e67657456616c75654f7244656661756c743d612e76616c75654f7244656661756c742c612e67657456616c75654174496e6465784f7244656661756c743d612e76616c75654174496e6465784f7244656661756c747d2c7b7d5d2c34333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432292c613d7b6c696e6561723a66756e6374696f6e2874297b72657475726e20747d2c65617365496e517561643a66756e6374696f6e2874297b72657475726e20742a747d2c656173654f7574517561643a66756e6374696f6e2874297b72657475726e2d742a28742d32297d2c65617365496e4f7574517561643a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a743a2d2e352a282d2d742a28742d32292d31297d2c65617365496e43756269633a66756e6374696f6e2874297b72657475726e20742a742a747d2c656173654f757443756269633a66756e6374696f6e2874297b72657475726e28742d3d31292a742a742b317d2c65617365496e4f757443756269633a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a743a2e352a2828742d3d32292a742a742b32297d2c65617365496e51756172743a66756e6374696f6e2874297b72657475726e20742a742a742a747d2c656173654f757451756172743a66756e6374696f6e2874297b72657475726e2d2828742d3d31292a742a742a742d31297d2c65617365496e4f757451756172743a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a742a743a2d2e352a2828742d3d32292a742a742a742d32297d2c65617365496e5175696e743a66756e6374696f6e2874297b72657475726e20742a742a742a742a747d2c656173654f75745175696e743a66756e6374696f6e2874297b72657475726e28742d3d31292a742a742a742a742b317d2c65617365496e4f75745175696e743a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a742a742a743a2e352a2828742d3d32292a742a742a742a742b32297d2c65617365496e53696e653a66756e6374696f6e2874297b72657475726e20312d4d6174682e636f7328742a284d6174682e50492f3229297d2c656173654f757453696e653a66756e6374696f6e2874297b72657475726e204d6174682e73696e28742a284d6174682e50492f3229297d2c65617365496e4f757453696e653a66756e6374696f6e2874297b72657475726e2d2e352a284d6174682e636f73284d6174682e50492a74292d31297d2c65617365496e4578706f3a66756e6374696f6e2874297b72657475726e20303d3d3d743f303a4d6174682e706f7728322c31302a28742d3129297d2c656173654f75744578706f3a66756e6374696f6e2874297b72657475726e20313d3d3d743f313a312d4d6174682e706f7728322c2d31302a74297d2c65617365496e4f75744578706f3a66756e6374696f6e2874297b72657475726e20303d3d3d743f303a313d3d3d743f313a28742f3d2e35293c313f2e352a4d6174682e706f7728322c31302a28742d3129293a2e352a28322d4d6174682e706f7728322c2d31302a2d2d7429297d2c65617365496e436972633a66756e6374696f6e2874297b72657475726e20743e3d313f743a2d284d6174682e7371727428312d742a74292d31297d2c656173654f7574436972633a66756e6374696f6e2874297b72657475726e204d6174682e7371727428312d28742d3d31292a74297d2c65617365496e4f7574436972633a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2d2e352a284d6174682e7371727428312d742a74292d31293a2e352a284d6174682e7371727428312d28742d3d32292a74292b31297d2c65617365496e456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a313d3d3d743f313a28697c7c28693d2e33292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c2d6e2a4d6174682e706f7728322c31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f6929297d2c656173654f7574456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a313d3d3d743f313a28697c7c28693d2e33292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c6e2a4d6174682e706f7728322c2d31302a74292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292b31297d2c65617365496e4f7574456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a323d3d28742f3d2e35293f313a28697c7c28693d2e3435292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c743c313f6e2a4d6174682e706f7728322c31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292a2d2e353a6e2a4d6174682e706f7728322c2d31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292a2e352b31297d2c65617365496e4261636b3a66756e6374696f6e2874297b72657475726e20742a742a28322e37303135382a742d312e3730313538297d2c656173654f75744261636b3a66756e6374696f6e2874297b72657475726e28742d3d31292a742a28322e37303135382a742b312e3730313538292b317d2c65617365496e4f75744261636b3a66756e6374696f6e2874297b76617220653d312e37303135383b72657475726e28742f3d2e35293c313f742a742a2828312b28652a3d312e35323529292a742d65292a2e353a2e352a2828742d3d32292a742a2828312b28652a3d312e35323529292a742b65292b32297d2c65617365496e426f756e63653a66756e6374696f6e2874297b72657475726e20312d612e656173654f7574426f756e636528312d74297d2c656173654f7574426f756e63653a66756e6374696f6e2874297b72657475726e20743c312f322e37353f372e353632352a742a743a743c322f322e37353f372e353632352a28742d3d312e352f322e3735292a742b2e37353a743c322e352f322e37353f372e353632352a28742d3d322e32352f322e3735292a742b2e393337353a372e353632352a28742d3d322e3632352f322e3735292a742b2e3938343337357d2c65617365496e4f7574426f756e63653a66756e6374696f6e2874297b72657475726e20743c2e353f2e352a612e65617365496e426f756e636528322a74293a2e352a612e656173654f7574426f756e636528322a742d31292b2e357d7d3b652e6578706f7274733d7b656666656374733a617d2c6e2e656173696e67456666656374733d617d2c7b34323a34327d5d2c34343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432293b652e6578706f7274733d7b746f4c696e654865696768743a66756e6374696f6e28742c65297b76617220693d2822222b74292e6d61746368282f5e286e6f726d616c7c285c642b283f3a5c2e5c642b293f292870787c656d7c25293f29242f293b69662821697c7c226e6f726d616c223d3d3d695b315d2972657475726e20312e322a653b73776974636828743d2b695b325d2c695b335d297b63617365227078223a72657475726e20743b636173652225223a742f3d3130307d72657475726e20652a747d2c746f50616464696e673a66756e6374696f6e2874297b76617220652c692c612c723b72657475726e206e2e69734f626a6563742874293f28653d2b742e746f707c7c302c693d2b742e72696768747c7c302c613d2b742e626f74746f6d7c7c302c723d2b742e6c6566747c7c30293a653d693d613d723d2b747c7c302c7b746f703a652c72696768743a692c626f74746f6d3a612c6c6566743a722c6865696768743a652b612c77696474683a722b697d7d2c7265736f6c76653a66756e6374696f6e28742c652c69297b76617220612c722c6f3b666f7228613d302c723d742e6c656e6774683b613c723b2b2b6129696628766f69642030213d3d286f3d745b615d29262628766f69642030213d3d6526262266756e6374696f6e223d3d747970656f66206f2626286f3d6f286529292c766f69642030213d3d6926266e2e69734172726179286f292626286f3d6f5b695d292c766f69642030213d3d6f292972657475726e206f7d7d7d2c7b34323a34327d5d2c34353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d74283432292c652e6578706f7274732e656173696e673d74283433292c652e6578706f7274732e63616e7661733d74283431292c652e6578706f7274732e6f7074696f6e733d74283434297d2c7b34313a34312c34323a34322c34333a34332c34343a34347d5d2c34363a5b66756e6374696f6e28742c652c69297b652e6578706f7274733d7b61637175697265436f6e746578743a66756e6374696f6e2874297b72657475726e20742626742e63616e766173262628743d742e63616e766173292c742626742e676574436f6e746578742822326422297c7c6e756c6c7d7d7d2c7b7d5d2c34373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d222463686172746a73222c723d2263686172746a732d222c6f3d722b2272656e6465722d6d6f6e69746f72222c733d722b2272656e6465722d616e696d6174696f6e222c6c3d5b22616e696d6174696f6e7374617274222c227765626b6974416e696d6174696f6e5374617274225d2c753d7b746f75636873746172743a226d6f757365646f776e222c746f7563686d6f76653a226d6f7573656d6f7665222c746f756368656e643a226d6f7573657570222c706f696e746572656e7465723a226d6f757365656e746572222c706f696e746572646f776e3a226d6f757365646f776e222c706f696e7465726d6f76653a226d6f7573656d6f7665222c706f696e74657275703a226d6f7573657570222c706f696e7465726c656176653a226d6f7573656f7574222c706f696e7465726f75743a226d6f7573656f7574227d3b66756e6374696f6e206428742c65297b76617220693d6e2e6765745374796c6528742c65292c613d692626692e6d61746368282f5e285c642b29285c2e5c642b293f7078242f293b72657475726e20613f4e756d62657228615b315d293a766f696420307d76617220683d212166756e6374696f6e28297b76617220743d21313b7472797b76617220653d4f626a6563742e646566696e6550726f7065727479287b7d2c2270617373697665222c7b6765743a66756e6374696f6e28297b743d21307d7d293b77696e646f772e6164644576656e744c697374656e6572282265222c6e756c6c2c65297d63617463682874297b7d72657475726e20747d282926267b706173736976653a21307d3b66756e6374696f6e206328742c652c69297b742e6164644576656e744c697374656e657228652c692c68297d66756e6374696f6e206628742c652c69297b742e72656d6f76654576656e744c697374656e657228652c692c68297d66756e6374696f6e206728742c652c692c6e2c61297b72657475726e7b747970653a742c63686172743a652c6e61746976653a617c7c6e756c6c2c783a766f69642030213d3d693f693a6e756c6c2c793a766f69642030213d3d6e3f6e3a6e756c6c7d7d66756e6374696f6e206d28742c652c69297b76617220752c642c682c662c6d2c702c762c792c623d745b615d7c7c28745b615d3d7b7d292c783d622e726573697a65723d66756e6374696f6e2874297b76617220653d646f63756d656e742e637265617465456c656d656e74282264697622292c693d722b2273697a652d6d6f6e69746f72222c6e3d22706f736974696f6e3a6162736f6c7574653b6c6566743a303b746f703a303b72696768743a303b626f74746f6d3a303b6f766572666c6f773a68696464656e3b706f696e7465722d6576656e74733a6e6f6e653b7669736962696c6974793a68696464656e3b7a2d696e6465783a2d313b223b652e7374796c652e637373546578743d6e2c652e636c6173734e616d653d692c652e696e6e657248544d4c3d273c64697620636c6173733d22272b692b272d657870616e6422207374796c653d22272b6e2b27223e3c646976207374796c653d22706f736974696f6e3a6162736f6c7574653b77696474683a3130303030303070783b6865696768743a3130303030303070783b6c6566743a303b746f703a30223e3c2f6469763e3c2f6469763e3c64697620636c6173733d22272b692b272d736872696e6b22207374796c653d22272b6e2b27223e3c646976207374796c653d22706f736974696f6e3a6162736f6c7574653b77696474683a323030253b6865696768743a323030253b6c6566743a303b20746f703a30223e3c2f6469763e3c2f6469763e273b76617220613d652e6368696c644e6f6465735b305d2c6f3d652e6368696c644e6f6465735b315d3b652e5f72657365743d66756e6374696f6e28297b612e7363726f6c6c4c6566743d3165362c612e7363726f6c6c546f703d3165362c6f2e7363726f6c6c4c6566743d3165362c6f2e7363726f6c6c546f703d3165367d3b76617220733d66756e6374696f6e28297b652e5f726573657428292c7428297d3b72657475726e206328612c227363726f6c6c222c732e62696e6428612c22657870616e642229292c63286f2c227363726f6c6c222c732e62696e64286f2c22736872696e6b2229292c657d2828753d66756e6374696f6e28297b696628622e726573697a65722972657475726e206528672822726573697a65222c6929297d2c683d21312c663d5b5d2c66756e6374696f6e28297b663d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e7473292c643d647c7c746869732c687c7c28683d21302c6e2e72657175657374416e696d4672616d652e63616c6c2877696e646f772c66756e6374696f6e28297b683d21312c752e6170706c7928642c66297d29297d29293b703d66756e6374696f6e28297b696628622e726573697a6572297b76617220653d742e706172656e744e6f64653b65262665213d3d782e706172656e744e6f64652626652e696e736572744265666f726528782c652e66697273744368696c64292c782e5f726573657428297d7d2c763d286d3d74295b615d7c7c286d5b615d3d7b7d292c793d762e72656e64657250726f78793d66756e6374696f6e2874297b742e616e696d6174696f6e4e616d653d3d3d7326267028297d2c6e2e65616368286c2c66756e6374696f6e2874297b63286d2c742c79297d292c762e7265666c6f773d21216d2e6f6666736574506172656e742c6d2e636c6173734c6973742e616464286f297d66756e6374696f6e20702874297b76617220652c692c722c733d745b615d7c7c7b7d2c753d732e726573697a65723b64656c65746520732e726573697a65722c693d28653d74295b615d7c7c7b7d2c28723d692e72656e64657250726f7879292626286e2e65616368286c2c66756e6374696f6e2874297b6628652c742c72297d292c64656c65746520692e72656e64657250726f7879292c652e636c6173734c6973742e72656d6f7665286f292c752626752e706172656e744e6f64652626752e706172656e744e6f64652e72656d6f76654368696c642875297d652e6578706f7274733d7b5f656e61626c65643a22756e646566696e656422213d747970656f662077696e646f77262622756e646566696e656422213d747970656f6620646f63756d656e742c696e697469616c697a653a66756e6374696f6e28297b76617220742c652c692c6e3d2266726f6d7b6f7061636974793a302e39397d746f7b6f7061636974793a317d223b653d22402d7765626b69742d6b65796672616d657320222b732b227b222b6e2b227d406b65796672616d657320222b732b227b222b6e2b227d2e222b6f2b227b2d7765626b69742d616e696d6174696f6e3a222b732b2220302e303031733b616e696d6174696f6e3a222b732b2220302e303031733b7d222c693d28743d74686973292e5f7374796c657c7c646f63756d656e742e637265617465456c656d656e7428227374796c6522292c742e5f7374796c657c7c28742e5f7374796c653d692c653d222f2a2043686172742e6a73202a2f5c6e222b652c692e736574417474726962757465282274797065222c22746578742f63737322292c646f63756d656e742e676574456c656d656e747342795461674e616d6528226865616422295b305d2e617070656e644368696c64286929292c692e617070656e644368696c6428646f63756d656e742e637265617465546578744e6f6465286529297d2c61637175697265436f6e746578743a66756e6374696f6e28742c65297b22737472696e67223d3d747970656f6620743f743d646f63756d656e742e676574456c656d656e74427949642874293a742e6c656e677468262628743d745b305d292c742626742e63616e766173262628743d742e63616e766173293b76617220693d742626742e676574436f6e746578742626742e676574436f6e746578742822326422293b72657475726e20692626692e63616e7661733d3d3d743f2866756e6374696f6e28742c65297b76617220693d742e7374796c652c6e3d742e676574417474726962757465282268656967687422292c723d742e6765744174747269627574652822776964746822293b696628745b615d3d7b696e697469616c3a7b6865696768743a6e2c77696474683a722c7374796c653a7b646973706c61793a692e646973706c61792c6865696768743a692e6865696768742c77696474683a692e77696474687d7d7d2c692e646973706c61793d692e646973706c61797c7c22626c6f636b222c6e756c6c3d3d3d727c7c22223d3d3d72297b766172206f3d6428742c22776964746822293b766f69642030213d3d6f262628742e77696474683d6f297d6966286e756c6c3d3d3d6e7c7c22223d3d3d6e2969662822223d3d3d742e7374796c652e68656967687429742e6865696768743d742e77696474682f28652e6f7074696f6e732e617370656374526174696f7c7c32293b656c73657b76617220733d6428742c2268656967687422293b766f69642030213d3d6f262628742e6865696768743d73297d7d28742c65292c69293a6e756c6c7d2c72656c65617365436f6e746578743a66756e6374696f6e2874297b76617220653d742e63616e7661733b696628655b615d297b76617220693d655b615d2e696e697469616c3b5b22686569676874222c227769647468225d2e666f72456163682866756e6374696f6e2874297b76617220613d695b745d3b6e2e69734e756c6c4f72556e6465662861293f652e72656d6f76654174747269627574652874293a652e73657441747472696275746528742c61297d292c6e2e6561636828692e7374796c657c7c7b7d2c66756e6374696f6e28742c69297b652e7374796c655b695d3d747d292c652e77696474683d652e77696474682c64656c65746520655b615d7d7d2c6164644576656e744c697374656e65723a66756e6374696f6e28742c652c69297b76617220723d742e63616e7661733b69662822726573697a6522213d3d65297b766172206f3d695b615d7c7c28695b615d3d7b7d293b6328722c652c286f2e70726f786965737c7c286f2e70726f786965733d7b7d29295b742e69642b225f222b655d3d66756e6374696f6e2865297b76617220612c722c6f2c733b692828723d742c6f3d755b28613d65292e747970655d7c7c612e747970652c733d6e2e67657452656c6174697665506f736974696f6e28612c72292c67286f2c722c732e782c732e792c612929297d297d656c7365206d28722c692c74297d2c72656d6f76654576656e744c697374656e65723a66756e6374696f6e28742c652c69297b766172206e3d742e63616e7661733b69662822726573697a6522213d3d65297b76617220723d2828695b615d7c7c7b7d292e70726f786965737c7c7b7d295b742e69642b225f222b655d3b72262666286e2c652c72297d656c73652070286e297d7d2c6e2e6164644576656e743d632c6e2e72656d6f76654576656e743d667d2c7b34353a34357d5d2c34383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d74283436292c723d74283437292c6f3d722e5f656e61626c65643f723a613b652e6578706f7274733d6e2e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b7d2c61637175697265436f6e746578743a66756e6374696f6e28297b7d2c72656c65617365436f6e746578743a66756e6374696f6e28297b7d2c6164644576656e744c697374656e65723a66756e6374696f6e28297b7d2c72656d6f76654576656e744c697374656e65723a66756e6374696f6e28297b7d7d2c6f297d2c7b34353a34352c34363a34362c34373a34377d5d2c34393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b7d2c652e6578706f7274732e66696c6c65723d74283530292c652e6578706f7274732e6c6567656e643d74283531292c652e6578706f7274732e7469746c653d74283532297d2c7b35303a35302c35313a35312c35323a35327d5d2c35303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b706c7567696e733a7b66696c6c65723a7b70726f7061676174653a21307d7d7d293b766172206f3d7b646174617365743a66756e6374696f6e2874297b76617220653d742e66696c6c2c693d742e63686172742c6e3d692e676574446174617365744d6574612865292c613d6e2626692e69734461746173657456697369626c6528652926266e2e646174617365742e5f6368696c6472656e7c7c5b5d2c723d612e6c656e6774687c7c303b72657475726e20723f66756e6374696f6e28742c65297b72657475726e20653c722626615b655d2e5f766965777c7c6e756c6c7d3a6e756c6c7d2c626f756e646172793a66756e6374696f6e2874297b76617220653d742e626f756e646172792c693d653f652e783a6e756c6c2c6e3d653f652e793a6e756c6c3b72657475726e2066756e6374696f6e2874297b72657475726e7b783a6e756c6c3d3d3d693f742e783a692c793a6e756c6c3d3d3d6e3f742e793a6e7d7d7d7d3b66756e6374696f6e207328742c652c69297b766172206e2c613d742e5f6d6f64656c7c7c7b7d2c723d612e66696c6c3b696628766f696420303d3d3d72262628723d2121612e6261636b67726f756e64436f6c6f72292c21313d3d3d727c7c6e756c6c3d3d3d722972657475726e21313b69662821303d3d3d722972657475726e226f726967696e223b6966286e3d7061727365466c6f617428722c3130292c697346696e697465286e2926264d6174682e666c6f6f72286e293d3d3d6e2972657475726e222d22213d3d725b305d2626222b22213d3d725b305d7c7c286e3d652b6e292c21286e3d3d3d657c7c6e3c307c7c6e3e3d692926266e3b7377697463682872297b6361736522626f74746f6d223a72657475726e227374617274223b6361736522746f70223a72657475726e22656e64223b63617365227a65726f223a72657475726e226f726967696e223b63617365226f726967696e223a63617365227374617274223a6361736522656e64223a72657475726e20723b64656661756c743a72657475726e21317d7d66756e6374696f6e206c2874297b76617220652c693d742e656c2e5f6d6f64656c7c7c7b7d2c6e3d742e656c2e5f7363616c657c7c7b7d2c613d742e66696c6c2c723d6e756c6c3b696628697346696e6974652861292972657475726e206e756c6c3b696628227374617274223d3d3d613f723d766f696420303d3d3d692e7363616c65426f74746f6d3f6e2e626f74746f6d3a692e7363616c65426f74746f6d3a22656e64223d3d3d613f723d766f696420303d3d3d692e7363616c65546f703f6e2e746f703a692e7363616c65546f703a766f69642030213d3d692e7363616c655a65726f3f723d692e7363616c655a65726f3a6e2e67657442617365506f736974696f6e3f723d6e2e67657442617365506f736974696f6e28293a6e2e67657442617365506978656c262628723d6e2e67657442617365506978656c2829292c6e756c6c213d72297b696628766f69642030213d3d722e782626766f69642030213d3d722e792972657475726e20723b696628226e756d626572223d3d747970656f6620722626697346696e6974652872292972657475726e7b783a28653d6e2e6973486f72697a6f6e74616c2829293f723a6e756c6c2c793a653f6e756c6c3a727d7d72657475726e206e756c6c7d66756e6374696f6e207528742c652c69297b766172206e2c613d745b655d2e66696c6c2c723d5b655d3b69662821692972657475726e20613b666f72283b2131213d3d6126262d313d3d3d722e696e6465784f662861293b297b69662821697346696e6974652861292972657475726e20613b69662821286e3d745b615d292972657475726e21313b6966286e2e76697369626c652972657475726e20613b722e707573682861292c613d6e2e66696c6c7d72657475726e21317d66756e6374696f6e20642874297b72657475726e2074262621742e736b69707d66756e6374696f6e206828742c652c692c6e2c61297b766172206f3b6966286e262661297b666f7228742e6d6f7665546f28655b305d2e782c655b305d2e79292c6f3d313b6f3c6e3b2b2b6f29722e63616e7661732e6c696e65546f28742c655b6f2d315d2c655b6f5d293b666f7228742e6c696e65546f28695b612d315d2e782c695b612d315d2e79292c6f3d612d313b6f3e303b2d2d6f29722e63616e7661732e6c696e65546f28742c695b6f5d2c695b6f2d315d2c2130297d7d652e6578706f7274733d7b69643a2266696c6c6572222c616674657244617461736574735570646174653a66756e6374696f6e28742c65297b76617220692c6e2c722c642c682c632c662c673d28742e646174612e64617461736574737c7c5b5d292e6c656e6774682c6d3d652e70726f7061676174652c703d5b5d3b666f72286e3d303b6e3c673b2b2b6e29643d6e756c6c2c28723d28693d742e676574446174617365744d657461286e29292e64617461736574292626722e5f6d6f64656c26267220696e7374616e63656f6620612e4c696e65262628643d7b76697369626c653a742e69734461746173657456697369626c65286e292c66696c6c3a7328722c6e2c67292c63686172743a742c656c3a727d292c692e2466696c6c65723d642c702e707573682864293b666f72286e3d303b6e3c673b2b2b6e2928643d705b6e5d29262628642e66696c6c3d7528702c6e2c6d292c642e626f756e646172793d6c2864292c642e6d61707065723d28766f696420302c663d766f696420302c633d28683d64292e66696c6c2c663d2264617461736574222c21313d3d3d633f6e756c6c3a28697346696e6974652863297c7c28663d22626f756e6461727922292c6f5b665d2868292929297d2c6265666f726544617461736574447261773a66756e6374696f6e28742c65297b76617220693d652e6d6574612e2466696c6c65723b69662869297b76617220613d742e6374782c6f3d692e656c2c733d6f2e5f766965772c6c3d6f2e5f6368696c6472656e7c7c5b5d2c753d692e6d61707065722c633d732e6261636b67726f756e64436f6c6f727c7c6e2e676c6f62616c2e64656661756c74436f6c6f723b7526266326266c2e6c656e677468262628722e63616e7661732e636c69704172656128612c742e636861727441726561292c66756e6374696f6e28742c652c692c6e2c612c72297b766172206f2c732c6c2c752c632c662c672c6d3d652e6c656e6774682c703d6e2e7370616e476170732c763d5b5d2c793d5b5d2c623d302c783d303b666f7228742e626567696e5061746828292c6f3d302c733d6d2b2121723b6f3c733b2b2b6f29633d6928753d655b6c3d6f256d5d2e5f766965772c6c2c6e292c663d642875292c673d642863292c662626673f28623d762e707573682875292c783d792e70757368286329293a62262678262628703f28662626762e707573682875292c672626792e70757368286329293a286828742c762c792c622c78292c623d783d302c763d5b5d2c793d5b5d29293b6828742c762c792c622c78292c742e636c6f73655061746828292c742e66696c6c5374796c653d612c742e66696c6c28297d28612c6c2c752c732c632c6f2e5f6c6f6f70292c722e63616e7661732e756e636c697041726561286129297d7d7d7d2c7b32353a32352c34303a34302c34353a34357d5d2c35313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283330292c733d722e6e6f6f703b66756e6374696f6e206c28742c65297b72657475726e20742e757365506f696e745374796c653f652a4d6174682e53515254323a742e626f7857696474687d6e2e5f7365742822676c6f62616c222c7b6c6567656e643a7b646973706c61793a21302c706f736974696f6e3a22746f70222c66756c6c57696474683a21302c726576657273653a21312c7765696768743a3165332c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220693d652e64617461736574496e6465782c6e3d746869732e63686172742c613d6e2e676574446174617365744d6574612869293b612e68696464656e3d6e756c6c3d3d3d612e68696464656e3f216e2e646174612e64617461736574735b695d2e68696464656e3a6e756c6c2c6e2e75706461746528297d2c6f6e486f7665723a6e756c6c2c6c6162656c733a7b626f7857696474683a34302c70616464696e673a31302c67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20722e6973417272617928652e6461746173657473293f652e64617461736574732e6d61702866756e6374696f6e28652c69297b72657475726e7b746578743a652e6c6162656c2c66696c6c5374796c653a722e6973417272617928652e6261636b67726f756e64436f6c6f72293f652e6261636b67726f756e64436f6c6f725b305d3a652e6261636b67726f756e64436f6c6f722c68696464656e3a21742e69734461746173657456697369626c652869292c6c696e654361703a652e626f726465724361705374796c652c6c696e65446173683a652e626f72646572446173682c6c696e65446173684f66667365743a652e626f72646572446173684f66667365742c6c696e654a6f696e3a652e626f726465724a6f696e5374796c652c6c696e6557696474683a652e626f7264657257696474682c7374726f6b655374796c653a652e626f72646572436f6c6f722c706f696e745374796c653a652e706f696e745374796c652c64617461736574496e6465783a697d7d2c74686973293a5b5d7d7d7d2c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b666f722876617220693d303b693c742e646174612e64617461736574732e6c656e6774683b692b2b29652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b742e646174612e64617461736574735b695d2e6261636b67726f756e64436f6c6f722b27223e3c2f7370616e3e27292c742e646174612e64617461736574735b695d2e6c6162656c2626652e7075736828742e646174612e64617461736574735b695d2e6c6162656c292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d7d293b76617220753d612e657874656e64287b696e697469616c697a653a66756e6374696f6e2874297b722e657874656e6428746869732c74292c746869732e6c6567656e64486974426f7865733d5b5d2c746869732e646f7567686e75744d6f64653d21317d2c6265666f72655570646174653a732c7570646174653a66756e6374696f6e28742c652c69297b766172206e3d746869733b72657475726e206e2e6265666f726555706461746528292c6e2e6d617857696474683d742c6e2e6d61784865696768743d652c6e2e6d617267696e733d692c6e2e6265666f726553657444696d656e73696f6e7328292c6e2e73657444696d656e73696f6e7328292c6e2e616674657253657444696d656e73696f6e7328292c6e2e6265666f72654275696c644c6162656c7328292c6e2e6275696c644c6162656c7328292c6e2e61667465724275696c644c6162656c7328292c6e2e6265666f726546697428292c6e2e66697428292c6e2e616674657246697428292c6e2e616674657255706461746528292c6e2e6d696e53697a657d2c61667465725570646174653a732c6265666f726553657444696d656e73696f6e733a732c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d302c742e6d696e53697a653d7b77696474683a302c6865696768743a307d7d2c616674657253657444696d656e73696f6e733a732c6265666f72654275696c644c6162656c733a732c6275696c644c6162656c733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e6c6162656c737c7c7b7d2c693d722e63616c6c6261636b28652e67656e65726174654c6162656c732c5b742e63686172745d2c74297c7c5b5d3b652e66696c746572262628693d692e66696c7465722866756e6374696f6e2869297b72657475726e20652e66696c74657228692c742e63686172742e64617461297d29292c742e6f7074696f6e732e726576657273652626692e7265766572736528292c742e6c6567656e644974656d733d697d2c61667465724275696c644c6162656c733a732c6265666f72654669743a732c6669743a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d652e6c6162656c732c613d652e646973706c61792c6f3d742e6374782c733d6e2e676c6f62616c2c753d722e76616c75654f7244656661756c742c643d7528692e666f6e7453697a652c732e64656661756c74466f6e7453697a65292c683d7528692e666f6e745374796c652c732e64656661756c74466f6e745374796c65292c633d7528692e666f6e7446616d696c792c732e64656661756c74466f6e7446616d696c79292c663d722e666f6e74537472696e6728642c682c63292c673d742e6c6567656e64486974426f7865733d5b5d2c6d3d742e6d696e53697a652c703d742e6973486f72697a6f6e74616c28293b696628703f286d2e77696474683d742e6d617857696474682c6d2e6865696768743d613f31303a30293a286d2e77696474683d613f31303a302c6d2e6865696768743d742e6d6178486569676874292c61296966286f2e666f6e743d662c70297b76617220763d742e6c696e655769647468733d5b305d2c793d742e6c6567656e644974656d732e6c656e6774683f642b692e70616464696e673a303b6f2e74657874416c69676e3d226c656674222c6f2e74657874426173656c696e653d22746f70222c722e6561636828742e6c6567656e644974656d732c66756e6374696f6e28652c6e297b76617220613d6c28692c64292b642f322b6f2e6d6561737572655465787428652e74657874292e77696474683b765b762e6c656e6774682d315d2b612b692e70616464696e673e3d742e7769647468262628792b3d642b692e70616464696e672c765b762e6c656e6774685d3d742e6c656674292c675b6e5d3d7b6c6566743a302c746f703a302c77696474683a612c6865696768743a647d2c765b762e6c656e6774682d315d2b3d612b692e70616464696e677d292c6d2e6865696768742b3d797d656c73657b76617220623d692e70616464696e672c783d742e636f6c756d6e5769647468733d5b5d2c5f3d692e70616464696e672c6b3d302c773d302c4d3d642b623b722e6561636828742e6c6567656e644974656d732c66756e6374696f6e28742c65297b766172206e3d6c28692c64292b642f322b6f2e6d6561737572655465787428742e74657874292e77696474683b772b4d3e6d2e6865696768742626285f2b3d6b2b692e70616464696e672c782e70757368286b292c6b3d302c773d30292c6b3d4d6174682e6d6178286b2c6e292c772b3d4d2c675b655d3d7b6c6566743a302c746f703a302c77696474683a6e2c6865696768743a647d7d292c5f2b3d6b2c782e70757368286b292c6d2e77696474682b3d5f7d742e77696474683d6d2e77696474682c742e6865696768743d6d2e6865696768747d2c61667465724669743a732c6973486f72697a6f6e74616c3a66756e6374696f6e28297b72657475726e22746f70223d3d3d746869732e6f7074696f6e732e706f736974696f6e7c7c22626f74746f6d223d3d3d746869732e6f7074696f6e732e706f736974696f6e7d2c647261773a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d652e6c6162656c732c613d6e2e676c6f62616c2c6f3d612e656c656d656e74732e6c696e652c733d742e77696474682c753d742e6c696e655769647468733b696628652e646973706c6179297b76617220642c683d742e6374782c633d722e76616c75654f7244656661756c742c663d6328692e666f6e74436f6c6f722c612e64656661756c74466f6e74436f6c6f72292c673d6328692e666f6e7453697a652c612e64656661756c74466f6e7453697a65292c6d3d6328692e666f6e745374796c652c612e64656661756c74466f6e745374796c65292c703d6328692e666f6e7446616d696c792c612e64656661756c74466f6e7446616d696c79292c763d722e666f6e74537472696e6728672c6d2c70293b682e74657874416c69676e3d226c656674222c682e74657874426173656c696e653d226d6964646c65222c682e6c696e6557696474683d2e352c682e7374726f6b655374796c653d662c682e66696c6c5374796c653d662c682e666f6e743d763b76617220793d6c28692c67292c623d742e6c6567656e64486974426f7865732c783d742e6973486f72697a6f6e74616c28293b643d783f7b783a742e6c6566742b28732d755b305d292f322c793a742e746f702b692e70616464696e672c6c696e653a307d3a7b783a742e6c6566742b692e70616464696e672c793a742e746f702b692e70616464696e672c6c696e653a307d3b766172205f3d672b692e70616464696e673b722e6561636828742e6c6567656e644974656d732c66756e6374696f6e286e2c6c297b76617220662c6d2c702c762c6b2c773d682e6d65617375726554657874286e2e74657874292e77696474682c4d3d792b672f322b772c533d642e782c443d642e793b783f532b4d3e3d73262628443d642e792b3d5f2c642e6c696e652b2b2c533d642e783d742e6c6566742b28732d755b642e6c696e655d292f32293a442b5f3e742e626f74746f6d262628533d642e783d532b742e636f6c756d6e5769647468735b642e6c696e655d2b692e70616464696e672c443d642e793d742e746f702b692e70616464696e672c642e6c696e652b2b292c66756e6374696f6e28742c692c6e297b696628212869734e614e2879297c7c793c3d3029297b682e7361766528292c682e66696c6c5374796c653d63286e2e66696c6c5374796c652c612e64656661756c74436f6c6f72292c682e6c696e654361703d63286e2e6c696e654361702c6f2e626f726465724361705374796c65292c682e6c696e65446173684f66667365743d63286e2e6c696e65446173684f66667365742c6f2e626f72646572446173684f6666736574292c682e6c696e654a6f696e3d63286e2e6c696e654a6f696e2c6f2e626f726465724a6f696e5374796c65292c682e6c696e6557696474683d63286e2e6c696e6557696474682c6f2e626f726465725769647468292c682e7374726f6b655374796c653d63286e2e7374726f6b655374796c652c612e64656661756c74436f6c6f72293b76617220733d303d3d3d63286e2e6c696e6557696474682c6f2e626f726465725769647468293b696628682e7365744c696e65446173682626682e7365744c696e65446173682863286e2e6c696e65446173682c6f2e626f726465724461736829292c652e6c6162656c732626652e6c6162656c732e757365506f696e745374796c65297b766172206c3d672a4d6174682e53515254322f322c753d6c2f4d6174682e53515254322c643d742b752c663d692b753b722e63616e7661732e64726177506f696e7428682c6e2e706f696e745374796c652c6c2c642c66297d656c736520737c7c682e7374726f6b655265637428742c692c792c67292c682e66696c6c5265637428742c692c792c67293b682e726573746f726528297d7d28532c442c6e292c625b6c5d2e6c6566743d532c625b6c5d2e746f703d442c663d6e2c6d3d772c763d792b28703d672f32292b532c6b3d442b702c682e66696c6c5465787428662e746578742c762c6b292c662e68696464656e262628682e626567696e5061746828292c682e6c696e6557696474683d322c682e6d6f7665546f28762c6b292c682e6c696e65546f28762b6d2c6b292c682e7374726f6b652829292c783f642e782b3d4d2b692e70616464696e673a642e792b3d5f7d297d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732c6e3d226d6f7573657570223d3d3d742e747970653f22636c69636b223a742e747970652c613d21313b696628226d6f7573656d6f7665223d3d3d6e297b69662821692e6f6e486f7665722972657475726e7d656c73657b69662822636c69636b22213d3d6e2972657475726e3b69662821692e6f6e436c69636b2972657475726e7d76617220723d742e782c6f3d742e793b696628723e3d652e6c6566742626723c3d652e726967687426266f3e3d652e746f7026266f3c3d652e626f74746f6d29666f722876617220733d652e6c6567656e64486974426f7865732c6c3d303b6c3c732e6c656e6774683b2b2b6c297b76617220753d735b6c5d3b696628723e3d752e6c6566742626723c3d752e6c6566742b752e776964746826266f3e3d752e746f7026266f3c3d752e746f702b752e686569676874297b69662822636c69636b223d3d3d6e297b692e6f6e436c69636b2e63616c6c28652c742e6e61746976652c652e6c6567656e644974656d735b6c5d292c613d21303b627265616b7d696628226d6f7573656d6f7665223d3d3d6e297b692e6f6e486f7665722e63616c6c28652c742e6e61746976652c652e6c6567656e644974656d735b6c5d292c613d21303b627265616b7d7d7d72657475726e20617d7d293b66756e6374696f6e206428742c65297b76617220693d6e65772075287b6374783a742e6374782c6f7074696f6e733a652c63686172743a747d293b6f2e636f6e66696775726528742c692c65292c6f2e616464426f7828742c69292c742e6c6567656e643d697d652e6578706f7274733d7b69643a226c6567656e64222c5f656c656d656e743a752c6265666f7265496e69743a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e6c6567656e643b6526266428742c65297d2c6265666f72655570646174653a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e6c6567656e642c693d742e6c6567656e643b653f28722e6d65726765496628652c6e2e676c6f62616c2e6c6567656e64292c693f286f2e636f6e66696775726528742c692c65292c692e6f7074696f6e733d65293a6428742c6529293a692626286f2e72656d6f7665426f7828742c69292c64656c65746520742e6c6567656e64297d2c61667465724576656e743a66756e6374696f6e28742c65297b76617220693d742e6c6567656e643b692626692e68616e646c654576656e742865297d7d7d2c7b32353a32352c32363a32362c33303a33302c34353a34357d5d2c35323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283330292c733d722e6e6f6f703b6e2e5f7365742822676c6f62616c222c7b7469746c653a7b646973706c61793a21312c666f6e745374796c653a22626f6c64222c66756c6c57696474683a21302c6c696e654865696768743a312e322c70616464696e673a31302c706f736974696f6e3a22746f70222c746578743a22222c7765696768743a3265337d7d293b766172206c3d612e657874656e64287b696e697469616c697a653a66756e6374696f6e2874297b722e657874656e6428746869732c74292c746869732e6c6567656e64486974426f7865733d5b5d7d2c6265666f72655570646174653a732c7570646174653a66756e6374696f6e28742c652c69297b766172206e3d746869733b72657475726e206e2e6265666f726555706461746528292c6e2e6d617857696474683d742c6e2e6d61784865696768743d652c6e2e6d617267696e733d692c6e2e6265666f726553657444696d656e73696f6e7328292c6e2e73657444696d656e73696f6e7328292c6e2e616674657253657444696d656e73696f6e7328292c6e2e6265666f72654275696c644c6162656c7328292c6e2e6275696c644c6162656c7328292c6e2e61667465724275696c644c6162656c7328292c6e2e6265666f726546697428292c6e2e66697428292c6e2e616674657246697428292c6e2e616674657255706461746528292c6e2e6d696e53697a657d2c61667465725570646174653a732c6265666f726553657444696d656e73696f6e733a732c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d302c742e6d696e53697a653d7b77696474683a302c6865696768743a307d7d2c616674657253657444696d656e73696f6e733a732c6265666f72654275696c644c6162656c733a732c6275696c644c6162656c733a732c61667465724275696c644c6162656c733a732c6265666f72654669743a732c6669743a66756e6374696f6e28297b76617220743d722e76616c75654f7244656661756c742c653d746869732e6f7074696f6e732c693d652e646973706c61792c613d7428652e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a65292c6f3d746869732e6d696e53697a652c733d722e6973417272617928652e74657874293f652e746578742e6c656e6774683a312c6c3d722e6f7074696f6e732e746f4c696e6548656967687428652e6c696e654865696768742c61292c753d693f732a6c2b322a652e70616464696e673a303b746869732e6973486f72697a6f6e74616c28293f286f2e77696474683d746869732e6d617857696474682c6f2e6865696768743d75293a286f2e77696474683d752c6f2e6865696768743d746869732e6d6178486569676874292c746869732e77696474683d6f2e77696474682c746869732e6865696768743d6f2e6865696768747d2c61667465724669743a732c6973486f72697a6f6e74616c3a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e706f736974696f6e3b72657475726e22746f70223d3d3d747c7c22626f74746f6d223d3d3d747d2c647261773a66756e6374696f6e28297b76617220743d746869732e6374782c653d722e76616c75654f7244656661756c742c693d746869732e6f7074696f6e732c613d6e2e676c6f62616c3b696628692e646973706c6179297b766172206f2c732c6c2c753d6528692e666f6e7453697a652c612e64656661756c74466f6e7453697a65292c643d6528692e666f6e745374796c652c612e64656661756c74466f6e745374796c65292c683d6528692e666f6e7446616d696c792c612e64656661756c74466f6e7446616d696c79292c633d722e666f6e74537472696e6728752c642c68292c663d722e6f7074696f6e732e746f4c696e6548656967687428692e6c696e654865696768742c75292c673d662f322b692e70616464696e672c6d3d302c703d746869732e746f702c763d746869732e6c6566742c793d746869732e626f74746f6d2c623d746869732e72696768743b742e66696c6c5374796c653d6528692e666f6e74436f6c6f722c612e64656661756c74466f6e74436f6c6f72292c742e666f6e743d632c746869732e6973486f72697a6f6e74616c28293f28733d762b28622d76292f322c6c3d702b672c6f3d622d76293a28733d226c656674223d3d3d692e706f736974696f6e3f762b673a622d672c6c3d702b28792d70292f322c6f3d792d702c6d3d4d6174682e50492a28226c656674223d3d3d692e706f736974696f6e3f2d2e353a2e3529292c742e7361766528292c742e7472616e736c61746528732c6c292c742e726f74617465286d292c742e74657874416c69676e3d2263656e746572222c742e74657874426173656c696e653d226d6964646c65223b76617220783d692e746578743b696628722e6973417272617928782929666f7228766172205f3d302c6b3d303b6b3c782e6c656e6774683b2b2b6b29742e66696c6c5465787428785b6b5d2c302c5f2c6f292c5f2b3d663b656c736520742e66696c6c5465787428782c302c302c6f293b742e726573746f726528297d7d7d293b66756e6374696f6e207528742c65297b76617220693d6e6577206c287b6374783a742e6374782c6f7074696f6e733a652c63686172743a747d293b6f2e636f6e66696775726528742c692c65292c6f2e616464426f7828742c69292c742e7469746c65426c6f636b3d697d652e6578706f7274733d7b69643a227469746c65222c5f656c656d656e743a6c2c6265666f7265496e69743a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e7469746c653b6526267528742c65297d2c6265666f72655570646174653a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e7469746c652c693d742e7469746c65426c6f636b3b653f28722e6d65726765496628652c6e2e676c6f62616c2e7469746c65292c693f286f2e636f6e66696775726528742c692c65292c692e6f7074696f6e733d65293a7528742c6529293a692626286f2e72656d6f7665426f7828742c69292c64656c65746520742e7469746c65426c6f636b297d7d7d2c7b32353a32352c32363a32362c33303a33302c34353a34357d5d2c35333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b76617220653d742e5363616c652e657874656e64287b6765744c6162656c733a66756e6374696f6e28297b76617220743d746869732e63686172742e646174613b72657475726e20746869732e6f7074696f6e732e6c6162656c737c7c28746869732e6973486f72697a6f6e74616c28293f742e784c6162656c733a742e794c6162656c73297c7c742e6c6162656c737d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220742c653d746869732c693d652e6765744c6162656c7328293b652e6d696e496e6465783d302c652e6d6178496e6465783d692e6c656e6774682d312c766f69642030213d3d652e6f7074696f6e732e7469636b732e6d696e262628743d692e696e6465784f6628652e6f7074696f6e732e7469636b732e6d696e292c652e6d696e496e6465783d2d31213d3d743f743a652e6d696e496e646578292c766f69642030213d3d652e6f7074696f6e732e7469636b732e6d6178262628743d692e696e6465784f6628652e6f7074696f6e732e7469636b732e6d6178292c652e6d6178496e6465783d2d31213d3d743f743a652e6d6178496e646578292c652e6d696e3d695b652e6d696e496e6465785d2c652e6d61783d695b652e6d6178496e6465785d7d2c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732e6765744c6162656c7328293b746869732e7469636b733d303d3d3d746869732e6d696e496e6465782626746869732e6d6178496e6465783d3d3d742e6c656e6774682d313f743a742e736c69636528746869732e6d696e496e6465782c746869732e6d6178496e6465782b31297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612c6e3d746869732e6973486f72697a6f6e74616c28293b72657475726e20692e794c6162656c732626216e3f746869732e676574526967687456616c756528692e64617461736574735b655d2e646174615b745d293a746869732e7469636b735b742d746869732e6d696e496e6465785d7d2c676574506978656c466f7256616c75653a66756e6374696f6e28742c65297b76617220692c6e3d746869732c613d6e2e6f7074696f6e732e6f66667365742c723d4d6174682e6d6178286e2e6d6178496e6465782b312d6e2e6d696e496e6465782d28613f303a31292c31293b6966286e756c6c213d74262628693d6e2e6973486f72697a6f6e74616c28293f742e783a742e79292c766f69642030213d3d697c7c766f69642030213d3d74262669734e614e286529297b743d697c7c743b766172206f3d6e2e6765744c6162656c7328292e696e6465784f662874293b653d2d31213d3d6f3f6f3a657d6966286e2e6973486f72697a6f6e74616c2829297b76617220733d6e2e77696474682f722c6c3d732a28652d6e2e6d696e496e646578293b72657475726e20612626286c2b3d732f32292c6e2e6c6566742b4d6174682e726f756e64286c297d76617220753d6e2e6865696768742f722c643d752a28652d6e2e6d696e496e646578293b72657475726e2061262628642b3d752f32292c6e2e746f702b4d6174682e726f756e642864297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b735b745d2c742b746869732e6d696e496e6465782c6e756c6c297d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e6f66667365742c693d4d6174682e6d617828746869732e5f7469636b732e6c656e6774682d28653f303a31292c31292c6e3d746869732e6973486f72697a6f6e74616c28292c613d286e3f746869732e77696474683a746869732e686569676874292f693b72657475726e20742d3d6e3f746869732e6c6566743a746869732e746f702c65262628742d3d612f32292c28743c3d303f303a4d6174682e726f756e6428742f6129292b746869732e6d696e496e6465787d2c67657442617365506978656c3a66756e6374696f6e28297b72657475726e20746869732e626f74746f6d7d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282263617465676f7279222c652c7b706f736974696f6e3a22626f74746f6d227d297d7d2c7b7d5d2c35343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d7b706f736974696f6e3a226c656674222c7469636b733a7b63616c6c6261636b3a722e666f726d6174746572732e6c696e6561727d7d2c693d742e4c696e6561725363616c65426173652e657874656e64287b64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d742e63686172742c6e3d692e646174612e64617461736574732c723d742e6973486f72697a6f6e74616c28293b66756e6374696f6e206f2865297b72657475726e20723f652e784178697349443d3d3d742e69643a652e794178697349443d3d3d742e69647d742e6d696e3d6e756c6c2c742e6d61783d6e756c6c3b76617220733d652e737461636b65643b696628766f696420303d3d3d732626612e65616368286e2c66756e6374696f6e28742c65297b6966282173297b766172206e3d692e676574446174617365744d6574612865293b692e69734461746173657456697369626c6528652926266f286e292626766f69642030213d3d6e2e737461636b262628733d2130297d7d292c652e737461636b65647c7c73297b766172206c3d7b7d3b612e65616368286e2c66756e6374696f6e286e2c72297b76617220733d692e676574446174617365744d6574612872292c753d5b732e747970652c766f696420303d3d3d652e737461636b65642626766f696420303d3d3d732e737461636b3f723a22222c732e737461636b5d2e6a6f696e28222e22293b766f696420303d3d3d6c5b755d2626286c5b755d3d7b706f73697469766556616c7565733a5b5d2c6e6567617469766556616c7565733a5b5d7d293b76617220643d6c5b755d2e706f73697469766556616c7565732c683d6c5b755d2e6e6567617469766556616c7565733b692e69734461746173657456697369626c6528722926266f2873292626612e65616368286e2e646174612c66756e6374696f6e28692c6e297b76617220613d2b742e676574526967687456616c75652869293b69734e614e2861297c7c732e646174615b6e5d2e68696464656e7c7c28645b6e5d3d645b6e5d7c7c302c685b6e5d3d685b6e5d7c7c302c652e72656c6174697665506f696e74733f645b6e5d3d3130303a613c303f685b6e5d2b3d613a645b6e5d2b3d61297d297d292c612e65616368286c2c66756e6374696f6e2865297b76617220693d652e706f73697469766556616c7565732e636f6e63617428652e6e6567617469766556616c756573292c6e3d612e6d696e2869292c723d612e6d61782869293b742e6d696e3d6e756c6c3d3d3d742e6d696e3f6e3a4d6174682e6d696e28742e6d696e2c6e292c742e6d61783d6e756c6c3d3d3d742e6d61783f723a4d6174682e6d617828742e6d61782c72297d297d656c736520612e65616368286e2c66756e6374696f6e28652c6e297b76617220723d692e676574446174617365744d657461286e293b692e69734461746173657456697369626c65286e2926266f2872292626612e6561636828652e646174612c66756e6374696f6e28652c69297b766172206e3d2b742e676574526967687456616c75652865293b69734e614e286e297c7c722e646174615b695d2e68696464656e7c7c286e756c6c3d3d3d742e6d696e3f742e6d696e3d6e3a6e3c742e6d696e262628742e6d696e3d6e292c6e756c6c3d3d3d742e6d61783f742e6d61783d6e3a6e3e742e6d6178262628742e6d61783d6e29297d297d293b742e6d696e3d697346696e69746528742e6d696e2926262169734e614e28742e6d696e293f742e6d696e3a302c742e6d61783d697346696e69746528742e6d61782926262169734e614e28742e6d6178293f742e6d61783a312c746869732e68616e646c655469636b52616e67654f7074696f6e7328297d2c6765745469636b4c696d69743a66756e6374696f6e28297b76617220742c653d746869732e6f7074696f6e732e7469636b733b696628746869732e6973486f72697a6f6e74616c282929743d4d6174682e6d696e28652e6d61785469636b734c696d69743f652e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e77696474682f353029293b656c73657b76617220693d612e76616c75654f7244656661756c7428652e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a65293b743d4d6174682e6d696e28652e6d61785469636b734c696d69743f652e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e6865696768742f28322a692929297d72657475726e20747d2c68616e646c65446972656374696f6e616c4368616e6765733a66756e6374696f6e28297b746869732e6973486f72697a6f6e74616c28297c7c746869732e7469636b732e7265766572736528297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c676574506978656c466f7256616c75653a66756e6374696f6e2874297b76617220653d746869732e73746172742c693d2b746869732e676574526967687456616c75652874292c6e3d746869732e656e642d653b72657475726e20746869732e6973486f72697a6f6e74616c28293f746869732e6c6566742b746869732e77696474682f6e2a28692d65293a746869732e626f74746f6d2d746869732e6865696768742f6e2a28692d65297d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732e6973486f72697a6f6e74616c28292c693d653f746869732e77696474683a746869732e6865696768742c6e3d28653f742d746869732e6c6566743a746869732e626f74746f6d2d74292f693b72657475726e20746869732e73746172742b28746869732e656e642d746869732e7374617274292a6e7d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b7341734e756d626572735b745d297d7d293b742e7363616c65536572766963652e72656769737465725363616c655479706528226c696e656172222c692c65297d7d2c7b32353a32352c33343a33342c34353a34357d5d2c35353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d6e2e6e6f6f703b742e4c696e6561725363616c65426173653d742e5363616c652e657874656e64287b676574526967687456616c75653a66756e6374696f6e2865297b72657475726e22737472696e67223d3d747970656f6620653f2b653a742e5363616c652e70726f746f747970652e676574526967687456616c75652e63616c6c28746869732c65297d2c68616e646c655469636b52616e67654f7074696f6e733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b733b696628652e626567696e41745a65726f297b76617220693d6e2e7369676e28742e6d696e292c613d6e2e7369676e28742e6d6178293b693c302626613c303f742e6d61783d303a693e302626613e30262628742e6d696e3d30297d76617220723d766f69642030213d3d652e6d696e7c7c766f69642030213d3d652e7375676765737465644d696e2c6f3d766f69642030213d3d652e6d61787c7c766f69642030213d3d652e7375676765737465644d61783b766f69642030213d3d652e6d696e3f742e6d696e3d652e6d696e3a766f69642030213d3d652e7375676765737465644d696e2626286e756c6c3d3d3d742e6d696e3f742e6d696e3d652e7375676765737465644d696e3a742e6d696e3d4d6174682e6d696e28742e6d696e2c652e7375676765737465644d696e29292c766f69642030213d3d652e6d61783f742e6d61783d652e6d61783a766f69642030213d3d652e7375676765737465644d61782626286e756c6c3d3d3d742e6d61783f742e6d61783d652e7375676765737465644d61783a742e6d61783d4d6174682e6d617828742e6d61782c652e7375676765737465644d617829292c72213d3d6f2626742e6d696e3e3d742e6d6178262628723f742e6d61783d742e6d696e2b313a742e6d696e3d742e6d61782d31292c742e6d696e3d3d3d742e6d6178262628742e6d61782b2b2c652e626567696e41745a65726f7c7c742e6d696e2d2d297d2c6765745469636b4c696d69743a652c68616e646c65446972656374696f6e616c4368616e6765733a652c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d742e6765745469636b4c696d697428292c613d7b6d61785469636b733a693d4d6174682e6d617828322c69292c6d696e3a652e6d696e2c6d61783a652e6d61782c7374657053697a653a6e2e76616c75654f7244656661756c7428652e66697865645374657053697a652c652e7374657053697a65297d2c723d742e7469636b733d66756e6374696f6e28742c65297b76617220692c613d5b5d3b696628742e7374657053697a652626742e7374657053697a653e3029693d742e7374657053697a653b656c73657b76617220723d6e2e6e6963654e756d28652e6d61782d652e6d696e2c2131293b693d6e2e6e6963654e756d28722f28742e6d61785469636b732d31292c2130297d766172206f3d4d6174682e666c6f6f7228652e6d696e2f69292a692c733d4d6174682e6365696c28652e6d61782f69292a693b742e6d696e2626742e6d61782626742e7374657053697a6526266e2e616c6d6f737457686f6c652828742e6d61782d742e6d696e292f742e7374657053697a652c692f316533292626286f3d742e6d696e2c733d742e6d6178293b766172206c3d28732d6f292f693b6c3d6e2e616c6d6f7374457175616c73286c2c4d6174682e726f756e64286c292c692f316533293f4d6174682e726f756e64286c293a4d6174682e6365696c286c293b76617220753d313b693c31262628753d4d6174682e706f772831302c692e746f537472696e6728292e6c656e6774682d32292c6f3d4d6174682e726f756e64286f2a75292f752c733d4d6174682e726f756e6428732a75292f75292c612e7075736828766f69642030213d3d742e6d696e3f742e6d696e3a6f293b666f722876617220643d313b643c6c3b2b2b6429612e70757368284d6174682e726f756e6428286f2b642a69292a75292f75293b72657475726e20612e7075736828766f69642030213d3d742e6d61783f742e6d61783a73292c617d28612c74293b742e68616e646c65446972656374696f6e616c4368616e67657328292c742e6d61783d6e2e6d61782872292c742e6d696e3d6e2e6d696e2872292c652e726576657273653f28722e7265766572736528292c742e73746172743d742e6d61782c742e656e643d742e6d696e293a28742e73746172743d742e6d696e2c742e656e643d742e6d6178297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b746869732e7469636b7341734e756d626572733d746869732e7469636b732e736c69636528292c746869732e7a65726f4c696e65496e6465783d746869732e7469636b732e696e6465784f662830292c742e5363616c652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973297d7d297d7d2c7b34353a34357d5d2c35363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d7b706f736974696f6e3a226c656674222c7469636b733a7b63616c6c6261636b3a612e666f726d6174746572732e6c6f6761726974686d69637d7d2c693d742e5363616c652e657874656e64287b64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d742e63686172742c613d692e646174612e64617461736574732c723d742e6973486f72697a6f6e74616c28293b66756e6374696f6e206f2865297b72657475726e20723f652e784178697349443d3d3d742e69643a652e794178697349443d3d3d742e69647d742e6d696e3d6e756c6c2c742e6d61783d6e756c6c2c742e6d696e4e6f745a65726f3d6e756c6c3b76617220733d652e737461636b65643b696628766f696420303d3d3d7326266e2e6561636828612c66756e6374696f6e28742c65297b6966282173297b766172206e3d692e676574446174617365744d6574612865293b692e69734461746173657456697369626c6528652926266f286e292626766f69642030213d3d6e2e737461636b262628733d2130297d7d292c652e737461636b65647c7c73297b766172206c3d7b7d3b6e2e6561636828612c66756e6374696f6e28612c72297b76617220733d692e676574446174617365744d6574612872292c753d5b732e747970652c766f696420303d3d3d652e737461636b65642626766f696420303d3d3d732e737461636b3f723a22222c732e737461636b5d2e6a6f696e28222e22293b692e69734461746173657456697369626c6528722926266f287329262628766f696420303d3d3d6c5b755d2626286c5b755d3d5b5d292c6e2e6561636828612e646174612c66756e6374696f6e28652c69297b766172206e3d6c5b755d2c613d2b742e676574526967687456616c75652865293b69734e614e2861297c7c732e646174615b695d2e68696464656e7c7c613c307c7c286e5b695d3d6e5b695d7c7c302c6e5b695d2b3d61297d29297d292c6e2e65616368286c2c66756e6374696f6e2865297b696628652e6c656e6774683e30297b76617220693d6e2e6d696e2865292c613d6e2e6d61782865293b742e6d696e3d6e756c6c3d3d3d742e6d696e3f693a4d6174682e6d696e28742e6d696e2c69292c742e6d61783d6e756c6c3d3d3d742e6d61783f613a4d6174682e6d617828742e6d61782c61297d7d297d656c7365206e2e6561636828612c66756e6374696f6e28652c61297b76617220723d692e676574446174617365744d6574612861293b692e69734461746173657456697369626c6528612926266f28722926266e2e6561636828652e646174612c66756e6374696f6e28652c69297b766172206e3d2b742e676574526967687456616c75652865293b69734e614e286e297c7c722e646174615b695d2e68696464656e7c7c6e3c307c7c286e756c6c3d3d3d742e6d696e3f742e6d696e3d6e3a6e3c742e6d696e262628742e6d696e3d6e292c6e756c6c3d3d3d742e6d61783f742e6d61783d6e3a6e3e742e6d6178262628742e6d61783d6e292c30213d3d6e2626286e756c6c3d3d3d742e6d696e4e6f745a65726f7c7c6e3c742e6d696e4e6f745a65726f29262628742e6d696e4e6f745a65726f3d6e29297d297d293b746869732e68616e646c655469636b52616e67654f7074696f6e7328297d2c68616e646c655469636b52616e67654f7074696f6e733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d6e2e76616c75654f7244656661756c743b742e6d696e3d6928652e6d696e2c742e6d696e292c742e6d61783d6928652e6d61782c742e6d6178292c742e6d696e3d3d3d742e6d617826262830213d3d742e6d696e26266e756c6c213d3d742e6d696e3f28742e6d696e3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d696e29292d31292c742e6d61783d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d617829292b3129293a28742e6d696e3d312c742e6d61783d313029292c6e756c6c3d3d3d742e6d696e262628742e6d696e3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d617829292d3129292c6e756c6c3d3d3d742e6d6178262628742e6d61783d30213d3d742e6d696e3f4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d696e29292b31293a3130292c6e756c6c3d3d3d742e6d696e4e6f745a65726f262628742e6d696e3e303f742e6d696e4e6f745a65726f3d742e6d696e3a742e6d61783c313f742e6d696e4e6f745a65726f3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d61782929293a742e6d696e4e6f745a65726f3d31297d2c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d21742e6973486f72697a6f6e74616c28292c613d7b6d696e3a652e6d696e2c6d61783a652e6d61787d2c723d742e7469636b733d66756e6374696f6e28742c65297b76617220692c612c723d5b5d2c6f3d6e2e76616c75654f7244656661756c742c733d6f28742e6d696e2c4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028652e6d696e292929292c6c3d4d6174682e666c6f6f72286e2e6c6f67313028652e6d617829292c753d4d6174682e6365696c28652e6d61782f4d6174682e706f772831302c6c29293b303d3d3d733f28693d4d6174682e666c6f6f72286e2e6c6f67313028652e6d696e4e6f745a65726f29292c613d4d6174682e666c6f6f7228652e6d696e4e6f745a65726f2f4d6174682e706f772831302c6929292c722e707573682873292c733d612a4d6174682e706f772831302c6929293a28693d4d6174682e666c6f6f72286e2e6c6f673130287329292c613d4d6174682e666c6f6f7228732f4d6174682e706f772831302c692929293b666f722876617220643d693c303f4d6174682e706f772831302c4d6174682e616273286929293a313b722e707573682873292c31303d3d2b2b61262628613d312c643d2b2b693e3d303f313a64292c733d4d6174682e726f756e6428612a4d6174682e706f772831302c69292a64292f642c693c6c7c7c693d3d3d6c2626613c753b293b76617220683d6f28742e6d61782c73293b72657475726e20722e707573682868292c727d28612c74293b742e6d61783d6e2e6d61782872292c742e6d696e3d6e2e6d696e2872292c652e726576657273653f28693d21692c742e73746172743d742e6d61782c742e656e643d742e6d696e293a28742e73746172743d742e6d696e2c742e656e643d742e6d6178292c692626722e7265766572736528297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b746869732e7469636b56616c7565733d746869732e7469636b732e736c69636528292c742e5363616c652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b56616c7565735b745d297d2c5f67657446697273745469636b56616c75653a66756e6374696f6e2874297b76617220653d4d6174682e666c6f6f72286e2e6c6f673130287429293b72657475726e204d6174682e666c6f6f7228742f4d6174682e706f772831302c6529292a4d6174682e706f772831302c65297d2c676574506978656c466f7256616c75653a66756e6374696f6e2865297b76617220692c612c722c6f2c732c6c3d746869732c753d6c2e6f7074696f6e732e7469636b732e726576657273652c643d6e2e6c6f6731302c683d6c2e5f67657446697273745469636b56616c7565286c2e6d696e4e6f745a65726f292c633d303b72657475726e20653d2b6c2e676574526967687456616c75652865292c753f28723d6c2e656e642c6f3d6c2e73746172742c733d2d31293a28723d6c2e73746172742c6f3d6c2e656e642c733d31292c6c2e6973486f72697a6f6e74616c28293f28693d6c2e77696474682c613d753f6c2e72696768743a6c2e6c656674293a28693d6c2e6865696768742c732a3d2d312c613d753f6c2e746f703a6c2e626f74746f6d292c65213d3d72262628303d3d3d72262628692d3d633d6e2e67657456616c75654f7244656661756c74286c2e6f7074696f6e732e7469636b732e666f6e7453697a652c742e64656661756c74732e676c6f62616c2e64656661756c74466f6e7453697a65292c723d68292c30213d3d65262628632b3d692f2864286f292d64287229292a28642865292d6428722929292c612b3d732a63292c617d2c67657456616c7565466f72506978656c3a66756e6374696f6e2865297b76617220692c612c722c6f2c733d746869732c6c3d732e6f7074696f6e732e7469636b732e726576657273652c753d6e2e6c6f6731302c643d732e5f67657446697273745469636b56616c756528732e6d696e4e6f745a65726f293b6966286c3f28613d732e656e642c723d732e7374617274293a28613d732e73746172742c723d732e656e64292c732e6973486f72697a6f6e74616c28293f28693d732e77696474682c6f3d6c3f732e72696768742d653a652d732e6c656674293a28693d732e6865696768742c6f3d6c3f652d732e746f703a732e626f74746f6d2d65292c6f213d3d61297b696628303d3d3d61297b76617220683d6e2e67657456616c75654f7244656661756c7428732e6f7074696f6e732e7469636b732e666f6e7453697a652c742e64656661756c74732e676c6f62616c2e64656661756c74466f6e7453697a65293b6f2d3d682c692d3d682c613d647d6f2a3d752872292d752861292c6f2f3d692c6f3d4d6174682e706f772831302c752861292b6f297d72657475726e206f7d7d293b742e7363616c65536572766963652e72656769737465725363616c655479706528226c6f6761726974686d6963222c692c65297d7d2c7b33343a33342c34353a34357d5d2c35373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d6e2e676c6f62616c2c693d7b646973706c61793a21302c616e696d6174653a21302c706f736974696f6e3a22636861727441726561222c616e676c654c696e65733a7b646973706c61793a21302c636f6c6f723a227267626128302c20302c20302c20302e3129222c6c696e6557696474683a317d2c677269644c696e65733a7b63697263756c61723a21317d2c7469636b733a7b73686f774c6162656c4261636b64726f703a21302c6261636b64726f70436f6c6f723a2272676261283235352c3235352c3235352c302e373529222c6261636b64726f7050616464696e67593a322c6261636b64726f7050616464696e67583a322c63616c6c6261636b3a722e666f726d6174746572732e6c696e6561727d2c706f696e744c6162656c733a7b646973706c61793a21302c666f6e7453697a653a31302c63616c6c6261636b3a66756e6374696f6e2874297b72657475726e20747d7d7d3b66756e6374696f6e206f2874297b76617220653d742e6f7074696f6e733b72657475726e20652e616e676c654c696e65732e646973706c61797c7c652e706f696e744c6162656c732e646973706c61793f742e63686172742e646174612e6c6162656c732e6c656e6774683a307d66756e6374696f6e20732874297b76617220693d742e6f7074696f6e732e706f696e744c6162656c732c6e3d612e76616c75654f7244656661756c7428692e666f6e7453697a652c652e64656661756c74466f6e7453697a65292c723d612e76616c75654f7244656661756c7428692e666f6e745374796c652c652e64656661756c74466f6e745374796c65292c6f3d612e76616c75654f7244656661756c7428692e666f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79293b72657475726e7b73697a653a6e2c7374796c653a722c66616d696c793a6f2c666f6e743a612e666f6e74537472696e67286e2c722c6f297d7d66756e6374696f6e206c28742c652c692c6e2c61297b72657475726e20743d3d3d6e7c7c743d3d3d613f7b73746172743a652d692f322c656e643a652b692f327d3a743c6e7c7c743e613f7b73746172743a652d692d352c656e643a657d3a7b73746172743a652c656e643a652b692b357d7d66756e6374696f6e207528742c652c692c6e297b696628612e6973417272617928652929666f722876617220723d692e792c6f3d312e352a6e2c733d303b733c652e6c656e6774683b2b2b7329742e66696c6c5465787428655b735d2c692e782c72292c722b3d6f3b656c736520742e66696c6c5465787428652c692e782c692e79297d66756e6374696f6e20642874297b72657475726e20612e69734e756d6265722874293f743a307d76617220683d742e4c696e6561725363616c65426173652e657874656e64287b73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869732c693d742e6f7074696f6e732c6e3d692e7469636b733b742e77696474683d742e6d617857696474682c742e6865696768743d742e6d61784865696768742c742e7843656e7465723d4d6174682e726f756e6428742e77696474682f32292c742e7943656e7465723d4d6174682e726f756e6428742e6865696768742f32293b76617220723d612e6d696e285b742e6865696768742c742e77696474685d292c6f3d612e76616c75654f7244656661756c74286e2e666f6e7453697a652c652e64656661756c74466f6e7453697a65293b742e64726177696e67417265613d692e646973706c61793f722f322d286f2f322b6e2e6261636b64726f7050616464696e6759293a722f327d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e63686172742c693d4e756d6265722e504f5349544956455f494e46494e4954592c6e3d4e756d6265722e4e454741544956455f494e46494e4954593b612e6561636828652e646174612e64617461736574732c66756e6374696f6e28722c6f297b696628652e69734461746173657456697369626c65286f29297b76617220733d652e676574446174617365744d657461286f293b612e6561636828722e646174612c66756e6374696f6e28652c61297b76617220723d2b742e676574526967687456616c75652865293b69734e614e2872297c7c732e646174615b615d2e68696464656e7c7c28693d4d6174682e6d696e28722c69292c6e3d4d6174682e6d617828722c6e29297d297d7d292c742e6d696e3d693d3d3d4e756d6265722e504f5349544956455f494e46494e4954593f303a692c742e6d61783d6e3d3d3d4e756d6265722e4e454741544956455f494e46494e4954593f303a6e2c742e68616e646c655469636b52616e67654f7074696f6e7328297d2c6765745469636b4c696d69743a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b732c693d612e76616c75654f7244656661756c7428742e666f6e7453697a652c652e64656661756c74466f6e7453697a65293b72657475726e204d6174682e6d696e28742e6d61785469636b734c696d69743f742e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e64726177696e67417265612f28312e352a692929297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b742e4c696e6561725363616c65426173652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973292c746869732e706f696e744c6162656c733d746869732e63686172742e646174612e6c6162656c732e6d617028746869732e6f7074696f6e732e706f696e744c6162656c732e63616c6c6261636b2c74686973297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c6669743a66756e6374696f6e28297b76617220742c653b746869732e6f7074696f6e732e706f696e744c6162656c732e646973706c61793f66756e6374696f6e2874297b76617220652c692c6e2c723d732874292c753d4d6174682e6d696e28742e6865696768742f322c742e77696474682f32292c643d7b723a742e77696474682c6c3a302c743a742e6865696768742c623a307d2c683d7b7d3b742e6374782e666f6e743d722e666f6e742c742e5f706f696e744c6162656c53697a65733d5b5d3b76617220632c662c672c6d3d6f2874293b666f7228653d303b653c6d3b652b2b297b6e3d742e676574506f696e74506f736974696f6e28652c75292c633d742e6374782c663d722e73697a652c673d742e706f696e744c6162656c735b655d7c7c22222c693d612e697341727261792867293f7b773a612e6c6f6e676573745465787428632c632e666f6e742c67292c683a672e6c656e6774682a662b312e352a28672e6c656e6774682d31292a667d3a7b773a632e6d656173757265546578742867292e77696474682c683a667d2c742e5f706f696e744c6162656c53697a65735b655d3d693b76617220703d742e676574496e646578416e676c652865292c763d612e746f44656772656573287029253336302c793d6c28762c6e2e782c692e772c302c313830292c623d6c28762c6e2e792c692e682c39302c323730293b792e73746172743c642e6c262628642e6c3d792e73746172742c682e6c3d70292c792e656e643e642e72262628642e723d792e656e642c682e723d70292c622e73746172743c642e74262628642e743d622e73746172742c682e743d70292c622e656e643e642e62262628642e623d622e656e642c682e623d70297d742e736574526564756374696f6e7328752c642c68297d2874686973293a28743d746869732c653d4d6174682e6d696e28742e6865696768742f322c742e77696474682f32292c742e64726177696e67417265613d4d6174682e726f756e642865292c742e73657443656e746572506f696e7428302c302c302c3029297d2c736574526564756374696f6e733a66756e6374696f6e28742c652c69297b766172206e3d652e6c2f4d6174682e73696e28692e6c292c613d4d6174682e6d617828652e722d746869732e77696474682c30292f4d6174682e73696e28692e72292c723d2d652e742f4d6174682e636f7328692e74292c6f3d2d4d6174682e6d617828652e622d746869732e6865696768742c30292f4d6174682e636f7328692e62293b6e3d64286e292c613d642861292c723d642872292c6f3d64286f292c746869732e64726177696e67417265613d4d6174682e6d696e284d6174682e726f756e6428742d286e2b61292f32292c4d6174682e726f756e6428742d28722b6f292f3229292c746869732e73657443656e746572506f696e74286e2c612c722c6f297d2c73657443656e746572506f696e743a66756e6374696f6e28742c652c692c6e297b76617220613d746869732c723d612e77696474682d652d612e64726177696e67417265612c6f3d742b612e64726177696e67417265612c733d692b612e64726177696e67417265612c6c3d612e6865696768742d6e2d612e64726177696e67417265613b612e7843656e7465723d4d6174682e726f756e6428286f2b72292f322b612e6c656674292c612e7943656e7465723d4d6174682e726f756e642828732b6c292f322b612e746f70297d2c676574496e646578416e676c653a66756e6374696f6e2874297b72657475726e20742a28322a4d6174682e50492f6f287468697329292b28746869732e63686172742e6f7074696f6e732626746869732e63686172742e6f7074696f6e732e7374617274416e676c653f746869732e63686172742e6f7074696f6e732e7374617274416e676c653a30292a4d6174682e50492a322f3336307d2c67657444697374616e636546726f6d43656e746572466f7256616c75653a66756e6374696f6e2874297b6966286e756c6c3d3d3d742972657475726e20303b76617220653d746869732e64726177696e67417265612f28746869732e6d61782d746869732e6d696e293b72657475726e20746869732e6f7074696f6e732e7469636b732e726576657273653f28746869732e6d61782d74292a653a28742d746869732e6d696e292a657d2c676574506f696e74506f736974696f6e3a66756e6374696f6e28742c65297b76617220693d746869732e676574496e646578416e676c652874292d4d6174682e50492f323b72657475726e7b783a4d6174682e726f756e64284d6174682e636f732869292a65292b746869732e7843656e7465722c793a4d6174682e726f756e64284d6174682e73696e2869292a65292b746869732e7943656e7465727d7d2c676574506f696e74506f736974696f6e466f7256616c75653a66756e6374696f6e28742c65297b72657475726e20746869732e676574506f696e74506f736974696f6e28742c746869732e67657444697374616e636546726f6d43656e746572466f7256616c7565286529297d2c67657442617365506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e6d696e2c653d746869732e6d61783b72657475726e20746869732e676574506f696e74506f736974696f6e466f7256616c756528302c746869732e626567696e41745a65726f3f303a743c302626653c303f653a743e302626653e303f743a30297d2c647261773a66756e6374696f6e28297b76617220743d746869732c693d742e6f7074696f6e732c6e3d692e677269644c696e65732c723d692e7469636b732c6c3d612e76616c75654f7244656661756c743b696628692e646973706c6179297b76617220643d742e6374782c683d746869732e676574496e646578416e676c652830292c633d6c28722e666f6e7453697a652c652e64656661756c74466f6e7453697a65292c663d6c28722e666f6e745374796c652c652e64656661756c74466f6e745374796c65292c673d6c28722e666f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c6d3d612e666f6e74537472696e6728632c662c67293b612e6561636828742e7469636b732c66756e6374696f6e28692c73297b696628733e307c7c722e72657665727365297b76617220753d742e67657444697374616e636546726f6d43656e746572466f7256616c756528742e7469636b7341734e756d626572735b735d293b6966286e2e646973706c6179262630213d3d73262666756e6374696f6e28742c652c692c6e297b76617220723d742e6374783b696628722e7374726f6b655374796c653d612e76616c75654174496e6465784f7244656661756c7428652e636f6c6f722c6e2d31292c722e6c696e6557696474683d612e76616c75654174496e6465784f7244656661756c7428652e6c696e6557696474682c6e2d31292c742e6f7074696f6e732e677269644c696e65732e63697263756c617229722e626567696e5061746828292c722e61726328742e7843656e7465722c742e7943656e7465722c692c302c322a4d6174682e5049292c722e636c6f73655061746828292c722e7374726f6b6528293b656c73657b76617220733d6f2874293b696628303d3d3d732972657475726e3b722e626567696e5061746828293b766172206c3d742e676574506f696e74506f736974696f6e28302c69293b722e6d6f7665546f286c2e782c6c2e79293b666f722876617220753d313b753c733b752b2b296c3d742e676574506f696e74506f736974696f6e28752c69292c722e6c696e65546f286c2e782c6c2e79293b722e636c6f73655061746828292c722e7374726f6b6528297d7d28742c6e2c752c73292c722e646973706c6179297b76617220663d6c28722e666f6e74436f6c6f722c652e64656661756c74466f6e74436f6c6f72293b696628642e666f6e743d6d2c642e7361766528292c642e7472616e736c61746528742e7843656e7465722c742e7943656e746572292c642e726f746174652868292c722e73686f774c6162656c4261636b64726f70297b76617220673d642e6d656173757265546578742869292e77696474683b642e66696c6c5374796c653d722e6261636b64726f70436f6c6f722c642e66696c6c52656374282d672f322d722e6261636b64726f7050616464696e67582c2d752d632f322d722e6261636b64726f7050616464696e67592c672b322a722e6261636b64726f7050616464696e67582c632b322a722e6261636b64726f7050616464696e6759297d642e74657874416c69676e3d2263656e746572222c642e74657874426173656c696e653d226d6964646c65222c642e66696c6c5374796c653d662c642e66696c6c5465787428692c302c2d75292c642e726573746f726528297d7d7d292c28692e616e676c654c696e65732e646973706c61797c7c692e706f696e744c6162656c732e646973706c617929262666756e6374696f6e2874297b76617220693d742e6374782c6e3d742e6f7074696f6e732c723d6e2e616e676c654c696e65732c6c3d6e2e706f696e744c6162656c733b692e6c696e6557696474683d722e6c696e6557696474682c692e7374726f6b655374796c653d722e636f6c6f723b76617220642c682c632c662c673d742e67657444697374616e636546726f6d43656e746572466f7256616c7565286e2e7469636b732e726576657273653f742e6d696e3a742e6d6178292c6d3d732874293b692e74657874426173656c696e653d22746f70223b666f722876617220703d6f2874292d313b703e3d303b702d2d297b696628722e646973706c6179297b76617220763d742e676574506f696e74506f736974696f6e28702c67293b692e626567696e5061746828292c692e6d6f7665546f28742e7843656e7465722c742e7943656e746572292c692e6c696e65546f28762e782c762e79292c692e7374726f6b6528292c692e636c6f73655061746828297d6966286c2e646973706c6179297b76617220793d742e676574506f696e74506f736974696f6e28702c672b35292c623d612e76616c75654174496e6465784f7244656661756c74286c2e666f6e74436f6c6f722c702c652e64656661756c74466f6e74436f6c6f72293b692e666f6e743d6d2e666f6e742c692e66696c6c5374796c653d623b76617220783d742e676574496e646578416e676c652870292c5f3d612e746f446567726565732878293b692e74657874416c69676e3d303d3d3d28663d5f297c7c3138303d3d3d663f2263656e746572223a663c3138303f226c656674223a227269676874222c643d5f2c683d742e5f706f696e744c6162656c53697a65735b705d2c633d792c39303d3d3d647c7c3237303d3d3d643f632e792d3d682e682f323a28643e3237307c7c643c393029262628632e792d3d682e68292c7528692c742e706f696e744c6162656c735b705d7c7c22222c792c6d2e73697a65297d7d7d2874297d7d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282272616469616c4c696e656172222c682c69297d7d2c7b32353a32352c33343a33342c34353a34357d5d2c35383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742836293b6e3d2266756e6374696f6e223d3d747970656f66206e3f6e3a77696e646f772e6d6f6d656e743b76617220613d74283235292c723d74283435292c6f3d4e756d6265722e4d494e5f534146455f494e54454745527c7c2d393030373139393235343734303939312c733d4e756d6265722e4d41585f534146455f494e54454745527c7c393030373139393235343734303939312c6c3d7b6d696c6c697365636f6e643a7b636f6d6d6f6e3a21302c73697a653a312c73746570733a5b312c322c352c31302c32302c35302c3130302c3235302c3530305d7d2c7365636f6e643a7b636f6d6d6f6e3a21302c73697a653a3165332c73746570733a5b312c322c352c31302c33305d7d2c6d696e7574653a7b636f6d6d6f6e3a21302c73697a653a3665342c73746570733a5b312c322c352c31302c33305d7d2c686f75723a7b636f6d6d6f6e3a21302c73697a653a333665352c73746570733a5b312c322c332c362c31325d7d2c6461793a7b636f6d6d6f6e3a21302c73697a653a38363465352c73746570733a5b312c322c355d7d2c7765656b3a7b636f6d6d6f6e3a21312c73697a653a3630343865352c73746570733a5b312c322c332c345d7d2c6d6f6e74683a7b636f6d6d6f6e3a21302c73697a653a3236323865362c73746570733a5b312c322c335d7d2c717561727465723a7b636f6d6d6f6e3a21312c73697a653a3738383465362c73746570733a5b312c322c332c345d7d2c796561723a7b636f6d6d6f6e3a21302c73697a653a3331353465377d7d2c753d4f626a6563742e6b657973286c293b66756e6374696f6e206428742c65297b72657475726e20742d657d66756e6374696f6e20682874297b76617220652c692c6e2c613d7b7d2c723d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b6529615b6e3d745b655d5d7c7c28615b6e5d3d21302c722e70757368286e29293b72657475726e20727d66756e6374696f6e206328742c652c692c6e297b76617220613d66756e6374696f6e28742c652c69297b666f7228766172206e2c612c722c6f3d302c733d742e6c656e6774682d313b6f3e3d3026266f3c3d733b297b696628613d745b286e3d6f2b733e3e31292d315d7c7c6e756c6c2c723d745b6e5d2c21612972657475726e7b6c6f3a6e756c6c2c68693a727d3b696628725b655d3c69296f3d6e2b313b656c73657b6966282128615b655d3e69292972657475726e7b6c6f3a612c68693a727d3b733d6e2d317d7d72657475726e7b6c6f3a722c68693a6e756c6c7d7d28742c652c69292c723d612e6c6f3f612e68693f612e6c6f3a745b742e6c656e6774682d325d3a745b305d2c6f3d612e6c6f3f612e68693f612e68693a745b742e6c656e6774682d315d3a745b315d2c733d6f5b655d2d725b655d2c6c3d733f28692d725b655d292f733a302c753d286f5b6e5d2d725b6e5d292a6c3b72657475726e20725b6e5d2b757d66756e6374696f6e206628742c65297b76617220693d652e7061727365722c613d652e7061727365727c7c652e666f726d61743b72657475726e2266756e6374696f6e223d3d747970656f6620693f692874293a22737472696e67223d3d747970656f662074262622737472696e67223d3d747970656f6620613f6e28742c61293a287420696e7374616e63656f66206e7c7c28743d6e287429292c742e697356616c696428293f743a2266756e6374696f6e223d3d747970656f6620613f612874293a74297d66756e6374696f6e206728742c65297b696628722e69734e756c6c4f72556e6465662874292972657475726e206e756c6c3b76617220693d652e6f7074696f6e732e74696d652c6e3d6628652e676574526967687456616c75652874292c69293b72657475726e206e2e697356616c696428293f28692e726f756e6426266e2e73746172744f6628692e726f756e64292c6e2e76616c75654f662829293a6e756c6c7d66756e6374696f6e206d2874297b666f722876617220653d752e696e6465784f662874292b312c693d752e6c656e6774683b653c693b2b2b65296966286c5b755b655d5d2e636f6d6d6f6e2972657475726e20755b655d7d66756e6374696f6e207028742c652c692c61297b766172206f2c643d612e74696d652c683d642e756e69747c7c66756e6374696f6e28742c652c692c6e297b76617220612c722c6f2c643d752e6c656e6774683b666f7228613d752e696e6465784f662874293b613c642d313b2b2b61296966286f3d28723d6c5b755b615d5d292e73746570733f722e73746570735b722e73746570732e6c656e6774682d315d3a732c722e636f6d6d6f6e26264d6174682e6365696c2828692d65292f286f2a722e73697a6529293c3d6e2972657475726e20755b615d3b72657475726e20755b642d315d7d28642e6d696e556e69742c742c652c69292c633d6d2868292c663d722e76616c75654f7244656661756c7428642e7374657053697a652c642e756e69745374657053697a65292c673d227765656b223d3d3d682626642e69736f5765656b6461792c703d612e7469636b732e6d616a6f722e656e61626c65642c763d6c5b685d2c793d6e2874292c623d6e2865292c783d5b5d3b666f7228667c7c28663d66756e6374696f6e28742c652c692c6e297b76617220612c722c6f2c733d652d742c753d6c5b695d2c643d752e73697a652c683d752e73746570733b69662821682972657475726e204d6174682e6365696c28732f286e2a6429293b666f7228613d302c723d682e6c656e6774683b613c722626286f3d685b615d2c21284d6174682e6365696c28732f28642a6f29293c3d6e29293b2b2b61293b72657475726e206f7d28742c652c682c6929292c67262628793d792e69736f5765656b6461792867292c623d622e69736f5765656b646179286729292c793d792e73746172744f6628673f22646179223a68292c28623d622e73746172744f6628673f22646179223a6829293c652626622e61646428312c68292c6f3d6e2879292c7026266326262167262621642e726f756e642626286f2e73746172744f662863292c6f2e616464287e7e2828792d6f292f28762e73697a652a6629292a662c6829293b6f3c623b6f2e61646428662c682929782e70757368282b6f293b72657475726e20782e70757368282b6f292c787d652e6578706f7274733d66756e6374696f6e2874297b76617220653d742e5363616c652e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b696628216e297468726f77206e6577204572726f72282243686172742e6a73202d204d6f6d656e742e6a7320636f756c64206e6f7420626520666f756e642120596f75206d75737420696e636c756465206974206265666f72652043686172742e6a7320746f20757365207468652074696d65207363616c652e20446f776e6c6f61642061742068747470733a2f2f6d6f6d656e746a732e636f6d22293b746869732e6d657267655469636b734f7074696f6e7328292c742e5363616c652e70726f746f747970652e696e697469616c697a652e63616c6c2874686973297d2c7570646174653a66756e6374696f6e28297b76617220653d746869732e6f7074696f6e733b72657475726e20652e74696d652626652e74696d652e666f726d61742626636f6e736f6c652e7761726e28226f7074696f6e732e74696d652e666f726d6174206973206465707265636174656420616e64207265706c61636564206279206f7074696f6e732e74696d652e7061727365722e22292c742e5363616c652e70726f746f747970652e7570646174652e6170706c7928746869732c617267756d656e7473297d2c676574526967687456616c75653a66756e6374696f6e2865297b72657475726e20652626766f69642030213d3d652e74262628653d652e74292c742e5363616c652e70726f746f747970652e676574526967687456616c75652e63616c6c28746869732c65297d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220742c652c692c612c6c2c752c633d746869732c663d632e63686172742c6d3d632e6f7074696f6e732e74696d652c703d6d2e756e69747c7c22646179222c763d732c793d6f2c623d5b5d2c783d5b5d2c5f3d5b5d3b666f7228743d302c693d662e646174612e6c6162656c732e6c656e6774683b743c693b2b2b74295f2e70757368286728662e646174612e6c6162656c735b745d2c6329293b666f7228743d302c693d28662e646174612e64617461736574737c7c5b5d292e6c656e6774683b743c693b2b2b7429696628662e69734461746173657456697369626c65287429296966286c3d662e646174612e64617461736574735b745d2e646174612c722e69734f626a656374286c5b305d2929666f7228785b745d3d5b5d2c653d302c613d6c2e6c656e6774683b653c613b2b2b6529753d67286c5b655d2c63292c622e707573682875292c785b745d5b655d3d753b656c736520622e707573682e6170706c7928622c5f292c785b745d3d5f2e736c6963652830293b656c736520785b745d3d5b5d3b5f2e6c656e6774682626285f3d68285f292e736f72742864292c763d4d6174682e6d696e28762c5f5b305d292c793d4d6174682e6d617828792c5f5b5f2e6c656e6774682d315d29292c622e6c656e677468262628623d682862292e736f72742864292c763d4d6174682e6d696e28762c625b305d292c793d4d6174682e6d617828792c625b622e6c656e6774682d315d29292c763d67286d2e6d696e2c63297c7c762c793d67286d2e6d61782c63297c7c792c763d763d3d3d733f2b6e28292e73746172744f662870293a762c793d793d3d3d6f3f2b6e28292e656e644f662870292b313a792c632e6d696e3d4d6174682e6d696e28762c79292c632e6d61783d4d6174682e6d617828762b312c79292c632e5f686f72697a6f6e74616c3d632e6973486f72697a6f6e74616c28292c632e5f7461626c653d5b5d2c632e5f74696d657374616d70733d7b646174613a622c64617461736574733a782c6c6162656c733a5f7d7d2c6275696c645469636b733a66756e6374696f6e28297b76617220742c652c692c612c722c6f2c732c642c682c762c792c622c783d746869732c5f3d782e6d696e2c6b3d782e6d61782c773d782e6f7074696f6e732c4d3d772e74696d652c533d5b5d2c443d5b5d3b73776974636828772e7469636b732e736f75726365297b636173652264617461223a533d782e5f74696d657374616d70732e646174613b627265616b3b63617365226c6162656c73223a533d782e5f74696d657374616d70732e6c6162656c733b627265616b3b63617365226175746f223a64656661756c743a533d70285f2c6b2c782e6765744c6162656c4361706163697479285f292c77297d666f7228227469636b73223d3d3d772e626f756e64732626532e6c656e6774682626285f3d535b305d2c6b3d535b532e6c656e6774682d315d292c5f3d67284d2e6d696e2c78297c7c5f2c6b3d67284d2e6d61782c78297c7c6b2c743d302c653d532e6c656e6774683b743c653b2b2b742928693d535b745d293e3d5f2626693c3d6b2626442e707573682869293b72657475726e20782e6d696e3d5f2c782e6d61783d6b2c782e5f756e69743d4d2e756e69747c7c66756e6374696f6e28742c652c692c61297b76617220722c6f2c733d6e2e6475726174696f6e286e2861292e64696666286e28692929293b666f7228723d752e6c656e6774682d313b723e3d752e696e6465784f662865293b722d2d296966286f3d755b725d2c6c5b6f5d2e636f6d6d6f6e2626732e6173286f293e3d742e6c656e6774682972657475726e206f3b72657475726e20755b653f752e696e6465784f662865293a305d7d28442c4d2e6d696e556e69742c782e6d696e2c782e6d6178292c782e5f6d616a6f72556e69743d6d28782e5f756e6974292c782e5f7461626c653d66756e6374696f6e28742c652c692c6e297b696628226c696e656172223d3d3d6e7c7c21742e6c656e6774682972657475726e5b7b74696d653a652c706f733a307d2c7b74696d653a692c706f733a317d5d3b76617220612c722c6f2c732c6c2c753d5b5d2c643d5b655d3b666f7228613d302c723d742e6c656e6774683b613c723b2b2b612928733d745b615d293e652626733c692626642e707573682873293b666f7228642e707573682869292c613d302c723d642e6c656e6774683b613c723b2b2b61296c3d645b612b315d2c6f3d645b612d315d2c733d645b615d2c766f69642030213d3d6f2626766f69642030213d3d6c26264d6174682e726f756e6428286c2b6f292f32293d3d3d737c7c752e70757368287b74696d653a732c706f733a612f28722d31297d293b72657475726e20757d28782e5f74696d657374616d70732e646174612c5f2c6b2c772e646973747269627574696f6e292c782e5f6f6666736574733d28613d782e5f7461626c652c723d442c6f3d5f2c733d6b2c793d302c623d302c28643d77292e6f66667365742626722e6c656e677468262628642e74696d652e6d696e7c7c28683d722e6c656e6774683e313f725b315d3a732c763d725b305d2c793d286328612c2274696d65222c682c22706f7322292d6328612c2274696d65222c762c22706f732229292f32292c642e74696d652e6d61787c7c28683d725b722e6c656e6774682d315d2c763d722e6c656e6774683e313f725b722e6c656e6774682d325d3a6f2c623d286328612c2274696d65222c682c22706f7322292d6328612c2274696d65222c762c22706f732229292f3229292c7b6c6566743a792c72696768743a627d292c782e5f6c6162656c466f726d61743d66756e6374696f6e28742c65297b76617220692c6e2c612c723d742e6c656e6774683b666f7228693d303b693c723b692b2b297b69662830213d3d286e3d6628745b695d2c6529292e6d696c6c697365636f6e6428292972657475726e224d4d4d20442c205959595920683a6d6d3a73732e5353532061223b303d3d3d6e2e7365636f6e6428292626303d3d3d6e2e6d696e75746528292626303d3d3d6e2e686f757228297c7c28613d2130297d72657475726e20613f224d4d4d20442c205959595920683a6d6d3a73732061223a224d4d4d20442c2059595959227d28782e5f74696d657374616d70732e646174612c4d292c66756e6374696f6e28742c65297b76617220692c612c722c6f2c733d5b5d3b666f7228693d302c613d742e6c656e6774683b693c613b2b2b6929723d745b695d2c6f3d2121652626723d3d3d2b6e2872292e73746172744f662865292c732e70757368287b76616c75653a722c6d616a6f723a6f7d293b72657475726e20737d28442c782e5f6d616a6f72556e6974297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612c6e3d746869732e6f7074696f6e732e74696d652c613d692e6c6162656c732626743c692e6c6162656c732e6c656e6774683f692e6c6162656c735b745d3a22222c6f3d692e64617461736574735b655d2e646174615b745d3b72657475726e20722e69734f626a656374286f29262628613d746869732e676574526967687456616c7565286f29292c6e2e746f6f6c746970466f726d61743f6628612c6e292e666f726d6174286e2e746f6f6c746970466f726d6174293a22737472696e67223d3d747970656f6620613f613a6628612c6e292e666f726d617428746869732e5f6c6162656c466f726d6174297d2c7469636b466f726d617446756e6374696f6e3a66756e6374696f6e28742c652c692c6e297b76617220613d746869732e6f7074696f6e732c6f3d742e76616c75654f6628292c733d612e74696d652e646973706c6179466f726d6174732c6c3d735b746869732e5f756e69745d2c753d746869732e5f6d616a6f72556e69742c643d735b755d2c683d742e636c6f6e6528292e73746172744f662875292e76616c75654f6628292c633d612e7469636b732e6d616a6f722c663d632e656e61626c656426267526266426266f3d3d3d682c673d742e666f726d6174286e7c7c28663f643a6c29292c6d3d663f633a612e7469636b732e6d696e6f722c703d722e76616c75654f7244656661756c74286d2e63616c6c6261636b2c6d2e7573657243616c6c6261636b293b72657475726e20703f7028672c652c69293a677d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e2874297b76617220652c692c613d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b6529612e7075736828746869732e7469636b466f726d617446756e6374696f6e286e28745b655d2e76616c7565292c652c7429293b72657475726e20617d2c676574506978656c466f724f66667365743a66756e6374696f6e2874297b76617220653d746869732c693d652e5f686f72697a6f6e74616c3f652e77696474683a652e6865696768742c6e3d652e5f686f72697a6f6e74616c3f652e6c6566743a652e746f702c613d6328652e5f7461626c652c2274696d65222c742c22706f7322293b72657475726e206e2b692a28652e5f6f6666736574732e6c6566742b61292f28652e5f6f6666736574732e6c6566742b312b652e5f6f6666736574732e7269676874297d2c676574506978656c466f7256616c75653a66756e6374696f6e28742c652c69297b766172206e3d6e756c6c3b696628766f69642030213d3d652626766f69642030213d3d692626286e3d746869732e5f74696d657374616d70732e64617461736574735b695d5b655d292c6e756c6c3d3d3d6e2626286e3d6728742c7468697329292c6e756c6c213d3d6e2972657475726e20746869732e676574506978656c466f724f6666736574286e297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b76617220653d746869732e6765745469636b7328293b72657475726e20743e3d302626743c652e6c656e6774683f746869732e676574506978656c466f724f666673657428655b745d2e76616c7565293a6e756c6c7d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732c693d652e5f686f72697a6f6e74616c3f652e77696474683a652e6865696768742c613d652e5f686f72697a6f6e74616c3f652e6c6566743a652e746f702c723d28693f28742d61292f693a30292a28652e5f6f6666736574732e6c6566742b312b652e5f6f6666736574732e6c656674292d652e5f6f6666736574732e72696768742c6f3d6328652e5f7461626c652c22706f73222c722c2274696d6522293b72657475726e206e286f297d2c6765744c6162656c57696474683a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e7469636b732c693d746869732e6374782e6d656173757265546578742874292e77696474682c6e3d722e746f52616469616e7328652e6d6178526f746174696f6e292c6f3d4d6174682e636f73286e292c733d4d6174682e73696e286e293b72657475726e20692a6f2b722e76616c75654f7244656661756c7428652e666f6e7453697a652c612e676c6f62616c2e64656661756c74466f6e7453697a65292a737d2c6765744c6162656c43617061636974793a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e74696d652e646973706c6179466f726d6174732e6d696c6c697365636f6e642c693d746869732e7469636b466f726d617446756e6374696f6e286e2874292c302c5b5d2c65292c613d746869732e6765744c6162656c57696474682869292c723d746869732e6973486f72697a6f6e74616c28293f746869732e77696474683a746869732e6865696768742c6f3d4d6174682e666c6f6f7228722f61293b72657475726e206f3e303f6f3a317d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282274696d65222c652c7b706f736974696f6e3a22626f74746f6d222c646973747269627574696f6e3a226c696e656172222c626f756e64733a2264617461222c74696d653a7b7061727365723a21312c666f726d61743a21312c756e69743a21312c726f756e643a21312c646973706c6179466f726d61743a21312c69736f5765656b6461793a21312c6d696e556e69743a226d696c6c697365636f6e64222c646973706c6179466f726d6174733a7b6d696c6c697365636f6e643a22683a6d6d3a73732e5353532061222c7365636f6e643a22683a6d6d3a73732061222c6d696e7574653a22683a6d6d2061222c686f75723a226841222c6461793a224d4d4d2044222c7765656b3a226c6c222c6d6f6e74683a224d4d4d2059595959222c717561727465723a225b515d51202d2059595959222c796561723a2259595959227d7d2c7469636b733a7b6175746f536b69703a21312c736f757263653a226175746f222c6d616a6f723a7b656e61626c65643a21317d7d7d297d7d2c7b32353a32352c34353a34352c363a367d5d7d2c7b7d2c5b375d292837297d293b',0,0,'2018-08-28T20:50:36.130Z','2018-08-28T20:50:36.133Z','file','application/x-javascript','V1Cptt9Tgu'); -INSERT INTO notes VALUES('L9qettZi0csz','TODO','',0,0,'2018-08-28T20:50:48.468Z','2018-08-28T20:50:48.468Z','text','text/html','pYhbMrsilQ'); -INSERT INTO notes VALUES('Dyahpf7LroQY','Locations','',0,0,'2018-08-28T20:50:48.478Z','2018-08-28T20:50:48.478Z','text','text/html','T5ttXvR2+2'); -INSERT INTO notes VALUES('nUgD4SYx2gt7','Tags','',0,0,'2018-08-28T20:50:48.506Z','2018-08-28T20:50:48.506Z','text','text/html','f5a1WP0Pz5'); -INSERT INTO notes VALUES('9HHqPxJkLAkl','Done','',0,0,'2018-08-28T20:50:48.527Z','2018-08-28T20:50:48.527Z','text','text/html','3M1b9ysLaG'); -INSERT INTO notes VALUES('hL4rychNFWZs','Implementation','',0,0,'2018-08-28T20:50:48.537Z','2018-08-28T20:50:48.537Z','text','text/html','8fnUKl/ty7'); -INSERT INTO notes VALUES('vVhlPtM5YgWe','reconcileAssignments',replace('module.exports = async function(note, categoryRootNote, assignedCategories, labelName, isTaskDone) {\n const found = {};\n \n for (const categoryNote of await categoryRootNote.getChildNotes()) {\n const label = await categoryNote.getLabel(labelName);\n \n if (label) {\n found[label.value] = !isTaskDone && assignedCategories.includes(label.value);\n\n await api.toggleNoteInParent(found[label.value], note.noteId, categoryNote.noteId);\n }\n }\n \n if (!isTaskDone) {\n for (const assignedCategory of assignedCategories) {\n if (!found[assignedCategory]) {\n const categoryNote = (await api.createNote(categoryRootNote.noteId, assignedCategory, "", {\n attributes: [ { type: "label", name: labelName, value: assignedCategory } ]\n })).note;\n\n await api.ensureNoteIsPresentInParent(note.noteId, categoryNote.noteId);\n }\n }\n }\n}','\n',char(10)),0,0,'2018-08-28T20:50:48.554Z','2018-08-28T20:50:48.554Z','code','application/javascript;env=backend','4jq+oVoENR'); -INSERT INTO notes VALUES('XVlWndK4Oh6A','button',replace('api.addButtonToToolbar({\n title: ''New task'',\n icon: ''check'',\n shortcut: ''alt+n'',\n action: async () => {\n // creating notes is backend (server) responsibility so we need to pass\n // the control there\n const taskNoteId = await api.runOnServer(async () => {\n const todoRootNote = await api.getNoteWithLabel(''taskTodoRoot'');\n const {note} = await api.createNote(todoRootNote.noteId, ''new task'', '''');\n\n return note.noteId;\n });\n\n // we got an ID of newly created note and we want to immediatelly display it\n await api.activateNewNote(taskNoteId);\n }\n});','\n',char(10)),0,0,'2018-08-28T20:50:48.571Z','2018-08-28T20:50:48.571Z','code','application/javascript;env=frontend','MIRJnm9haL'); -INSERT INTO notes VALUES('HbtlYiMvmm4V','task template','',0,0,'2018-08-28T20:50:48.588Z','2018-08-28T20:50:48.588Z','text','text/html','HRae/qx7tU'); -INSERT INTO notes VALUES('8LOr7xUMuWD4','Weight Tracker','',0,0,'2018-08-28T20:50:36.063Z','2018-08-28T20:54:28.613Z','render','text/html','lE5vjoJhJ1'); -INSERT INTO notes VALUES('WkdQrYTnsgxP','Person template','',0,0,'2018-08-28T20:50:22.248Z','2018-08-28T20:50:22.248Z','text','text/html','esiFC4lNuK'); -INSERT INTO notes VALUES('gYVdjKAJeImD','attribute changed',replace('if (!["task", "location", "tag", "todoDate", "doneDate"].includes(api.originEntity.name)) {\n return;\n}\n\nconst note = await api.originEntity.getNote();\n \nconst attributes = await note.getAttributes();\n\nconst todoDate = await note.getLabelValue(''todoDate'');\nconst doneDate = await note.getLabelValue(''doneDate'');\nconst isTaskDone = !!doneDate;\n\nconst doneRootNote = await api.getNoteWithLabel(''taskDoneRoot'');\nawait api.toggleNoteInParent(isTaskDone, note.noteId, doneRootNote.noteId);\n\nconst todoRootNote = await api.getNoteWithLabel(''taskTodoRoot'');\nawait api.toggleNoteInParent(!isTaskDone, note.noteId, todoRootNote.noteId);\n\nconst location = await note.getLabelValue(''location'');\nconst locationRootNote = await api.getNoteWithLabel(''taskLocationRoot'');\n\nawait reconcileAssignments(note, locationRootNote, location ? [location] : [], ''taskLocationNote'', isTaskDone);\n\nconst tags = attributes.filter(attr => attr.type === ''label'' && attr.name === ''tag'').map(attr => attr.value);\nconst tagRootNote = await api.getNoteWithLabel(''taskTagRoot'');\n\nawait reconcileAssignments(note, tagRootNote, tags, ''taskTagNote'', isTaskDone);\n\nawait note.toggleLabel(isTaskDone, "cssClass", "done");\n\nconst doneTargetNoteId = isTaskDone ? (await api.getDateNote(doneDate)).noteId : null;\nawait api.setNoteToParent(note.noteId, ''DONE'', doneTargetNoteId);\n\nawait note.toggleLabel(!isTaskDone, "cssClass", "todo");\n\nconst todoTargetNoteId = (!isTaskDone && todoDate) ? (await api.getDateNote(todoDate)).noteId : null;\nawait api.setNoteToParent(note.noteId, ''TODO'', todoTargetNoteId);\n\napi.refreshTree();','\n',char(10)),0,0,'2018-08-28T20:50:48.544Z','2018-08-28T21:09:56.952Z','code','application/javascript;env=backend','fQ4P19nxKC'); -INSERT INTO notes VALUES('HJusZTbBU494','2017','',0,0,'2017-12-23T01:20:50.709Z','2018-08-29T10:50:44.040Z','text','text/html','saDLHhHxyV'); -INSERT INTO notes VALUES('6ZuXjCSWgjB4','11 - November','',0,0,'2017-12-23T03:44:45.351Z','2018-08-29T10:50:53.409Z','text','text/html','luxpsFeYil'); -INSERT INTO notes VALUES('3oldoiMUPOlr','12 - December','',0,0,'2017-12-23T01:20:55.775Z','2018-08-29T10:50:59.032Z','text','text/html','HYUoWI4aLr'); -INSERT INTO notes VALUES('WdWZFuWNVDZk','Tech','

Expand note on the left pane to see content.

',0,0,'2017-12-23T04:06:16.179Z','2018-08-29T16:03:57.219Z','text','text/html','iIbiynQV+8'); -INSERT INTO notes VALUES('TlGCAdcfxkOT','Book template','',0,0,'2018-08-29T17:11:16.540Z','2018-08-29T17:11:22.540Z','text','text/html','C8OpYciam7'); -INSERT INTO notes VALUES('eXHZAKsMYgur','Books','

Expand note on the left pane to see content.

',0,0,'2017-12-23T03:32:42.868Z','2018-08-29T17:20:44.779Z','text','text/html','TZ3NhLjTK3'); -INSERT INTO notes VALUES('Lt8IUldw7d7H','Day template','',0,0,'2018-08-29T17:23:45.189Z','2018-08-29T17:23:52.521Z','text','text/html','1V3BTW/Qzw'); -INSERT INTO notes VALUES('GpGnjmcAPeWG','28 - Tuesday','',0,0,'2017-12-23T03:44:57.036Z','2018-08-29T17:28:22.525Z','text','text/html','JdiPCl+HVd'); -INSERT INTO notes VALUES('Iha4YwchR413','21 - Thursday','',0,0,'2017-12-23T03:44:21.176Z','2018-08-29T17:28:27.526Z','text','text/html','nf9l6wd8vt'); -INSERT INTO notes VALUES('rUsGgtpohm7T','23 - Saturday','',0,0,'2018-08-29T17:29:32.934Z','2018-08-29T17:29:42.287Z','text','text/html','BugaZKKDJ+'); -INSERT INTO notes VALUES('sXti7HgialF2','24 - Sunday - Christmas Eve!','',0,0,'2018-08-29T17:29:43.127Z','2018-08-29T17:29:57.523Z','text','text/html','RfShVwTOAB'); -INSERT INTO notes VALUES('1Fi3MpUkZkLk','20 - Wednesday','',0,0,'2018-08-29T17:29:02.025Z','2018-08-29T17:30:42.516Z','text','text/html','xiDILk3qhD'); -INSERT INTO notes VALUES('uP3V8BqwXC05','Buy milk','',0,0,'2018-08-29T19:42:32.712Z','2018-08-29T19:42:38.958Z','text','text/html','PGFo1+haU8'); -INSERT INTO notes VALUES('Z4CC9azzMNhg','tesco','',0,0,'2018-08-29T19:42:47.853Z','2018-08-29T19:42:47.853Z','text','text/html','I6EArEtFH/'); -INSERT INTO notes VALUES('q6A62bZE2R1r','groceries','',0,0,'2018-08-29T19:42:51.137Z','2018-08-29T19:42:51.137Z','text','text/html','mSbxrm1pq+'); -INSERT INTO notes VALUES('tQmqkQOMHgQJ','mall','',0,0,'2018-08-29T19:43:40.321Z','2018-08-29T19:43:40.321Z','text','text/html','tRORZ6Y92z'); -INSERT INTO notes VALUES('Lom0LEnCes1l','christmas','',0,0,'2018-08-29T19:43:44.020Z','2018-08-29T19:43:44.020Z','text','text/html','V8diNwZGLR'); -INSERT INTO notes VALUES('ydix6JqjXiUm','Maybe Black Swan?','

https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable

 

The Black Swan: The Impact of the Highly Improbable is a 2007 book by author and former options trader Nassim Nicholas Taleb. The book focuses on the extreme impact of rare and unpredictable outlier events — and the human tendency to find simplistic explanations for these events, retrospectively. Taleb calls this the Black Swan theory.

',0,0,'2018-08-29T19:46:03.348Z','2018-08-29T19:46:18.965Z','text','text/html','ma55jm1LJ6'); -INSERT INTO notes VALUES('XoLNnnlwdjBi','Buy some book for Bob','

Bob likes to read popular science books so something like that ..

',0,0,'2018-08-29T19:43:06.385Z','2018-08-29T19:46:33.959Z','text','text/html','/8VtxyCmab'); -INSERT INTO notes VALUES('EluAg7EiealE','Get a gym membership','

Just in time for new years resolution!

',0,0,'2018-08-29T19:53:44.526Z','2018-08-29T19:54:18.702Z','text','text/html','/UwbTs3YGO'); -INSERT INTO notes VALUES('vkoNZlNO5TO4','gym','',0,0,'2018-08-29T19:54:19.614Z','2018-08-29T19:54:19.614Z','text','text/html','6ZdjkVrgjU'); -INSERT INTO notes VALUES('cUWgYJfpp8G8','28 - Thursday','',0,0,'2018-08-29T19:55:04.659Z','2018-08-29T19:55:04.659Z','text','text/html','g96BaV8SGj'); -INSERT INTO notes VALUES('cmYy3Z22F4MY','Dentist appointment','',0,0,'2018-08-29T19:56:35.605Z','2018-08-29T19:56:43.698Z','text','text/html','rNyV4tYv7n'); -INSERT INTO notes VALUES('2V9Zg9CXdNvn','health','',0,0,'2018-08-29T19:57:02.268Z','2018-08-29T19:57:02.268Z','text','text/html','QQYGpa/4DF'); -INSERT INTO notes VALUES('d04CnuZxPXj2','shopping','',0,0,'2018-08-29T19:58:59.133Z','2018-08-29T19:58:59.133Z','text','text/html','wWU276L2X9'); -INSERT INTO notes VALUES('TTl2nD4CqzC9','work','',0,0,'2018-08-29T19:59:38.878Z','2018-08-29T19:59:38.878Z','text','text/html','hIuAZE3DRY'); -INSERT INTO notes VALUES('ve3Ib30x9nGf','Send invites for christmas party','',0,0,'2018-08-29T19:59:04.328Z','2018-08-29T19:59:39.777Z','text','text/html','d1/wzQEAwD'); -INSERT INTO notes VALUES('MG0wntwILQW6','22 - Friday','',0,0,'2017-12-23T01:21:10.517Z','2018-08-29T20:01:14.789Z','text','text/html','Jus3ysHko7'); -INSERT INTO notes VALUES('cwPuYRAGKtUi','19 - Tuesday','',0,0,'2018-08-29T17:29:16.628Z','2018-08-29T17:29:24.733Z','text','text/html','zzBNYSR1hq'); -INSERT INTO notes VALUES('7H3OrcgB8Io6','Meeting minutes','

bla bla bla ...

',0,0,'2018-08-29T21:26:55.803Z','2018-08-29T21:27:10.698Z','text','text/html','Ihj8K5PcrT'); -INSERT INTO notes VALUES('tX80udgxnW5n','18 - Monday','

Miscellaneous notes done on monday ...

 

Interesting video: https://www.youtube.com/watch?v=_eSAF_qT_FY&feature=youtu.be

 

 

',0,0,'2018-08-29T17:29:24.548Z','2018-08-29T21:28:50.683Z','text','text/html','3ZuNMUCKI6'); -INSERT INTO notes VALUES('qEi5St9PBPCP','Button',replace('api.addButtonToToolbar({\n title: ''Weight Tracker'',\n icon: ''star'',\n action: () => api.activateNote(''8LOr7xUMuWD4'')\n});','\n',char(10)),0,0,'2018-08-28T20:50:36.150Z','2018-08-28T21:01:26.563Z','code','application/javascript;env=frontend','N9f0m+DlQA'); -INSERT INTO notes VALUES('kV2NwNNvepGF','JS code',replace('async function getChartData() {\n const days = await api.runOnServer(async () => {\n const notes = await api.getNotesWithLabel(''weight'');\n const days = [];\n\n for (const note of notes) {\n const date = await note.getLabelValue(''dateNote'');\n const weight = parseFloat(await note.getLabelValue(''weight''));\n\n if (date && weight) {\n days.push({ date, weight });\n }\n }\n\n days.sort((a, b) => a.date > b.date ? 1 : -1);\n\n return days;\n });\n\n const datasets = [\n {\n label: "Weight (kg)",\n backgroundColor: ''red'',\n borderColor: ''red'',\n data: days.map(day => day.weight),\n fill: false,\n spanGaps: true,\n datalabels: {\n display: false\n }\n }\n ];\n\n return {\n datasets: datasets,\n labels: days.map(day => day.date)\n };\n}\n\nconst ctx = $("#canvas")[0].getContext("2d");\n\nnew chartjs.Chart(ctx, {\n type: ''line'',\n data: await getChartData()\n});','\n',char(10)),0,0,'2018-08-28T20:50:36.092Z','2018-08-29T22:14:00.701Z','code','application/javascript;env=frontend','w+OzbwCEwQ'); -INSERT INTO notes VALUES('Dk5RGYzufXg3','JS code',replace('const persons = await api.runOnServer(async () => {\n const relationMapping = {\n isPartnerOf: "isPartnerOf",\n isChildOf: "hasChild",\n hasChild: "isChildOf"\n };\n \n const familyContainer = await api.originEntity.getRelationTarget(''familyContainer'');\n \n const persons = await familyContainer.findChildNotesWithLabel(''person'');\n const map = {};\n \n for (const person of persons) {\n const src = map[person.noteId] = map[person.noteId] || {};\n src.title = person.title;\n src.dateOfBirth = await person.getLabelValue(''dateOfBirth'') || '''';\n src.dateOfDeath = await person.getLabelValue(''dateOfDeath'') || '''';\n \n for (const relation of await person.getRelations()) {\n src[relation.name] = src[relation.name] || [];\n src[relation.name].push(relation.value);\n \n const trg = persons[relation.value] = persons[relation.value] || {};\n const inverseRelation = relationMapping[relation.name];\n \n trg[inverseRelation] = trg[inverseRelation] || [];\n trg[inverseRelation].push(person.noteId);\n }\n }\n \n return map;\n});\n\n// Create the input graph\nvar g = new dagreD3.graphlib.Graph()\n .setGraph({\n rankdir: "TB",\n ranksep: 100\n })\n .setDefaultEdgeLabel(function() { return {}; });\n\nfor (const noteId in persons) {\n const person = persons[noteId];\n \n const noteLink = await api.createNoteLink(noteId);\n \n g.setNode(noteId, { labelType: ''html'', label: noteLink[0].outerHTML \n + `
${person.dateOfBirth.substr(0, 4)} - ${person.dateOfDeath.substr(0, 4)}
` });\n \n for (const childNoteId of (person.hasChild || [])) {\n g.setEdge(noteId, childNoteId);\n }\n}\n\ng.nodes().forEach(function(v) {\n var node = g.node(v);\n // Round the corners of the nodes\n node.rx = node.ry = 5;\n});\n\n// Create the renderer\nvar render = new dagreD3.render();\n\n// Set up an SVG group so that we can translate the final graph.\nvar svg = d3.select("svg"),\n svgGroup = svg.append("g");\n\n// Run the renderer. This is what draws the final graph.\nrender(d3.select("svg g"), g);\n\n// Center the graph\nvar xCenterOffset = (svg.attr("width") - g.graph().width) / 2;\nsvgGroup.attr("transform", "translate(" + xCenterOffset + ", 20)");\nsvg.attr("height", g.graph().height + 40);','\n',char(10)),0,0,'2018-08-28T20:50:21.939Z','2018-08-29T22:14:10.701Z','code','application/javascript;env=frontend','4CRzHnTsUv'); -INSERT INTO notes VALUES('ucC6Zabv3Uml','CS',replace('/* This sets the color for "TK" nodes to a light blue green. */\ng.type-TK > rect {\n fill: #00ffd0;\n}\n\ntext {\n font-weight: 300;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serf;\n font-size: 14px;\n}\n\n.node rect {\n stroke: #999;\n fill: #fff;\n stroke-width: 1.5px;\n}\n\n.edgePath path {\n stroke: #333;\n stroke-width: 1.5px;\n}','\n',char(10)),0,0,'2018-08-28T20:50:22.120Z','2018-08-29T22:14:15.695Z','code','text/css','i19l+E0YSl'); -INSERT INTO notes VALUES('gYNJtGEPGW95','CSS',replace('span.fancytree-node.todo .fancytree-title {\n color: red !important;\n}\n\nspan.fancytree-node.done .fancytree-title {\n color: green !important;\n}','\n',char(10)),0,0,'2018-08-28T20:50:48.581Z','2018-08-29T22:14:28.006Z','code','text/css','gz0KCewmIx'); -INSERT INTO notes VALUES('s0Hhsl0nb1bg','Queen Elizabeth II.','

 

Elizabeth II (Elizabeth Alexandra Mary; born 21 April 1926)[a] is Queen of the United Kingdom and the other Commonwealth realms.

 

Elizabeth was born in London as the first child of the Duke and Duchess of York, later King George VI and Queen Elizabeth, and she was educated privately at home. Her father acceded to the throne on the abdication of his brother King Edward VIII in 1936, from which time she was the heir presumptive. She began to undertake public duties during the Second World War, serving in the Auxiliary Territorial Service. In 1947, she married Philip, Duke of Edinburgh, a former prince of Greece and Denmark, with whom she has four children: Charles, Prince of Wales; Anne, Princess Royal; Andrew, Duke of York; and Edward, Earl of Wessex.

 

When her father died in February 1952, she became Head of the Commonwealth and queen regnant of seven independent Commonwealth countries: the United Kingdom, Canada, Australia, New Zealand, South Africa, Pakistan, and Ceylon.

',0,0,'2018-08-28T20:50:22.196Z','2018-08-29T22:32:40.728Z','text','text/html','Fno0n5c24z'); -INSERT INTO notes VALUES('prjUbW6QtsL4','Buy a board game for Alice','

 

Maybe CodeNames? https://boardgamegeek.com/boardgame/178900/codenames

',0,0,'2018-08-29T19:46:42.135Z','2018-08-30T07:54:16.980Z','text','text/html','p1mvpEr0ca'); -INSERT INTO notes VALUES('IYKhW6LTUpwP','Task manager','

This is a simple TODO/Task manager. You can see some description and explanation here: https://github.com/zadam/trilium/wiki/Task-manager

',0,0,'2018-08-28T20:50:48.441Z','2018-08-30T20:30:03.023Z','text','text/html','Zja0huapqL'); -INSERT INTO notes VALUES('3RkyK9LI18dO','Journal','

You can read some explanation on how this journal works here: https://github.com/zadam/trilium/wiki/Day-notes

',0,0,'2017-12-23T01:20:04.181Z','2018-08-30T20:30:53.042Z','text','text/html','Ul+t07+mD1'); -INSERT INTO notes VALUES('root','root','

This is a root of the note tree, it is the "ancestor" of all notes. 

',0,0,'2017-12-22T11:41:07.000Z','2018-08-30T20:32:58.029Z','text','text/html','dWViNNtQWM'); -INSERT INTO notes VALUES('YBAcWV8TjYEp','Implementation',replace('See explanation here.\n\n','\n',char(10)),0,0,'2018-08-28T20:55:00.059Z','2018-09-01T11:44:41.765Z','code','text/html','+mtQ+1OT7B'); -INSERT INTO notes VALUES('Z5yhGE5g0UB5','Implementation',replace('See explanation here.\n\n','\n',char(10)),0,0,'2018-08-28T20:51:10.186Z','2018-09-01T11:45:01.572Z','code','text/html','Q0gufHRIeL'); -INSERT INTO notes VALUES('i3cLVxiO6GlW','School schedule','
 MondayTuesdayWednesdayThursdayFriday
9:00-10:30P.E. MathComputer Science 
11:00-12:30HistoryEnglish PhysicsMath
13:00-14:30 Computer ScienceChemistryPhysics LabGeography
15:00-16:30Computer Science Latin  
',0,0,'2018-09-01T11:47:52.491Z','2018-09-01T11:54:23.942Z','text','text/html','WR30QWUdQa'); -INSERT INTO notes VALUES('1Heh2acXfPNt','Trilium Demo','

Welcome to Trilium Notes!

This is initial "demo" document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.

If you need any help, visit Trilium website: https://github.com/zadam/trilium

Cleanup

Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.

Formatting

Trilium supports classic formatting like italic, bold, bold and italic. Of course you can add links like this one pointing to google.com

Lists

Ordered:

  1. First Item
  2. Second item
    1. First sub-item
      1. sub-sub-item

Unordered:

  • Item
  • Another item
    • Sub-item

Block quotes

Whereof one cannot speak, thereof one must be silent”

– Ludwig Wittgenstein

',0,0,'2017-12-23T00:46:39.304Z','2018-09-03T18:10:25.547Z','text','text/html','tzub15jz32'); -INSERT INTO notes VALUES('mw4f2xB4J5fV','Book to read','

How to be a stoic from Massimo Pigliuci:

https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&storeType=ebooks&pageType=STOREFRONT&pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&pf_rd_r=4J6CT15BS4X8062XNGDF&pf_rd_s=merchandised-search-5&pf_rd_t=40901&ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&pf_rd_i=154606011

',0,0,'2017-12-23T18:05:24.868Z','2018-09-03T18:10:35.526Z','text','text/html','2VtmPD/pJQ'); -INSERT INTO notes VALUES('vBv6ovBupfTj','Grocery list for today','
  • cucumber
  • cheese
  • beer

 

',0,0,'2017-12-23T18:04:50.904Z','2018-09-03T18:10:36.866Z','text','text/html','eQxv+rrbeh'); -INSERT INTO notes VALUES('1hASbLRDL7oo','Trusted timestamping','

Wiki: https://en.wikipedia.org/wiki/Trusted_timestamping

Bozho: https://techblog.bozho.net/using-trusted-timestamping-java/

Trusted timestamping is the process of securely keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper''s integrity is never compromised.

The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.

',0,0,'2017-12-23T04:04:08.155Z','2018-09-03T18:10:50.511Z','text','text/html','QcLdenhCIi'); -INSERT INTO notes VALUES('8nRNDJGyGs2Z','The Mechanical','

 

I enjoyed this book a lot. It''s slow moving at times with the author taking his time with conversations and descriptions of them. The premise is very interesting, but I''m sad that it wasn''t elaborated more deeply - e.g. the history and development of the clakker technology with Huygens and how Spinoza comes into the picture. Maybe the author saves it for the next two parts of the book.

Language can be intimidating at first for non-native english speakers - author uses wide range of vocabulary. Fortunately it gets better after a while as reader adjusts.

',0,0,'2017-12-23T03:33:37.327Z','2018-09-03T18:11:05.536Z','text','text/html','u7zNoAyBWO'); -INSERT INTO notes VALUES('9zSwD89vgzNO','Highlights','

Like a raindrop rolling down dry valleys to the sea, his body sensed the contours of agony and helplessly followed their gradient. Impelled by alchemical compulsion rather than gravity, Jax became an unstoppable boulder careering along gullies of human whim.

Free Will was a vacuum, a negative space. It was the absence of coercion, the absence of compulsion, the absence of agony.

Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all was nothing-at-all. The topology of freedom offered no gradients to nudge him, no landmarks to guide him. How did humans guide themselves? How did they know what to do and what not to do? How did they know when to do anything without the benefit of geasa and metageasa to prioritize every single action of their waking lives? How did they order their daily existence without somebody to tell them what to do?

Life as a slave was unspeakable; life as a slave who had briefly tasted freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy; humans carried heavy obligations, too, but called them culture. Society.

',0,0,'2017-12-23T03:37:04.912Z','2018-09-03T18:11:14.744Z','text','text/html','g+zAteytVH'); -INSERT INTO notes VALUES('rz5t0r9Qr2WC','Epics','

Epic is kind of medium-term events or projects spread over days or months.

Remember that Trilium is all free form so you can organise your stuff in whatever way you''d like.

 

 

',0,0,'2017-12-23T03:45:20.914Z','2018-09-03T18:11:24.529Z','text','text/html','3T/xAD56IB'); -INSERT INTO notes VALUES('2WU27ekfy07E','To read','

Checkout Kindle daily deals: https://www.amazon.com/gp/feature.html?docId=1000677541

',0,0,'2017-12-23T03:32:49.379Z','2018-09-03T18:11:40.673Z','text','text/html','E1HEcCvSfZ'); -INSERT INTO notes VALUES('u5t1EvWa3CMO','Man''s search for meaning','

But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. 

Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?

 

',0,0,'2017-12-23T03:39:21.918Z','2018-09-03T18:11:50.473Z','text','text/html','q9V/kvP6xl'); -INSERT INTO notes VALUES('C44aq4mkaX67','Bash scripting','

Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been distributed widely as the default login shell for most Linux distributions and Apple''s macOS (formerly OS X). A version is also available for Windows 10.

Bash on Wikipedia

',0,0,'2017-12-23T01:23:31.879Z','2018-09-03T18:12:10.910Z','text','text/html','8LDaHxrzg2'); -INSERT INTO notes VALUES('NncfGH8dyNjJ','Programming','',0,0,'2017-12-23T01:23:02.584Z','2018-09-03T18:12:20.871Z','text','text/html','O6mr+c57P2'); -INSERT INTO notes VALUES('ZC78NlmdXeC6','Linux','',0,0,'2017-12-23T01:22:55.255Z','2018-09-03T18:12:24.638Z','text','text/html','cXlNBqpxlL'); -INSERT INTO notes VALUES('h4OfLEAYspud','Security','',0,0,'2017-12-23T04:04:00.715Z','2018-09-03T18:12:28.613Z','text','text/html','BiMTeajSw5'); -INSERT INTO notes VALUES('QbL3pTvhgzM8','Processes','

bla bla ...

',0,0,'2017-12-23T04:06:43.841Z','2018-09-03T18:12:37.910Z','text','text/html','3ZbW13jHCM'); -INSERT INTO notes VALUES('yK4SBJfwD3tY','Work','

Expand note on the left pane to see content.

 

 

',0,0,'2017-12-23T04:06:32.833Z','2018-08-29T18:23:35.049Z','text','text/html','my57OxteKd'); -INSERT INTO notes VALUES('7YEYLSrnFpIi','Today',replace('api.addButtonToToolbar({\n title: ''Today'',\n icon: ''calendar'',\n shortcut: ''alt+t'',\n action: async function() {\n const todayDateStr = api.formatDateISO(new Date());\n\n const todayNote = await api.runOnServer(async todayDateStr => {\n return await api.getDateNote(todayDateStr);\n }, [todayDateStr]);\n\n const dateCreated = api.parseDate(todayNote.dateCreated);\n\n // newly created note isn''t in the tree cache yet\n if (new Date().getTime() - dateCreated.getTime() < 60 * 1000) {\n await api.refreshTree();\n }\n\n api.activateNote(todayNote.noteId);\n }\n});','\n',char(10)),0,0,'2018-09-10T22:00:30.550Z','2018-09-10T22:00:30.550Z','code','application/javascript;env=frontend','DsEGPQTtA3'); diff --git a/db/schema.sql b/db/schema.sql index 9ce1f3223..a8a1a37c4 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -34,29 +34,6 @@ CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` ( CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` ( `dateModifiedTo` ); -CREATE TABLE IF NOT EXISTS "images" -( - imageId TEXT PRIMARY KEY NOT NULL, - format TEXT NOT NULL, - checksum TEXT NOT NULL, - name TEXT NOT NULL, - data BLOB, - isDeleted INT NOT NULL DEFAULT 0, - dateModified TEXT NOT NULL, - dateCreated TEXT NOT NULL -, hash TEXT DEFAULT "" NOT NULL); -CREATE TABLE note_images -( - noteImageId TEXT PRIMARY KEY NOT NULL, - noteId TEXT NOT NULL, - imageId TEXT NOT NULL, - isDeleted INT NOT NULL DEFAULT 0, - dateModified TEXT NOT NULL, - dateCreated TEXT NOT NULL -, hash TEXT DEFAULT "" NOT NULL); -CREATE INDEX IDX_note_images_noteId ON note_images (noteId); -CREATE INDEX IDX_note_images_imageId ON note_images (imageId); -CREATE INDEX IDX_note_images_noteId_imageId ON note_images (noteId, imageId); CREATE TABLE IF NOT EXISTS "api_tokens" ( apiTokenId TEXT PRIMARY KEY NOT NULL, @@ -82,21 +59,7 @@ CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` ( `noteId`, `parentNoteId` ); -CREATE TABLE IF NOT EXISTS "notes" ( - `noteId` TEXT NOT NULL, - `title` TEXT NOT NULL DEFAULT "unnamed", - `content` TEXT NOT NULL DEFAULT "", - `isProtected` INT NOT NULL DEFAULT 0, - `isDeleted` INT NOT NULL DEFAULT 0, - `dateCreated` TEXT NOT NULL, - `dateModified` TEXT NOT NULL, - type TEXT NOT NULL DEFAULT 'text', - mime TEXT NOT NULL DEFAULT 'text/html', hash TEXT DEFAULT "" NOT NULL, - PRIMARY KEY(`noteId`) -); CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); -CREATE INDEX IDX_notes_type - on notes (type); CREATE TABLE IF NOT EXISTS "recent_notes" ( `branchId` TEXT NOT NULL PRIMARY KEY, `notePath` TEXT NOT NULL, @@ -131,3 +94,39 @@ CREATE TABLE attributes dateModified TEXT not null, isDeleted INT not null, hash TEXT default "" not null, isInheritable int DEFAULT 0 NULL); +CREATE INDEX IDX_attributes_name_value + on attributes (name, value); +CREATE TABLE IF NOT EXISTS "notes" ( + `noteId` TEXT NOT NULL, + `title` TEXT NOT NULL DEFAULT "note", + `content` TEXT NULL DEFAULT NULL, + `isProtected` INT NOT NULL DEFAULT 0, + `type` TEXT NOT NULL DEFAULT 'text', + `mime` TEXT NOT NULL DEFAULT 'text/html', + `hash` TEXT DEFAULT "" NOT NULL, + `isDeleted` INT NOT NULL DEFAULT 0, + `dateCreated` TEXT NOT NULL, + `dateModified` TEXT NOT NULL, + PRIMARY KEY(`noteId`) +); +CREATE TABLE IF NOT EXISTS "links" ( + `linkId` TEXT NOT NULL, + `noteId` TEXT NOT NULL, + `targetNoteId` TEXT NOT NULL, + `type` TEXT NOT NULL, + `hash` TEXT DEFAULT "" NOT NULL, + `isDeleted` INTEGER NOT NULL DEFAULT 0, + `dateCreated` TEXT NOT NULL, + `dateModified` TEXT NOT NULL, + PRIMARY KEY(`linkId`) +); +CREATE INDEX IDX_links_noteId_index + on links (noteId); +CREATE INDEX IDX_links_targetNoteId_index + on links (targetNoteId); +CREATE INDEX IDX_attributes_name_index + on attributes (name); +CREATE INDEX IDX_attributes_noteId_index + on attributes (noteId); +CREATE INDEX IDX_attributes_value_index + on attributes (value); diff --git a/src/routes/api/import.js b/src/routes/api/import.js index 02bbc1ae7..fb45c891f 100644 --- a/src/routes/api/import.js +++ b/src/routes/api/import.js @@ -24,10 +24,10 @@ async function importToBranch(req) { const extension = path.extname(file.originalname).toLowerCase(); if (extension === '.tar') { - return await tarImportService.importTar(file, parentNote); + return await tarImportService.importTar(file.buffer, parentNote); } else if (extension === '.opml') { - return await opmlImportService.importOpml(file, parentNote); + return await opmlImportService.importOpml(file.buffer, parentNote); } else if (extension === '.md') { return await markdownImportService.importMarkdown(file, parentNote); diff --git a/src/services/import/opml.js b/src/services/import/opml.js index 4bc19fdbe..8c984069d 100644 --- a/src/services/import/opml.js +++ b/src/services/import/opml.js @@ -3,10 +3,10 @@ const noteService = require('../../services/notes'); const parseString = require('xml2js').parseString; -async function importOpml(file, parentNote) { +async function importOpml(fileBuffer, parentNote) { const xml = await new Promise(function(resolve, reject) { - parseString(file.buffer, function (err, result) { + parseString(fileBuffer, function (err, result) { if (err) { reject(err); } diff --git a/src/services/import/tar.js b/src/services/import/tar.js index dfbd717d8..9c8168d55 100644 --- a/src/services/import/tar.js +++ b/src/services/import/tar.js @@ -11,12 +11,8 @@ const stream = require('stream'); const path = require('path'); const commonmark = require('commonmark'); -/** - * Complication of this export is the need to balance two needs: - * - - */ -async function importTar(file, parentNote) { - const files = await parseImportFile(file); +async function importTar(fileBuffer, parentNote) { + const files = await parseImportFile(fileBuffer); const ctx = { // maps from original noteId (in tar file) to newly generated noteId @@ -96,7 +92,7 @@ function getFileName(name) { return {name, key}; } -async function parseImportFile(file) { +async function parseImportFile(fileBuffer) { const fileMap = {}; const files = []; @@ -165,7 +161,7 @@ async function parseImportFile(file) { }); const bufferStream = new stream.PassThrough(); - bufferStream.end(file.buffer); + bufferStream.end(fileBuffer); bufferStream.pipe(extract); }); @@ -224,7 +220,8 @@ async function importNotes(ctx, files, parentNoteId) { noteId: ctx.getNewNoteId(file.meta.noteId), type: file.meta.type, mime: file.meta.mime, - prefix: file.meta.prefix + prefix: file.meta.prefix, + isExpanded: !!file.meta.isExpanded })).note; ctx.createdNoteIds.push(note.noteId); diff --git a/src/services/notes.js b/src/services/notes.js index 0748a988f..e74e64971 100644 --- a/src/services/notes.js +++ b/src/services/notes.js @@ -82,7 +82,7 @@ async function createNewNote(parentNoteId, noteData) { parentNoteId: parentNoteId, notePosition: newNotePos, prefix: noteData.prefix, - isExpanded: 0 + isExpanded: !!noteData.isExpanded }).save(); for (const attr of await parentNote.getAttributes()) { @@ -121,7 +121,8 @@ async function createNote(parentNoteId, title, content = "", extraOptions = {}) isProtected: !!extraOptions.isProtected, type: extraOptions.type, mime: extraOptions.mime, - dateCreated: extraOptions.dateCreated + dateCreated: extraOptions.dateCreated, + isExpanded: extraOptions.isExpanded }; if (extraOptions.json && !noteData.type) { diff --git a/src/services/sql_init.js b/src/services/sql_init.js index c9648ca32..9c310c568 100644 --- a/src/services/sql_init.js +++ b/src/services/sql_init.js @@ -71,17 +71,32 @@ async function createInitialDatabase(username, password) { } const schema = fs.readFileSync(resourceDir.DB_INIT_DIR + '/schema.sql', 'UTF-8'); - const notesSql = fs.readFileSync(resourceDir.DB_INIT_DIR + '/main_notes.sql', 'UTF-8'); - const notesTreeSql = fs.readFileSync(resourceDir.DB_INIT_DIR + '/main_branches.sql', 'UTF-8'); - const attributesSql = fs.readFileSync(resourceDir.DB_INIT_DIR + '/main_attributes.sql', 'UTF-8'); + const demoFile = fs.readFileSync(resourceDir.DB_INIT_DIR + '/demo.tar'); await sql.transactional(async () => { await sql.executeScript(schema); - await sql.executeScript(notesSql); - await sql.executeScript(notesTreeSql); - await sql.executeScript(imagesSql); - await sql.executeScript(notesImageSql); - await sql.executeScript(attributesSql); + + const Note = require("../entities/note"); + const Branch = require("../entities/branch"); + + const rootNote = await new Note({ + noteId: 'root', + title: 'root', + content: '', + type: 'text', + mime: 'text/html' + }).save(); + + await new Branch({ + branchId: 'root', + noteId: 'root', + parentNoteId: 'none', + isExpanded: true, + notePosition: 0 + }).save(); + + const tarImportService = require("./import/tar"); + await tarImportService.importTar(demoFile, rootNote); const startNoteId = await sql.getValue("SELECT noteId FROM branches WHERE parentNoteId = 'root' AND isDeleted = 0 ORDER BY notePosition"); diff --git a/src/views/setup.ejs b/src/views/setup.ejs index a196a24cc..995027dc9 100644 --- a/src/views/setup.ejs +++ b/src/views/setup.ejs @@ -5,7 +5,7 @@ Setup -