From d640bd165af8ffb70a06a9402cbd8c9fa0853b5c Mon Sep 17 00:00:00 2001 From: lorol Date: Sat, 14 Mar 2020 17:27:35 -0400 Subject: [PATCH] Update ace --- examples/SmartSwitch/data/acefull.js.gz | Bin 111691 -> 116297 bytes examples/SmartSwitch/data_src/acefull.js | 31 +++++++++++++++++- .../data_src/js_css_src/ace-drafts/ace.js | 14 ++++++++ .../{ => ace-drafts}/ext-searchbox.js | 0 .../js_css_src/{ => ace-drafts}/mode-css.js | 0 .../js_css_src/{ => ace-drafts}/mode-html.js | 0 .../{ => ace-drafts}/mode-javascript.js | 0 .../{ => ace-drafts}/worker-html.js | 0 .../data_src/js_css_src/desktop.ini | 2 -- 9 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 examples/SmartSwitch/data_src/js_css_src/ace-drafts/ace.js rename examples/SmartSwitch/data_src/js_css_src/{ => ace-drafts}/ext-searchbox.js (100%) rename examples/SmartSwitch/data_src/js_css_src/{ => ace-drafts}/mode-css.js (100%) rename examples/SmartSwitch/data_src/js_css_src/{ => ace-drafts}/mode-html.js (100%) rename examples/SmartSwitch/data_src/js_css_src/{ => ace-drafts}/mode-javascript.js (100%) rename examples/SmartSwitch/data_src/js_css_src/{ => ace-drafts}/worker-html.js (100%) delete mode 100644 examples/SmartSwitch/data_src/js_css_src/desktop.ini diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index e10ad62d2aa6c854fa9364434369bc33ec30f5a3..57ab200896332c7dfdd0dc4c25eb9d06a86034ae 100644 GIT binary patch literal 116297 zcmb2|=HQt9JSUEcAu%~Mtu!Y`FRPg0PIPqfYZHOGXYm$t%OYHMZn^V#)yyJ|3yp^p zUnC}|@utsl@nq=}P1z|f^}jsKJlapjDn`Dd@XgdMQMI>X*M@m*(b=>!#iskh;L8&{a1~=$U3Q3 z??zXur&o+(nZC=TX0|29TYOmmZcSj?5%yj#`r*dXr8}yW7u9{YoSx+|U4PxZn&O|I zUOkJhP)_X7{HP!hBBsRsWY*KvmPdTHmJ|D#X5Ng+2ZYR`u1+Dfl+*4mYFR#8yw`%ue zogQQO*1InGn7#iclSv&8;==2)S*JUx^atM-RiB)>hb7^vyJMS$;-yD|;?F(rycJva z=+X%j&7QqFp1Rjgdaga;Ctpz?{p58ZO+^KNKl#yk#1{ zJUArF?{le=UaE;pL(zREZI03$HpN%ZHJP7EC%stu-#C5dvSX7v^!Ajb*6dHy{Mz~| zdZC}+fd@J|mJ=_yGzH&S<~5ytd-LsoZxb3sH_x*A`LfL5?JA>asYRE3n{^7`H8Z+t zaa`8l_;OKLp5fJZ3hw?6rBb;k{mP3aHYGm~@rrbCoOdHhr9kn9$Jr-`r*Y5hwZg8^e38F{i&60kD_3-C%mr~zzvGIlSIkzLs*@@yVBW`J;K8+OlSDhesP6Qf zf2SW?)Lfae>D9ImF@0wLZUtJ@7SCI%6?#@`s3T3fjM4m_Pk*mrB_Y6Vz6+P?K=i5Prdb`O{q)n zrqmT3n&X|rdeE5Ra_5#yTdj@fJUp`5E^58Z2EWD2`I_aeUBw?*b$Mu=)SDvRDU_sg z!REK6K8u5@Oh%eQjJOhy*Gj2He~YqYW)_EVsNY~dxsqFTxuNa-`1tB{L)Nt`PYB;S zAgwaRVHIb>1TJUgceB}(I}Pmq3op6FwByU{6zAe6zv7+#pZ=UB8|}1S((+#3rZ;o_ z3YW1qoCxrn7Thtj=<-z4%abSfv3$>uoVBQGo4$_R?=NxZzwZ|C+>-S>Q1-$MY0(85 zWpn-s?krfY>>VO!WizY(!s+WdpO?qRJu2Y4NnKw$ql{x=vR9k(S2G*SK>Ov)zb{?R z7gQD8EAg&ugTVgZMiXEEGkUtf?3d}xrw4=;eO|}etyMoN85>jTRq|!~ZBM5^3vLLd z%~@`8@=khKPFlzf{q$|6?)KrbD{n+-xwGx-mMXR=_FHvJmRu{BzAo|j zi~H4&u30ZlxcWcvO?gow$gn_X_UE%^6LY3rQh1Z5b|7(y!Qs_^1ngXW>U1Wl(R){Gl9|DRJoZtQ~%z!oSZn zE^i68Ii9`eD7Wd$1p&ER=00KP|(L`z8wKk#W(a_E9xRDf<@Q;b=vSDzAN`` zQFTPb)(|FNzmGRX4zUVvR(>60{e)*_#SY!84%&~e&d7eFbjx=26$i^qrO*z;Bb!W2 z)i=C2a_L*}N~Yd(Z5$8HeziNCU-dUKRP`4Ff8meE{q}7EcWhNdc}=IW9h5R^xhLpU zEu1s+r(oq_8(IGk^OCD3W`@sND5(0RZ?mg`N#FN7KO)}xnV)1X@!u%L_x99ho*1SF zmlwPJY)Q*z=314da3^VQ`YEfK=1OnNCdSVDYPLCXvPRhMq|L$`i#G6l2>#nN?~)$- zQJ-Cv{f|XjJU__Hi+P`UezI0e#N@<1cK(U~ce{1HPq`WE-&yDVK)1~L{nOUW&1#u@ z-hF+v?Ub27NYVL;?5Z;#+simD&N9D#amPgM^-mYA(l(3qU#&Y&Bb()&$8VkEZ=Za7 zd!tUleBbA#a|41_GH5VN`?}n`L9Sxo%Hks3;+_i`OwI;L8)N=A?K0Vy{nF;kJ2&L%AX<#H}C3N?HRHHvqB?(P*eZTlRF32nrIn!C7_~&TrIptN3Wm#qC(*2{SyUq4`QTDmG zugKJcaaoc;dW28W3$}EvFSq6ItKB@bB6`LDHywX3?krVH;`q!aR$p~z;+r3iys=(Vi!Y$C zp=)*x$M%d;9UsdTBH_W)6t{nycPvjZuTk^4G?&KKiT~>rWRGV^SZ|0j5Gn~gBkHx5 z^}mwee;I=V9!sJx|Xwca9Ff&(Y^MkDW$=A5QEa|a*U$*?C&xI$`g}f4McPhM*7g%rdIygP!i}E=~ z!v)$?uJ;|&YU@-o*xo(u{j{Hfdw=w;y>>~{z53<9zj&`S$-4ChXg!Q?bB0G>$%aV)F=PTBMet3t>yZ@Hnb*DK%=9*=*?c?ywJ?G)dwwazMAef*Qqe6U{}Q1{pZdzs3NfOy2x5GY|Uv6l=nZdL|#89SR(qj_^%nvTUT-vI|^qOhi^=soqdmP zR*4>%yy5k%vcs7d6c1W2`)gh1m}WO+!NRy#VM&f6)orcjQjw~Yt@Yj)6TmOYX`M0fUIkvzk@ag*MUnBB+sI`{oPA!Z@4K4{gxMFj`nIi-Ag$5o_j z?y<2}VQuZSRbkmD^S&prRQWo&bBi6@{9?`PWhYV%7CTO2ooavR{)7!vqu(By#mBQ> z;h|T0{pSZNC(cTTgk3c$KYPsN%5f%p_43Y%iVdu+U59pTJ>2G%_|gB@zWko|#cy1= ztuLmi|LeH>dfkOLaudn}z9$^gHa5v=OE~{fV#TskwM}-dW&zG0*7gihQ?9X+?G)JH#H&C}+Uyo%lvUwK}zlT3`AFuQ4| zZi9b_{IzLo#Zqbtt542jUYY0jf`d_4nKgcQ;;JWh63<+G0%JHE=2V}`oaD6rUU>KE z@6tM~OZNv}KT<27DYBX~KcuJT|6{d3;$Ob#Z10*9x@4R2sY0_!0ZVmee_FUHs{4iP z*(XzX-Jj&l%v@Q0(b!|dAGQaJxDOv(zQyFtoL{{5;(yF%&1|!Kdb2HTN93!s4gR?X zEADLAxlsMK$jy6lJkGmUZoKGsP4%Hg&sNuxwr@5^r&y|f()GTfae$k*C$o-s?MKy_ zEqNDt3SWp_=}HI>tjJz>(IG?U*oV8@(wJ{XzdWp2=c;$NvTyU`=?Uuoer&?w3KQO% zd{bGsfqR|utsOD99{ta_{Qsi;r}~B0Pfql>u6O?WgoeBPIn!QkV9EJ?OU0=-{h!p% zC`rjA$GD@CIr}%|U5_o;(~{X48XRVxI+cBw-s$r~p1&pcv)dM}Z{HZPgl$pR#7{Zv zZ??IekgMCH_%M3=&9{dO%69J&J(z1KqjvcAqc4a1A6A;l%zD1EZr;o1)xUo3tE*cu zU;fo|_g_CZ*3~VV-&r+J_v&Znihb!j=hm*7ACT@j{d7R~orAhMKkhA1pTL*2&|H9} zHR{&+l8j`1jaGZdiCQ)0EUYh6DX%d~yHzWrI-5~0VR zyPB^W{BqAS_P-LFeBrINR*FEGrb@92|C(bmaf}+#?{4edWcC*~elRb1qJ8meHu*c= zHaoU|zLVP4#w?D6zr67d?|qvlzheDyx^?D{O=!+~@6kez z_|0o73{)<6)@^;`_4?P{pxJjehA#RRJk?z$e9Oh)PRUNT*(v*Wr{B~I?P2$cH|=(j z?{RFpd`rROZA;8L%^g`R>dUH{OZ{7SO_y3JyWxfQ6Ft$Q-LVo$el1o4VZQ^v%4#pH zPmoMhVEH1PWUb@daIWz|+fvUcKIc9Alw>sYZ^nF>qn}zZ*Hg<#i+RJpDcrU7UDvlS ziN6<|!o%o<Hmqzr@;eo#*$HBY)=AFY4a6;B&mi#T_5- zN6b=N^2+Q&YQgU6i?R`R3Avq@8P?hF`TAkzf3_L+bze%2?f)*D>34R`ABXgKLr)u# zRV{NgrCO>&cE>)|E7>jnz{GsZ*4TtoeI|RN*7TV)PfG69Tfbkqa;?;KZo9<}muDqv zrEnj-d1!r#=ej;&$)3&YST=Qqn>)rnm+E4Fb30{Y^8Iy{ZV%h_*?wuIPf`9bS?uz3 za|RP%vvq`#``PSur&eFcNtD^?5b+|$@v)!BYZ}<#Fv-0pWAy;M^MAl z>)ZtO#9jIeMRh+W{SEnFd6GN1aq{l=NAjcF&XfcKiIovStLX z@N(XIV5Qc!nXAJe?d8nfFL~AO=lwf9{h}@#l8k&VzL;@K;l<7Vc$TwL$)V~2lA`hZ z>VBGX9u|5Z9q{|B?F^?n{j_ z?vv}h{Q;k{uJk!kW*(EMc zrSUgrciB(5n0-^={5|--`pVIuGsb$-zvbx9rwDQlassCIn zH#C$kR}`@p=&E#b{2CnNd2C9GSOKGZd*1f$evfX}6RUgnxJFFo7fm+y{^!#p^Th6I z@YMT}yKnv5mZ|VB^uU3R@TI-8%U;Xe`LklwJHJ37Dk%sWv*wHcC4t0s1Ty`TQU&}wS3=c{(x6E-)* z|H(|g6tps=z{vdH#*jxc%S$4f+@EZSwK{XD%y!}3ZH=5)+>W?imDIj%d;iDLL&cMp z*)0B3v(rTLs;a`(3cC2-;XJx@9Ec@UzH0KdU zD$@M+KRsf9|9tnvK*=$2#`7JuGalafHDR6ds=4Q5C;Mc7O`AH^vUEC6#!?o+*@3qc zx4YQ}nO)hv+WZvL6c(Km(no_k1vR6MRbq}t#u=3DzjZG`VgIyE1!_f_OGKRa4GgrG#HIh*=d*9xoAyV!Wm+c}OBClaWWTvxXjQY^b#vOQmunPW zy{SLcdNO3nGebkU$_?SmlN~CWWR|aYSjoF@hD4CTZlgO@I~!ZX`wQwEXFaS7KD?vn zxc9W?+^G+Yv^Sl4;n5=YrUwkvigg(< z{p0soSz29v$v*vjKmQ^h+2g;z?`2r9Q}(3&hAZ;N-#`74!cbSXIHA@$q+imaH_S2N z+P>acR(kiWj?W%b8ERl|oa_oG|>cX(L! zX0_TTZmO)iu2JQ?>zK*hx)rOm{T7IKafg3mFgDiUN$3;1WE2_h^F}vXup&E>|6;Z8&^<95zP;(LX2-7ky?EO@ zam&t~tY;VNu+6IwTCv`_N8pHAXwTjE0&f>(%o4e=xBtQ$3onM>sveDp1T+pi@Emj9 zp&7Jo>tkj0Sr4au*s*$VfxAxwA7j|zlM0d-ue0pu{`hG3^z#{gnQaGe1>gB~etCw3 z0N>ut2crvk*!*^Qf9O4uTy>23&tk9NmL)B*AF5Y%mF%AKclDpVuJ^iM|H?cPNV?tN z=k~*4am`de4hfEs-rWjkTpMDqSFIMVTJ=Qi;lW3Koeo6@HgW8eXKdh2e;{&SKYfRj z#VdtRH(Z!p%6w9UC#tJm`pU8`Quy|wh=iouBDYO8x{JJ?btAbecjgVgquYGnbgFNt zEVmWDuimPm!1SO>@PfOz{Om6qTl@8Da~?OZVDJCn*wTFbhr+Cbe0Ci&TYqpb+H&*Y zap7Ma9Et7wBuX9PV}B_u=+%$e7hG-U zuis;E>gy?$uiYm+E&XGT+H)(dnPPij-aLlQ`HwfZGbnGF^pDl8_)v`Ak)pku{{38Z zW|QWQ$~@MI3Yo7Ql%H!#-D6$)^f05D);|Xkvtp)zWyMSu{Bq^`O0PK6WAze@j~BJ? zTXa>3G0gkVvpojWxsJKyp1u5K*;dVI*A1#UV@0RDPCNP3)+=5<%hbYDghP~o9mOG?#s$Q^xyUJ-jHDa3+=`yPQ3a1 z=){@{*94QplY{);2&cCf#+_h^eLS&mzmbU8BQd3a?!g&akL*<*@4YJ6VbFc_Qmb3o zJ-r=TxpkYnUT|MKvZh6PRhPt4lRY!OTxCdgZ&2|y;mv7!b=t9)KiPupXH}eNej9MSW0F?Ktl$^VXK-a{m3iGt$GM{oBU; zC-XOWdd@O>Ho4ry<=5;3AE$LTF@J9G^If@H#^128#m#~5HLG#U*1Xs%fy+krr!CJj zEBRcTy1|$u{iD_iLAH!Io=r}NrFgeVE?m7c;lNcLgBw}Dl&)>-RMz^>95Ur`o8r0X z@L2}E(g#+A7yJrU3aSumSn>X*we8MxGc7KNG+*D=xAgv{$n}fMSThz2Sp7>jeSW<6 z5dZ0*xz-05R6AN*+sv`TFnnhm%x!|NK&%@>sQ6?WeonJI&K>yrMGM-wsbZPnIk ziVKazcKzEb#ccT9YW|!#tCCOcU0$85)pOu$_olrwkvrT@*nP7?@_+J z!kE9t{)qnV88h|@wGxzVdoqye^E{A`@!gqhpJa@JaP5b&Vg3qX^ zw#82-Ex*b*Kuj&q{@S7`wMqwDk21L3cbD}!9>OWTIm0uSXOXI-(b3pXLbKdoNo9GT z-6{B5;0m|riiQ2Nq&ZnX9*{`bab(6jRj;kRpT2qYFY7EU*)2Iud&_~HLP=U%f~@wn z20za+2-@g+zO*VK+B~Hw{)C(Le(N7O+uE;uUsEMzo+~fAz-+doJ%_d3QTF7m>;+eD ziEJxjTG^zruldKK=O<=tHEzwE_o>6k?Nh7aZLM0N3#NQ-$^L6YF7{~u2-#RKQfBs8 zvNd+iQ^uROOD1Sm9`5d~yBB^UsMN4inoFrKOKtW;lS$7ev^?%^JbZ4>bA~n7b2=`s z5z#dL@=15vO)aILKPR1Vy|O9UB>y_o-xKQ&T%EO4X7^9cJ+H;42HsWJqy1*agSWTZC*(y+hirRm zusG<%wNRObRs!}H_wRasc9Bsp6VE}GpmUOG{l*nSRi}dzFTM(YuRn9?Tc@=WZ#xg& z`gUzucJ?+qGxykQ?#)a=b~7zsFG{|r(5Z6hGKZ~ImbZ{sZ^a#+NjFNHEvL^}AZ`#? zBh`QGljh6YPdsjxUwXpe>G$>o((S#_>%;zaI4bCuouP3wZ9pBPvO2)e4K3~f9gx$-3#KQY}+=t`U@So+WuR{xKsSr%Gs(HW1Jv87?x}S6BhL_M0$(`j>HnQ{c2u?nJe@^n$;3<~3{WQFz1;RqY z7p{1DohSbuXQ{^z!FMhpJD)sXn9XzH?!|9<&eFTsuBl9!FmIV3`+mncPtMjZb5wic zc3x8Oi}fMDRI%5q94D?=)pf?i>->TqEf3*Gfhw~M=gV<5_qH>p>)AD5I$E&SPFP4t# z?K7GAG-Br`w%j$hb+|@K=2)zKWYEad&T74}rSN33 z$Wi5==haj9zwz~(b^h(VhfDq)XUutW;a#Xl!N2d7S3~Tlke(Aou!f&bYqAk1o8|I%_ z$m4KfUD(gV&qX)JWq;M0$REl0OM9dIhmIcxO!9G;3vFxZ+AoIjhJ2Z^C>QY zYgpZuz0kR0d9U%m)2$Den%ELfE^4)k?wsWvabmMoQStSL-mE?TPuAwx>34Ut7@l38 z$N2X;!`Z$Ed5bfdeU5M6<+*%ov)ekZSngA&UstZSJQv$nIdP`XTXx}hVmCD&#+^Jf zH=FyRp0xJKni$p1G7&4Ix5b67o|mV3@LYw#SyldXR#NS`QMx}j@~5xq=ricI-f3xe z{)G)=;z~(pR-uHYC0v{Pecny@tmA*qn749`te-B|K94Y_rcXgpfikbSX8gS}QN*;q zWL@2_<;Lq|Gk0b#kMBNp&cHz}uIWL`lKURId#}_amalWZxvoK3m20^Z=6Zi#mwzD2`YC&X(tm}STQ|D=Y`R{x>_F75 zZbnbDu9Y%7elPgU;{3Q z#>S~#|Jve(Q}oxZjF+uXyR&oLy_7mlX=g_AEI5CaC=CyAOAFZDn}9Oe}^uO*On`>YX+J-fPcLdlS7@CZGEJd@YUSvM{<`6cV- zUdsuVyi_07voKaa$2ZIA)+N5Xr?g_g_zTfF<^jg2_a+AFEzn z7oU}=C-VIGjbcO7*)JFzwsPoAox!&9d(W{nWsfy#8%?{X9FBZ*KRJ8XN=>f&+n0nc zi_(3au~9hQM3M32Cdp)%J831i`@MIpz3$UDll{lux6>F7Tzz**vSV%R|K>LF@3TvG zz9{42+VE;)vE7_I4|I-yl{g(3k=_$yS9bQasqX&0cV9kUGJoTvxU2hvG_)MW^J?#9 zKEBIlxo(2|W3PC}>zg;cJlp?jYn6Lm(XESxc7Kk?{e3MaJVEWW$?@{8%e=-Op1xg) z9MjCErWm@`rw3Y1s1W@!mxn1{GUL&#c(R#n5 z@)uX|CuS<&Ik45yuyDKJ=J)>_<}L2FRBBAjVEZj(cVkk!{*vf>srN6>iIQS^xS73w ze@lFkarYx}PLsmqlMmML9Ne;0{PBHvsdM7#7rkY?kIMCAJSsh{zp(?I}Uq7p6yOiF`jww#+1$eM+_x>Z{7&9CvE~r{mA{Xf-tI9@zk8y_=|bd&^?}OM zcD0)AUc9tpGHWy|=iGf4p4&~>QZirmkMHfN2HSmI9`1Ltk#)Nl5Sbz8ecbJ6 zkRGE5(@SHG@97MI9Et0H*l;}4n%$w8WzT7(8>n?*?Gp#N*SlY23~ zW_@n2+x%~i7jFI7@|nS>=h5+){%N~SuO;Y+u2Z~taDhp+ko?c)!ce!XVs+Zh_gjO$ zYDbGDfAzYRn%+L~LifByA!3_^`|hm&v_RN>w(swcEUHso*J*RSF3a;WpA}FnBhq}B ze`d%Y@oF9ILY3?{MSZ7CjX1;(rgk%5=3aU}h1VuPnC;Jkqff02u3qDn6#e@)x6wD) z#{KS>^d-d^O)6#oOYgmZGt;}Ww$?*5aYFaK-C0hCyAK$DyA<{;WvkBe)X+o;^XW5n z9*CQt{(s7<`zrUGQxCjOOvuPK-^zDP_0P&8j$0=*)w%z!=T@=!pZ&RxZ^b>!zmb>c z3;#)UvOJahLP{Xx@(;<9r1b_`KR6Em57=7Z5qd-RE7w7-P#O+32 zP8R=GZkt=rcl+n6Ok+oOKYx=I7qy)&Ie7Oua4zZIJ}KE`ThxQet9EmSBo|G}o*vBC z=OulhPrUDY{L0II*FWa`&19J4schi;4N1kXv@G_paqcWusWObH}xp%sKe>RO8lk z=>tVa&%6xYHuLwyCG470?@eOn?LTGEDlOf>ZoIKyO5Cb!c3g$-)0HQEcPOknRCapz zO1^{5wsGw*&fQ+8u{E*Sf5YMeS+lNVe=@iqN3rcUe8e4bmuI5PwcB?XTpPnaulPE5 zqt|;G<+as+F66Fv-ocW^>#*~$ON6+UrCu(Ne5Of$+NR>x%{Mcj7=0{T{PH=cFssbk z97p$7rl3`Ed*ed&KgzBCm&Ebc&v8n?H<7}N{~Xi24=%d%vDjqu{*I~E8w|Di50sg0 zdwlKo>(`b(dmJ+Te2iU6SL|99a`EQhgHKu>>-+g{=0A6?aLS_=W7&nlm!D2u<1^>2 z`l4z6+k_9-Ejqb0S*yoO$hwDo>6|YDY<=AP-F<&^NTXcKq^^DG_ z#L~=lhtB=z>Wi8GedDDkg3Wn0wxW|5`l6=XE?RVO+urVVYPXN<$yxuV`isq!1?`(7 z_;0^hIAz-hJE3FgyB;Qb-d*!2FKpH9&Apy?=TE9XFZXX+^<_h@h;><9tbe*HtsJrx zZv2Ue-czLAqOe)FQgp$w9(@Vp$4k`rxx6c!{o5w1U_MW%0$Yw>qe?)2>&@s-9sYe1 z=NP867@OYGF}vsfyR_ zl`a=_y-X7-GAy>wGMvi%`O}$y4HaKCExz*9U)Gd7bognplDd@Za?P&yuO4Y@zYK}893V@SiH ztOf<&5AS*Yd;N)iC_iu6d)~>yyYBhN7>P5o7g?xXc+|9dnx13McDJUA^(GgW#2?HH zvyaF(is|Iysam;Kt}XqUdV`(H?+3z14b$4@H6_mJTx5_^4Zm9MtW4Yp4n;J^$=ZDlZ`@KmHjF`>% zX0u-Cl@oL3=)aT@iQgh~cZ)&h@l&-58nY$5FBwcdFP3pzy{hDyE9ZnIh5cd6%%7}2 zt<16Ivy)*_np`qpqyO3mDvu4aZanRno`1>4KJ3*}1BM?>$4{P{`iQ^&!>kXlKlm@v zUnDrgAbeTX)o)v+11FbSJ^RkW*KvRL>0Qmyv$6$Q_uf3r@l)g{m+(sW3k@FZ7ShjJ zuC{%;e&|j0l=tu0pR8Ryo%iBigEEtOpVL-!%F+L z@Rwt(S7p?<`ajKbyv{2dbZvibiQ}Q-U zajST(zB6^N;)MmJb1%G3{(CJ#>Cv8R0!y2muKm83-tqfGy79}+55qlfWu*N$F1FUW zzl!tB+lH6w-q$Xid3ic1&3%(vt%{cHEEayrIw59N4bD9?>kQwRnB{Z_d%92a{T%7^ z(0H!zv=UzJsjqUw3b{84y;fUXq?2@+(bqkY=XHd4PydCG3_(|9D>u@^0JI{8%dC!HcRa=d=$=Myg8W?ri&EHO_q*j?A0xE3y0hIj1jabsr>UH|;-l>AG=}eT|LBS}FgFreYe}ORHzg z?7X)n|9$_;9V@SNO<%8GmnCk@^mG2>$gDT}@7=Lk(7$@iG?kqR+Y56SK0Ixzs9qb# z@XvW>VzPt>^MQ4z`mGFg`e$zrxAXq1C-yr2!v^K}rMixsS+5VJK0LaJi>u}&|CA41 z`%XSnQP)>fQT=lF#?k6EOwVj%xK^Bx*kFC8C#CnRfoitYmx*`0zTccCB&Brb#oU}1 z9YGg8CU{!D`+N2Ihn0u#GX6DZs&DPkxplDg&gDnf9wwxRryKr0T552F|3Pxw_UV0> z+UMQlc=VjB=zLSSjsKr{(kBluTu@mANJH=)8F#`jd7p&&3c_f4YRg# zSFo#;>Fqb3vc=!Xs{OvPioa)Y{lZ9P(PIhTRo1r!nrBZbXTBK1|4d6uDS|=vlmf%# z9Rl~48Q!U}(r(nh|Eb7E;J)de2h*N?6Ap7)*3eaSd69}<*Maht9qHS4PAqfb$lG(X zfw`Tppeyp{LHVTGZQKp)*S);HMQ^!oZJGb#MdgP6E&pH6<}RJQ{{QcSuX@+^G#zFB zHlgfDYbyV-1XJs?g~`$rr#LyEJ|XdE@j;!zpUPsLa0N&jo|vzZ15YmVze1D}XS zo3g1w+L2bQhczNME~_(dH9NWS_$>R4$&0q9|D4#a^4>13jORD=sdxAKcJ9lQmprzv zRCuPQ`^8UhHbz9c$9?lFpR(jY=vv9gHU5e#`6ELX98qfwdn@v$ccD;diTHD2k2Q_% z0wU7se3@sD-+U;Y{oX?|_M&p4#RHiRp9FrF*8&q2yw{#O+p%5fyEVUP(`B>MU5_W7 zJGETZ!!0hs>z4TwudTbywp`0@WKEv<)ZmY=O7}+ZPs-Rcn&0W;0nAZ2ml$S?$=?u*O&SZZ6V|DJp&uapCj%FpHRtJZ1_C75OKa z&k3H{vglew+>6!G74OYcE`C}lI&sR}rxFM6l-f<7{Ne`7E}fKhrVUDm!(9!{{Zb{g zX7E|;e!6c@&!UdShPvwlCD%3n)~`QjY;;cKW3kaQ3Ar^Ps@=cWP2reg(ouG~;M2ZT z&DYjCsd;y%ow61^_Cs{y@~!Gyl_&m6HRoE8@vday)S@RR_f8h;Of#B#rFmmki0GUZ z_ujvA30;s^a(999T(S3D$rogIzFc5GxxIFp`Nra_t#d_RY>df#<8pTD!E=w&-sJr9 zyz6m5D`2v9((=?0$qYaD%wVUot4rHtvM={pSKSo&r?^4O>g3#bJttG`DJ=pwg0B6Z zvhDM>^mI&`m zKe}Ug#aA;)qc#o&eXp({MXQ|~w)G@3%jcy`@L?CpIlkZ7 zWP<&*4(Grvs*5CMbU!$7@5l60^_;5$s~z&nBW}-DTBnoo>t(oEid*r$#~PlT2cE^> zsrfxMq(tzZ^s3v^qQaja{gganyb=^VarX%Y5cu z|C7Mgt7P1LZJO2t#f?E~Sqc)R!rlVW2WqCO-R`%t=sGhoo%M7?t^xbREMw1o@qFx$ zK6U+D^O1d0g-fSh>;2uyeTSuP?CGm7-&mI^@BD6u$kH>%(-!o9QZ!KxPkMT(E;#db z;J)z9rYuY%K{LNxOcwDDyFH~-e%0^JZl4IdD91dnvY)~gGuhJq?cBD1Nx9~}h-d>_ z75QB{)}qXdx~l}Ikzs0Y9-`N zib{WTsr*>nyOyN2QPX%8pKQ``EEfA-xls8F^RCTbHu{~JJ9ROS*tN9pj?1R%_nB8b zn5Q;vrut0-=MD25&oQphy;(6qywYc}aM>*P_H4r`X?|il1*S zz(a-1R~kMT{Q0%(Ztb7DM*F9gaBc5au<+SX?eKh2?s35jxjU~c6n#BADdKA0jF>WC z*6R$~TiylEKmGdEt-D9A?we`GaO+@L@o&v(!u40~h!$Ph#JBS4##=Ww?F$So=DV31 zCfR#-uBZBmkU0~qmV3`vxj%EmI*!+G*GDETFy*dE&R8b#H6hp&36Wbu~u3U9+?L+7!D6y?L`{zPT+I6&N7! zQ+4J_skWbA*>)`a9PDNM?BdKdGbg=NkgQg}y13R#lSkA0+=u4vdxQF}|Ex5escP%> zbJq1QHw3=jiTrJ0dLiU>u>1?rU#pf}j(zDHT=nwC-QVIxPjBcg%@SW;ba7?lzA2R{ z+WmT>xi+DC8C_0sM!Ggve-EJ&kp6AmS6n3b$Up6@ZMyJMF*9SwkCx2hOPbIH+}8%i+p8EdfuhT zX#8<|?^U#TY2>R-ho4@zxb*3%zR4nquGaNC z);-1AY>Cg#%zZ&8I&!671qJr^yVz;^e)y_YvUz*X_VXRr1-JhVT6%M_j;Z=H~yhQ__D z+eP1#H$K^avuxja{)yjI_kHUYdHL0@{lL4^$D7|;iQY3kJAdO0TCdpq!S^s=NQS%s_xZ*<=5*_oty?AvXF!q>(1rW+44Z2z({y3p9F zeyj89Ct_wfp2ygWGq!x1%ATa4#lFj}b@!D$llzyiUDn_0I`dofN;Eg4Y2HqI$^DOf4cGiy z|LrH^$LOo~ovwQ9^*$B&{LY?hX(gf+r}`z{2S}*aN?eakbuv!)kiT}~-3-Q_pZk}e zzE*HCJZ#URpuX}~@2lY(Y9@y@+OxrMj;a!e3*Hw4i`}w0F<}3eq)pc{XD>BdN z;ZJR?ZxQ5^pBFXv_0Jc7^qy(9^ggn%RKLDf`CmcrUe)KDAI#gV6CY+NU*e`)@-Q#; z&phGX@hZg+GZ)Ns=bP%~<$acIam~(eypNl>(VvNe6*#Z-r?DHkx#9MdJ3!= z{KF2as_yhT8Z5@PV1{pvmYlQbrfJL*@Bd@E?aeQ6p0OkBciuhG@QcCw8GKB>KV~>S zF~<4A*=XatP9+-Oj1SJZnw4$Pxijm-9Qz8Uth=U;0z2gn-A(@@WNfuT@D-ocJ9~CF z2k!H^2NIk=e3q(ws9pLpVuia})UU6m?$^IWelD7qIWOjj%*mx+?mBODToRJESbF_& z^SC>KZ)Y5r&uX&W(zkzg)01zO?kg>i&J0|jBg%1F=-r)&wUf5m1)e?a;{3XZ{g>3V z@PBI(F8!Q1FS%}(yvMA$b2kPwhK4^3-V(P%%uaF3gqv(0DlrNF`=$%bTJrnPp_#Kj zZOBOf;M3MC6%iS%E}9yh5n?K8_Vdr2#axb33e_eP6YY+l{QbhlUV3iAmH9S;_Izpa z`~MV`6@EB;P@MhC{mbd{^@RmL?jAh&@L;juf-lZBHJ`so%-4S@DHAyR`v#?t=d0eo zm?HV^(B&sh{A&NQ?sT`waHhE|KbqjeA|-$9T0wOJq#fPK)Pz>y++w zI)C(v=`GPVvG|sdz3S%PivAF`eT|o8XWh5VtgIDwZchD}8_&AUXypp0KvDLZ&Rc8G zJ>JG_bNtyoiKh?WEm(E#G&kE)shd9^vtF=1qQsxDPi{hT_$y&yJ=dZIt=Cxk@}K=l z2>)TNd4yr}$J^g#T`Re2Hh1;ouDzE^PydMx)Dq(ZHT7{t@epI^Kj;q;;w|loLh<-2B zv@zkA3ZH+|{(I{yk&Esu8%x_2wzXJDRYm@@o+!Wl=nR&Y9hGZ#Z!f>KwQp1H{E~UA zh2MC8QueQ54)@!}2t#hi>*LU)ns7n6+>Zl)gq_u=BPgy;`z3s!+ z)fcwh=TXaBA6=M}n9uUfe7i=+v87+4%yUk>iJ#HX-}Sfu0%P;!7Y&=jKUhzhcJTjt zD;a_QpYz|ca+wq^?q5*4zpCJriA3$L6-Vy!HS*RknKn65bO(o#W46}8k3B1|ot`{p zbr9nnF1d+2wYJ4RW0=$Csjv5j*R-bQOQE`bDf78oTCa3gEjo5L`l4t<=i`?f<{s;t zuT?$4DzntlL$@+(Py43H??0ucWb@x*w%ld&*ghXKzCLrs zr_$duo+Vqf?b7!9(`os!=iaUvG0!gS4?OcFt&2NTP3zXD%Fj1+W(gj3k(*T-n6q7c zGE)Fmlyj+_n+TkB3a-&YmXENwlnf4VZL_u=P#GekOMxqY|){I~D;v`u>z=Q9@f zmEW;nSle@klRtAsu9rv6RzcgX*7gTVrA`;zpEg6?P1$5)eNgSzC%1l7=x(YGd$uAX zWbWdQg^hpa@fMu1xuPDh_}AW7K`8~Rev8_@kKP`WqNZ~5dqj)R*+Vt8f2&qRSNCeq zmcL)6?A0EAEq+6Q3;z$%W8!Xx&Zn~Wtqqsln-engw1mJ`p~@t#jDls7?MDMWc5U8s zqD#S}K*DOm+K?de{jn20G%I6II^OXRG%iYSIN7<&)O4GZ)s>{@8wz7fue>n2`@^79 z`pzf07XNCVO9>oje6x+Cyz`y^o@;ylQ8i?v>!~Ksg}ctS_HX+V(y6m(RsRvY!ocu5 z2|lkAjy7$3e(~fdEcEy+gV=Rmnh=CztW=k z8}FX;)9>be?he^9XVuNq{1+LWoNx-RPMBtP4*MN{b_RJ47Oi(!3~>!*NP>oHcIs?Kg@bK z^Q+S?pYLUCOFrzK!mMAJH|hD5nvLHp4!D-t)mLQJpL_ZI&H*ik!`jM|j-5IpGo_53 zU!V2g8Ap+n^w2MkiY4Y6nfKaXtW>LNTH~Vr$R{C@m2099W4$3~qu^w%L=mruO>PI4 zMzfU4t>k{Q+P!sY&B~0g4_@TlXuQaw;dS!b>m8j>)STYt{o2<#S1MDzKulfa$7&Y& z45q?4r)SSEH`J-EWnbO#QufrE)Mqvfi8}kAUGq=*_xpiq%NO;qs_KmW|ILc}3jdbB z-1fQYwfwT*PlP;-ldJuMqxT7GtN)$a9&vhSh_Gea=67DUi+4{r{xMtKJMZ`8z5VPC ze$3JPp5?|aS$_NW#K-KOuT&UM#i-sY`xWxNO2k@z-l>Wgzm)6Qv!~a53@cmt*|72b z$-4*p{&ma`s;K+U<-haL!M#19ab-5OzdZajuN_~!YyW4>o&fo@+o#*T`7*P@)899| zaSd4B*~79@{L@nHo8hXz^M5+u5OuYhTblneU+dnHRW|+MmFGg;^uO8N`uXE9|NRyH zOD5=lyWdmIxfvxZHo~w$YE}4SrdUK1H)x!tf93RzUvGj%tY+HG$?=!>`#wLS z`p>r|?s+rKmzMOdUy^&P)v4qs-}4yDf_nieJ~E4|KcI=9!d;lup$3Adc041VkQ-U%u2eUY_IInQYOk&BVW{X4eZ z`I@^e@%4(Ly5|44^-aZZ&h5GNUjO07CaDA3&*~2({QY|LbNcD0kKDiT>AP(ZD!J%g z6)!LMnCsXV8BbT&Nh#C5XdUnV&?tGXcIndt{tRbYF1>P%TyfyogJ~SAtk&pdzes!f zL?kA3Uq_$L7pJPWXOU-;^|t#io;gc;5x3Rtvnh)>c!Y|s9FYPFOSJk$Rp58sej-UQFZ+8?-vJp9dH|15lIk(%=)r-9*a&`LeVw=<$wmh2k zwBF6_yoVQUS5jUnk*pQ+D^tRj;pyU+D-y5RO#CL$`s&xOawFgFFgLU4CXsJDMYUC> zcCv4pevtX*>5@*njlP=Vi-Y1-Jg3h7#Pwv`rIfxV-l*oHvnr9FCvW<7lmGja63%m* z?ifFooqGHBjf?xIuNQtgchQsY6J32H=k9mRb6xl^YISC6^0I}!D|+hFN=~a^G(DOW zF+(5xNm**`h_7T)KwMMn=BSwezr%(?q$$>mi1G2N`(I_DKedV%13?qON}{`LbrXde)2m;>nk8I$C<%%8J@`FZ&5s9RG>yDOWcn zY~#FJy!-u`U71-Wo_|GGY`bE^wV6e9+JS{aA$s-3P$9};AuFRV9@c_ z$yKnWi^#&ed>|Jv1eP13v<@#o|>Dt{(6-dBU|at6J;m) zq7p0k9K+h*#h+ib=;u;)4cRCCfntAl>B`E5i&jo-DLCtvRHQnq)!TaF&P_(AF8}iB z`f=6jio=98g@%p!3|BsMT~-Ral_A&I$XjqC!OZgxdnc6j%F+cV|)|JO)<-tv9Lb#@NTwfwg{ zLT}F%*ZIYpw!P|PxcJ)@A=Z2Ie?|VEea}4WmSV}li8pM`X6~@j|09xIW_@C-$YRcE zA-`XItu_kISm1Nr^hLJR*TdG`dp^xJ%elFsitYHxQ;Eib$DS)5s|#rUuvj!G-~`Kl zJExAq75#bY@@jJaMoGnJu`UMO{+S2K;*<$k2P+*b9HBI!&G);xS#XQT?6aFv*_s?29!ehwzP0Ui_f{juKRq(WlhTWv(69ziySeIGQ#ZzW$^E~nR;`oZHhbPFY2%m` zz8gOO)ef4Ykhs zb;x5X+Tz#ibzVe?1T;pM zO5HJe#PQp1U8mccRSVP#_$^K=RqNwGYasH=0OmCmy@BG4{LrbA~Ik92ThGlUHJOo?BL4`)p?0J#KAPKMXVftH%B|FrBq= zFSF0Nz4HQ%C!7d<@*v;GN_dI<*Kbu1QuY5%I9lzs!eaSxu~Qytz0Vwkbr$vS*O`28 zes!%y+3b09-qhOMUBTXNbLdTpXY=wix!YG~zPY8g+tSKf*HB@_ZCxv=?iA+C>f+dx#=q9|h}!>keY(FZ7DgmQe*L^JQcu

?>2x}Kf{=5XmY%`2)xl@#o|ehBH$E~pzyDFaabsbg(c$U(EoKp_TYs~3 zUY$PUW9yWe)~khz@4B+RWSQ`SJ2t&NM)Hlu&NTL*&KI2b<~Uy2C)HQ+>-Vt*zj|-{ zO!GWHg&~FO!%to*h57F@UcF0DdU!B{J^PjHvAIVsY&!I%scHRYW2Gm3de1igySLit zfsgyepocM08|!gp@({bn=OMDfDKdiDd}X^kIls#LEz)ih_FtC&R8xmEX@RW>F(J!dfM z>GKmp+}9%CxxNct+)^8xG-s~p${BXDJV%88SX&%XS*`UvcMU*W!quR#Rdhu&;A}%C=_2} zal5p6)5^y>Z&rl3bQfKGx9AU_n(wTek8M`(Ew~?7G^hM=q#@ger8Q@!>S+JE!E)e^ zeqEm5)rpFZZ(b~#>GSTJbLfLFsSDTLJ=OEE_)g8fZwGqIrKdlAuz1D8nwjTMZGZoI z)|G>r3B?U&vaN--lb%}XSN6Y!g=Ydqf1|!Nj!LT`@Ek2hRz$Z+w*7p zz3s^{yC!$U9ioTaGzr1b z>aMQny^<8Wl|kl9x#^QNp-W1puXdj+ej!ov@z#s>rdtHqzulTJ!F12zNB7=tUs%o? ze<3{lhE@LSf4g@E-Lvl!mR`Q|zNoR#m%U5Q^y%I>rM@XCT6|vK-p5aq`+JS7yj7%J zML$lu6Dwa_KRff{os(acUC-OIGi>di&3a+YKeHDv613NtTU$(2V*`p3(`!8c2u8yM=TY6b@_&tM7RDh<7V%*w>GH)~7x?#hi8ZT~h` zE_YZd)AEdU?y6ra_}4F!T^aUN^$vUOo^@&7UX!2P%PZ}7KB{;9L%BfE2TwUIA)(aw zMJs0KZQZka>2E)+^pCGi_uSSEJGEm;>F(CAJFnNSZ@nL6pjf{1qE_$u%vQteYOL4p z-?Z5GLw_Ypq^imK=LXtU*As4s%{4swCx7)@i7)2HBFA%1ZL+hzzv_nwgKW%70k_{x zuh!@9U=>{~>{!tvIFMdZyA_3(@qpS$j;cIAovxr}0Dexp2;Rx$Fr``L;~uzx>azN6$ZE z;fKE`Rvo#bKKpHLXyb)VuLBkItGYP%xqm#$1dkhMmtGFXsv zYbb;Hmd2E%2fEHt8v|Px#%JEUI%C}(zUfoKG@AG9KOwd8#i!o$v65?@%BRl0aH%kT z>5WCEJ-lld&t5H-Z0~w$mFLyRN4djqENV{NEvsU@Rx~&8M3joczJP7#&$1ljny#k5 zanhwcTmPt+70R5)@;|=OHcZHjD-x893`~eWzE{=GyV*i<;%@1^yS=V0=lfZecv_9%wBeO#DqO3;x^B}7jUFBHpXK6p~o4X2Aq*q zVg6$C7X`Apw1+W79$mI2b&v1uU%|DeH~YTEf9r6$EXEmC)>?LWvzV%`()CNrmq`}Q z5j^YTrfD+opmy4?t$9cN(wFP<`P&H1{1mC}Z1wNfl;>|Ma|En}*P2xcFR+xDT6A__ zu#mKV&7O^7ZBs&-w<%b1?^$HU`$OJID_8_2mrDkFGMy2ak8EXB{wDrTJKlO(lQp zR%>rYj(i27Lxr4+r-*D5E;Ht{(08v+y|?z7+xq)2-j*{r?QdH1d6vtPy0vMgk?uKv z&wu({v-gzvcK@H>;{s}~zhT|EM*aEXrDctYcdpfk@k>mwZ2$bnV)BYpTdVBD`uU4i z@oZQ<<<}Y0Paz^DwJj%ko~4QUEO?SXnWukB-c6zGS7pY(b}pFDTDN1n>|vdE5;OZw zy5;JvKhpm4eBR<4E~*LjPrW+rwjX%|A(L?5*s)lK<`7rS)^Z z@T&cPzjf{#uJ{Cr_evAuE4J-;I&ppQ8I|%n&GiPl@hg&3wy4fiT_&AzaErmDLOu33 z-YJUDqEt@yA28C{@npHaYW$LE-`lNHhOqXPlh#ZkdZ|ntS)hHTT82 zudvK%3kY-R5OOU1k9jm0d>#O7&E%F!3-v(q?zvStZ)(_{6>y)r%` z7cN%IO;L4Z+_QM<*4qIe1QQwN_s*8spW1VBwrXRRs_T_oiCd;LsM_6(dU-8YuF%pu zrFOR7@7gDy4(;-;Gc8)ca+r^C-zNsCen!cypVNy>OlqnMI%4zgT=|spf#uq^AiL_S z504~|37+!3X}5Xeq$A&i>+B<>XU|@nxr`+gk8u51$l$k$U!AxkbiL&fou9^WpsV>MuJgs(wjSpEF(gUEO@Kx7Q~h)k-s&Hy@MT z_WPgz@%Tei-TC<+-M>w#pTD}lnE%r1iA*1P6kdGP{XcJI|4#3Yye)?qny1a&b2U;g zWLkIr-jMXg{4F;oGn@RKSX21n(a$IPm#_Bo^YQQWV{i8l^#A#$;K!4jPY%DRD0#Eu ztM&c7Z%f~--1S9avdqf&B1jM^AmT~>Ft}Y ze?_D5@F_>O8@+6cUV@}cvG>909IJSM;LzqsU)xzN>LJ7x9>tbh9D`J%ty zUH2T{|Ni6e&+qJy?7RN5@8kDr|NGwFk3TB?t9}3G5Bv*{-@E_x@c)0YKch_#y>I@1 z@5ZhDr4pJq+KghJCr7`U+5dm#kM22j`bqUX@|pP)-Z|FaDSLlp{ZaRi!5^g)ewZCF z_;>v6rw^A-Ecmo`Ps@$p(Ur~jAHRPpDffQg{~ysmS@hTMo9?gq>GAoeiu2Y#HU3pq ztuude_w91|9lQC@&HK)hIV0ZL>|ZV$chj=ECRaA0>MwVSQ{Mf!+TKu{z3@!i&OMx~ za^i~TDvQ3(c+sPBJ1T7Q>Wk?gV<$N~8BJVNpl+k5ur*d@>b2zuzdQ)`gNc^t38 z-t<1}udC6L>FazZ%+jcJj9j{B-kBGzFN|lcRIqaM*{E-ykaYa>i@RxygXM2;pTFEn zIk=+4G04GgZ-S-+|6+f`9=m6TpA!!EtG_B-A$R^O!#rl5>W6_lCAGFsUKM6%S`x5f z=SGX2@_lT+tb1f$UgBqCPq+1J5y*SyClsWZJ*Bg$bJnqMzg{oeb7tcTrPcrMKR1n; z(c|T)y=?o0{6dq2y?42`El~EWOn$dz^Me`NEr_rUXQp%?^_J`j1|LBi5w{o)wqYD>DwWBF-R%?{2OOOxu z@-Ua1Y@Lp`4Y>nfFSL%x^L-`HU)>OyDa=)&WN|*oTlW#qmJa7T78jCOPwJn)dc6DQ z9LbkoUnU2#StV@Vn-H=y)zO%-BWu8TBJSns2v=Z+@}m>hbsY zR!z(>dtb;A-}1lvQE}Y!8&lW34YjZQd;996<&~*(kJ~>I`0ZI8ziD~m1-ondUBwD2 z?91l7|I+c@XSt*L#@Ke}3iI1{&g6WGRd{nE zczi9&v(l+;!U`{DwT+%UIR(G<-CJLUKbdAXdvmX7g7Qacjjqb#Gdc&p7+m-27xGDZ zv`7Ess$Kz+53l5Qu9+&j?YNruF{$#0dzV`-vz&JDUvz-@)x#67bDseRcf_N7Inr|hxiob~N*j@Hgekyh6CnN(()7<5ek;DYO3KPF$B(BJ$w-@jH! z_NGzH)z@EV29+Lm$zpYMe^5B9?-8e0zWzCH<>Zy@TtfMUQ{S!V^Sw2F;>q-&el4N> zTa5dEt6r;qRu|nNIpcAXOwtS4Slh^417H6389kLjzrx;p_-tKM_xpofoGnD$2gu{kQ&AT0gB%A>g~}lAw-9T{-*D zPWuovy4dl)Ag#cjl$s6fqw52bw7_0*uN+pTurwyQs!1xGHPi{y#mwQOg%kd$IK6 z?n9|N*Jr6j-2HLm=(EFay*!(CH6PPIkh5gsB$@ad29IQvrfzP_n|w2NtuWJT234-E z9Zf4A>`D?5wg2u>VO!57-G5_;QnQ0jhw{QbRn9v&k_BYg_AyOR^6@!s>hdS$|I0*` zPo+FU$36s0iU-*kzghN1x+~!9k2ib;$DcNFNE}F9XgrtqbHvx~E|Jo7*qyaNH@31Ps#jAUEmC-+xtqPijf+E5{qn`RtZ(jxF&O<; zoe?dvU+T4{V_K*}qB)Cy5Zl>|vzIb%=B&5fUoE>kI%g(NpqbQ@r&<{myPi#0Z{OIM zV%B71vFLZ#s&%EcK_+7ITh_ge=;0`8*;(yfxaKX}-t3$Me_t?^sK)y3&zDT;{quTp z%^tVI)Bi5ezkYdZ=E~^%wyi>=0cSUPyt6BT6Q`0lf zx9%$4eMkBBvkjdW50tD(>{;Xeq4D4&GYz*p<;D9~a^ICNs7qO!elBowRaM=oeQ%R< zbMu#*y)NcE>e*K$$n(|iaZ0t}v5Rx-6pZ%UR<7qw=K1$@?%qv&Cz-z9%e-+-^r-!m(3{c;?_u;0E4rb6N4?xh>h44))&*O_lFd2~eB<8K%9pdE z$;VLVy_-Sjg|*9$|6SSYGG|}wMXomf)pgzRYYYQ!ny^*9U1lD+&17rYxB3m2{g*F# z`-ySY;hP73HD<+#2wi`0Yr<{YjA?WHM0+i^y%KwE9lCRZc*?WYZfCx3s9`zl$8R>} zsn*plj{-ejfwz}pxC3uIxGI?@Q;@#Ny>y?$!!6YhezO(0uG%a;e@EG(K+WQropuRF zPdPB>Z@w7k?GvXe-n3@7$Kvz5lPb1L9!NjSGmUAEyX@58nPJW8=k9N)`0BUX#*?G@ z>rOkKP1?p!PkYy2_LAIXXTLZsu&U(MD%J2w!at_gRPYAekd;%-?(J>6o%wy$W5>95 z>(0}c3fXFz#KqTZK2*J^SQdEj9ec(;&eKmno?M;3`cCZ2h*oA1pY1{&SB@-f49Q!% zptxcgI^BtvB(^q zAbi{^q^V+Q_tfn8)ti@!Rqk9AKWFj9nngbjf8js!>r8_GO8XUSCd53o`+4K1?@aO4 zv%Xw-xgvI^O0Ig-)ZOw)xAbL%YwtweRm!ZH{kQX6UFOWb<_9d+EN?$6_s)Lw`|DLn zvHbmYUyt|iumAe3{J3KSYnF%P2UGUrPwUo1zPxtSXYNr!QKv7zJCctnhP{1Upu3zg zS}-khO72_UKb!}@*G)Lh7P{3(GH#{KH%5tD+tWF@xY@4Ww%$0KF?wRlj*P7po@$Ry zM^2U8SJY5zaqx?{a~Oa5$4;Hjlp8sRUMU*fpQ>xOHn{2T*_qp}F4$CX@Sq~^et9>x zS2uiZUe#PbRnUH7j`GvA{2u|^EKHgLHpIWWFS^94Kzc={4gZhBj@I8EFy+*A6vr&; zTKwwJGS|MT9)v~15g-GKekW{eYx7qB-i(D7B+zx4NiIgZxPCI=nDzXoWW zxWqO|{LRZJ3n%346Oi$HYA+%2Jge!KUi=^71rxOSx+d0IY*;Yq7vIJDWxToj1n$^h zoTfH=apZzt}X9J<>4Ud|njX(yd{11_COcQd?j>F3Tz0bUWy7d$=0X~8Mr ze~XFn=n+*#^@o=@1m4)}-(+xGoV$Pbgu*E)cJHPM?s?qB+AU|BQ6&9n{|Xnm1upI- zoEyr^G?rI$6~Dic-@1NHf<(Z)6HTE^yPG>dafEj;D*P@uY<%+N3GdtOAMl1`FG!*h{VTcRc@;%Eo*emi~k+Q z8zD1M>Xz!Q=*p9q)I2}WDr?@ovdHE#ke%7@~-rLp+U)XDSFXENCQ-6%w{dMY>_V{L)WZhXW+v>i=`qr2D z{7Zdey`~uo*IIg4os@r(;<9?zF=sWuI;r1A^SGmqrCigDeXwc~gQ4=~gZ@`#Kd$2E zywtJvdhe4s@1Xhi{%L?O;&GpeZIi*^}0hWVc!Mi(+z)WC!ewjtJHSy zyd$0Tw(zRnpC4Z;kG5^AtxQ)vV!KN6g4@QI-u?E;XY-O5PZs6f`(5^4ZnpZzTkChN zx_8&C+${FEko~#7Jk~D-c`3=aZbz^P*YzA|RhJgky?Mg^q73WW8ipH86PznQET3q0 zYj17ynb0h~Ia{8!{n9D@`u?Taqp*AHb~b*0ckuSsHCv}tr{DTwC+qm}uVCCF9{Eo^ z6-|=1N)xlDy-a(#;n@GgX>}paJCAEeo?)A#x=2T6!m9A3f0a6)H0&PV(VxU|EmD79 z>XSY%O+~+(91CWDc-wHJKkPX-*OT|(Ll+-#SrA!deLgSGXloD`@8Y75HhW|jO#S|C z%f*9tB^360b^ZS`Yi+2HLCGHVrvJ~E8x^jX^mttJzOqC6?zF&HD=rw=>6aVbU^vny zmd#Ma5}vQ4YIo`RTP+@Akqg`J-}X z7i@7%`?gknyJzQ()V*6@s}}Mc;Qw#M#BeEeU-!MPghYwJJ9qbOC|*5D?fABzqRdAk zZoho6LDJsR{mP*$vhkOzTh505W{J5t_xj8wYOT6=_Gnsf>FW70`BkC1!2NUC4#!=! zG8O(j**8<-VxuYwLu(Ogvjf?s`tT;lS( z(+^+y`XFKYpLbR~u8F!TPTeae+)K;o3jRCqOoz_Kn|oH~Y>NB1wfjKAon=z5cPz== z@svr{%5T%BzO)UQCwFVH7e#LHzq(U+V&|C~_dIhu1Z5`*ysU4&FwsS7VyNUI!FR8! z#oZ#R=XowF+;BMlad1lC$))S-(k}~6KVJJn!tZ@qor2lUtoAl*-)@nIS@$eey4R$} zeR;>^6;*mQBjRsDbMO1y(|@8nnpE0cbZ0A7UzFB~d8E0a=}?)9k3wFap|OL~?Xvwf z|KC-&Z#JHj$Q&TIFIcr|*M(`HJ?@uYTBNgwE$(N_G{)zNqK`C>ZEo;2vah~Ta8NQ` zsbzJab@Q^W&vz$nTjeRf`9Ry5yJ^ca*r!?_Ipw-+H(y$Qxm1Fx?MCyy?Brc;oAj6KkBKc=H83jppBr+sF2l@m@RUr(J)3 zc*rXKN=;b1_quO(e)^0pc{i&zYbpHyy|<>w=1-XU^Fr2kG~HnO#iC2FMjj3 zI^&9H=C%*sTkKk`R(-sCpRXY?So+A9B>stSk~d6Kv{9K5zqLI1nsaYeiPrSL-QN-p z?sH2!Z~vO%9V_?iX;)(kY8>;}Cg$8{ce&>+&A3T&ei!$a;NG+At+X><{Fv2)hqFfE;V@7rzKV#A^t+zbK>oki|7ANEp*KKwxE5B!!_~3nITDf!vEtg zrxyq2Cnw`a+p=USUv((?b>qpww!@k|s@>;u6KRXrZ zd=J;+iIGp5*vIoOMo>68$ms3I#?z4;TMRpvEVi`S>WoXC z7A;ihjhUjj%z^Jobxl!G(K?rq%LiT_**34-=AX(;zHj?%-zca*fATDAmkf84 zUz+fpclDY_91__X=gfaixFTO!;geC)5x4)+ywFR${|e7nO!=l^-N$ug&4hZ}--p(o zI&*zaQOY*S9M|1Hce7}R%dS1K)zf$Z=msbih-FN+2A@}^v3@!Vmz1=G_=LD~8RCGGL*d$t8B{W*_%gl4yD;o~1 z4Sjy{+L^ssbHaqw0?f56u1}Aix>9LsqjB)JoUkpcf_J`J5fXiWV_3O*=a!^r3`O{@IS< zWSp1Z?z26X0&h&TmfyVUY{9rlGqH72qjG?c`j@$n(yNSEf900A>Uw>8ntgGd+SHh2 zAB(rW*D6%sKT0`%EX&s;V}af3T~B%1RIGYF2(j+@-WO5RVzzr*l0fIjp=c4kFhAC%Ej&EGI z{QKdnS0`Q2e4wPL?yJ%Cc6ZtRMb?ug1vuQ*y!@~5u3XiW>~t--+~v0P8Rtgsi2|$k zJe;<0ZS&rmIU392_A=z3`}ltHyO~$E?Mgr7z5m*V^G|N^2zGIJN1CPR7UtFTp6`$g zzogyIHg)yh^J$e^0tED=?`#y%bG7=nWW9H^pWVvG*|n9HUKS!scUosHwOcCoe5upjJv8Gd)~Z2$6X-`&_HM|0wSBE9| zYSQj26TWBcJwIVmPIdjZXXU5AWKY=M9X-2u|CQeJzUx2hUEHPlJAZl^=epSXg|m*V z`ds&4^`~Ne<%h{<=1t<4R?|OVZFws#aGH1N+RC^OwXg1Fz1Q9@7@uPq#TnFg`O6~f ztB+1739MbPDs1y~onM~{3_MuF_qG4rxa+{t^c6cFv&+Tpa4Y+4#*+Umc~X5Qi!y&k z#qD_UtUZqo_DH_f4qx83A->r3jn^WH&;aJGoXXn&S3jQA!r$g}P?obK^H1_5YrDEb zY1f$khskHI4ZNTI^iRR{slCSMDl@*GPxZdqqkN(?i*feFg^T(#{6x+ay<749xqHM# zx9dBXH*&0=YRqG`r{j3JgqP0LrE*$N*i8=i8*a&1X0j_|NruO)2`AHJm%|FZ>=9IE#!CJai4Lu+okTk_T68i z@m~YKX1!kaUhMB2nde3?k4RqIE?CsvG^br+f9b~TeziS0=YyhSm~uB58D{*wdG_A{Xb}Q|+xou{lr1|yJB7;@@)3(O4&$>2Q?&;g!s$JW^ zG3=F|%e}j(@QBJCKh|9Fl!$%$`2jN)nhAG5Q~EC~>d`8{VB_~CE0ekUx3`~OW@DCa zq}Gruf2k*Nc5kUz=fdlJUJXw+vd4bC!oz4}q<1U2^US`;gW1+$4yRsaZ96bSWW&_* z>cy$kvZChq-Mo4D&K=G>SxuMnna-I`R$ZZ|7ZH$^S)Qi(a@rH0GaDQZ{Hos;zjEn+ zpOa@gt~v&_cg%dZrL$_G*rmi(xwDcl`gm$b^F04ozTaJFhvbp8FB@;p5Q@lnsryiX zN#iBYrPM2z&-QdPGxl6Mt*}g~WAetZjIi>BOHb@vbyn-QocN)>=PSr#REIz$q{VwfG+b?u}oYkk{u!~{YlS@3F#{M(r zES&f$XYsucdZ+qTl?`o^%NC|AX%=<>W zzb^Ihbd4ka{8~S2_S{_IDSA-%Y~HI|C(bkcofzFvt^DA}-J9_X)-0d&YKhm{Rodd; zUgXQ{?)!bbXeGld9nPBU#`76?3RkC z#>SUR?=5)DCUfuVjAj4=49>uJ8651m%*{~TQ96=ZMIR1 zotHYl;KI_F`x_;T^(Bo&By>wWdS#pD=N!H|UH<0R75i9L@)n3_Cd&A7KI&6SYzb7E zv329SRVS|V?Ym#lYr9YoHvR6J-e|K#^+t&-PB1}>~Pii=`Ur1q% zjfZ#feXqSIE0~ra+Y-Aht4y+c%D|__cztZIYZYH{`<5Y9pLanQxguiy= z8sFJ{?S5hMM{9GD>5o{Qay=A|Ye`@CeQCYGCX{>9#d`*2x^K0jXXU=zu-e+9`qG`& zt9_PDtgBt8O=^^WW3E)ny>k~YOLzNQF0+n@TCWq9Dy@j&Zo4{LYORBI-7U5TxwMrZ zVk7UmvPh(8zTDR=qHitmiGxKzsaa&k%O!&TFEX2(^i#zq3FO)QuXT~JX^A?=wfqzp z>)quy_Oo%8t=`Vqoqoy9qtLmay*c8fnb@KU=NOJwoZKEfWp^jb?MvkSX_VKyZgBp76>fZ8i>XQTh`r1>rXs*b&zc6zBEYxjnFUZ$p(-(qTccSlU{ zJR4K@ciH!|9RFS3&%Vd;f7_$rl>0^b9di$8KR51r_PH(m#hl#_4;gpen%XO)*JiZ1 z;JfWBuN|SvFPQ#b{_>F9Gd}t2g!uH=p`P5Uxx{9!*FICX;jSESi+s;Q4&gLqkN08@ z-1_U%%+n(|4z^kgoHeNSxaGvTaB;D|_4R~nHO1$R|C&tq4m9phm~nS~%hHb-Rsz1# zLAO+MB|5%Mt}&9}y&OE{P4_#$dHz-DD^yml_`24xjLF1xsq!6jkp^sb%Ej@^o)dlDo*$1*fBwakzIcu3&IJ3jTTa^l7n zCHDSre$GqXBv9P=WYPAwhBJy+NZmWnbycs&A}j6E;TONZq*PCm%6@;dWNl^zS823p zmB;Oz8?j3l-D5ehIw$T?T*m1zmbs_JR(-9C-)_7AV_TAk6z}ZM*N+(2U0WY_&0u*L zf2L4=tx&T3<=f?kUj?#HtNQevw~~IkgXyDu?1J-;W-Vo!Y4TXzL!pPeWcu9Ng~h`8 zl9#Tov)tmPQYO-H^24GvlI(`UTXSc9uGQF*bTX&*@T`W&cX&%cuW6oi;me_UGJpqHAlk!%E^~QtmtoHRF$dyD;=g*>(+?=pxsX zcZz47vU`5FBUIvO=v9e3Hu~Ns-P7YPKi_A&?{9(5hBQ8d-0L0}#DDH+X8-U%7nic8Ne&5J#(X5GjUq3|O$-bg0EH9#2m3e&y_nVww1vi#tq?9Gc zPikA-DEWIw-OBj=TXn3`R%jVHcXn5Qy~7>bHE;hT=hUkC3yTWZFEsiu-hOIA^grjn zDnHYIdn#-*Vdl%p_q49|wvbvN`R=~*%6#ozT`x-Rdo zI{NZ|=K2eNKFPllzx=;qzs274{Q(X3^Zw_?u5;4dzk64I#@xOCJyM&e+DY?S?5-`< z<}Ot$zkN-5>x?V&79|}#_f09CIr#C+8_J=2*JNu8#j;zr-a3D!)^Mg}aKM~xD+}K! z?M>%T<6x9)MAJf}08`%BA?Ei>ibmg<%_ZWQ!B$^Ji**;KSbY(aI7#g!^+OFkc$`=^sb z?^H^4{(Y3Ra?1DFXQ!8)oZrYdt@UffoBZH4eEw%{eJJ+W&ws)G2AjP_s+w0qPE4Me z{0DB2T|4+Qjg2)7Zv1lk{B_Bj=@%K->`sn0{PFN_)D(WH+b?GAE5FYAEor)h>jwXM zzc!!AWtLr2Aa8TwY{&Fn?K|IE%y4^OKYQkiA0q5?rE{%f!$ZTf<+eFJUH6SqW_F0K zt=54XzJIqCg@3M?mFMrrySznwQeouFDVsQ2 z1Ou$Mdn zvRZ^<61Pk6W}gY%sCB$_(WPsZ3OQ?kyH1F^tg&Q*r=)7&9@pLLe)e6SWmBGVYpUCY z1rrnn?i`h!P|CA!=E3dSmK)wGRPU*0xyrYZS9&q?LW_-ik1#(}eV=t|?TbnK{=Qvl z@!s9p_oee~UZ=0_3tC=li5a=7-#>O^+MFLLNeCe6TzuVCtgv#7RQ6 zwoySv*!d$%{e3M9nbr;YA3rzkYx57_*<|aO$G~{vd4)U!k5U`+$1f{SI{p74TRESR zQBPKLUUxc&`wPW=FL)U=cnuOfoDhW(Lliel@h2d1i$g%*O@umEH(0N zS@q1gmE)C=!rM)jOJ=65*vH?u@+f15C#&T7g}ID-iY?|jdnE}oGK!q|QpzFm8IbI?9|?47XC?K=X~Yk;W$@MwR! zkFmh)K;~6hHCyja{Oz+j=Fj3&*>$!{c+O;=k5e$@3bA)KF*bg?Fp1yKpPA(GcCFORYSTk)Hr4@x9{dFgs-J~VrTHa) zxRbiVm9t!6rnNv~V|fVAM=gG1_Cn!Td_IB=-xB$*X$Htyv^y+3IHPc$oRax6nO9Oh z5?#!@&SZbtaCg6HyW-R05B3>d;VB7ij`I|^PkvX-leVIuvdJSa_zz#x%*qb21-BNK z{C@B7oBt#KsSCWPmRfHQ`S#Rt)%m$kY9oD5Uk-UN-G9dG0s(n*QkZaLd*>)5t=`tH6hchjyu=JwRhp5xa&w>>)X*SX}9 zhQsz-*}wLz^xGqsdE{GE^qUq@@7t3WMyzhiOusWzm3Qg! ze#&(Xxy?IwOP59Tl+XKDNr>;z($^QavR!}n^#zj?bMNoUo3Zh963_SR1@c_Xug~0m z5zlD4)pGsyzl)Zg{_XWE@^t));Qi(gj)#8!)Z2Px->OAl1JWKi`pzlVES1snSkRwT z%awfN=ABJP-5yMvzvRi$MfSJDf2GQr`~TjfSaa`$fcMYNAR(DgD?V77tls~`yw@Up zN1Na8Cwl|0FU?$+|L?!+L6%UqImbi}&u}=TrYE|6SlFg@@%|MyV-1ZCJxgpJgk>fR=&P>$tA4lX{4n1%Ut&& z#@4>aS;yHg%@U33xK_2i^qKa#yp>jtV!cm3C!P)S-}-$n@2wiS^Q=-g9t$?yIU|33 zk?^%0v-77v*f*E+LWIVnzw6H3@ipCSMD5>6< zWkv@G1ps_vzYiOTUy zGs7=0+n_s1QKnm}k|kZ_hH8AVsb$w(^TWMNR?mNZbp17%JLjT^TlcO~ z`Wo{gG3LU@jdC$2{nJcdL>$+96l3}|mec<9q}*F~JL_UiQ&&8nBOiOxYL_*W+dGq0 z@9VEQA5q#VG@a@HFR5L5Nss%NOgS5DwV~j*y2j7**Ci%@*uQe$bH`dn>$vFcAGfI9 z-7L4rK#q_N=XX zALGo6w%jo*P}`a+yX)H-g|ZFPgROZU$3EFquso=s{nO43yYFp?xY)Py&i0VGytSuU zm^$XCw5k-o7nFISe%Uw`zdKJ7t3e#+IFKPyMgw@vvqemP*-Cb<`wSfuUsO zw}08^XCLGGeDBn*q6bTz9&Fz+K~>P#I`-tUFQvD3>RE^9vi*?Qu-dzfFRr`mP0`t< zm)Ew)7F(W7zSiFQym!N=J5yT^C7Ie<_?``Ml@I>4QJvYp*I4uV4Ti+OZ!WEjUTeCN zwTRDu?fHh6n!jC)ucvn>dga|sd78X4H><3st-x#EKA}Z5I)7R&{F)P09(ydwX?|z^ z(%_~CvzFg9EpWYlVE2-6+uQfTPFRFJpIWAFFgdq;!m{~?9Gh*Gm(SjGG=J0K1)ECS zuFsggr7607Qt)!!#s6Z0>(##GPLK2c`|{yy3ICagW;0# zovwO%$w_2i()y(Jhr$wOh3T!Dw&l{cciFEN7sWKI%2You*t6)byMe9IR)A4-ycV@@asvG^p`_dk7J@n5rOV_EYZQci`%C1%FURydXe#Snj9ThinmVIy( zVwt_rqxxWh;KYl%>-@OBgnFJi=%SL}G2d;OWk|XA!$eW*SC9A#p2^k)?-MKVGd|U0 z93FUhn#$tGIXAP+UcEFb&^ya__vg->mlMurp0E78McwyN(Y;GH#rA(Y9@d-wzW(jl z+Iy>wrvG=ob4&4g-BTv*rJsym{$1p-^wVcq51|lo#x+ri)_ebDWh*|_J*;fk*y}2? zUv}r#8G>I0UfT5;I2Sn?-?!MY^;kjuvHQD&X5UB>eAlYEQ7lnZZH8R1hx@yjwXd(9 zi`@3P_tf{Zevxl$7GJ7&t_r^9aAlu+{yctjX?8EwjT6#Zy_)WvTo-nD;`d6ix>}Kt zE6FUsE2oEsP2Q2HmvKShn2Y0IKIVmHBHWE>J0#C4nuL71>%kYHE7`emVb2$h&E6kg ztJSe>wzx2tyFbL5E9vg$cWFNimTp>nI3#I}@#LUWjeAQoSg!l0oL;{&XKCkIw{{=z za{qU`I%QtJ6s@v(_qN~zU;68VsxxP8n<2iNMKOQrr0w|(iqow`e|Jk|t82GqojTt2 zaI;|e^(zh2PhJa%<_l(0dcDl}_LlX*&MRL0F5FqJc{IvT`~2of=Negj!#yRhI4i|* zv<8Lj_q}_0U(U2$p>aAZquLaAL~VX1sxJO(vj4G3o|jePHpm-zyR$uBA|zg2GPRcF za(A#jzpwY(jlKFSD}QvB{ySyY9BZEz{-*ioJ?ofDEuum9@u1#;iI0^b&R z1+UVW->VdUm$ zk;!NJcC$S=!8TK%dTQUUg)x$=vsPRDb4o8g{6#C%XHy=7(Or%y-k(kuu!NrQzq9pK zwf6mvojj9XI4-?e>bZNVv&Vy3YuxADP?{r>#2ccvMoIV2;dyBhxB3=nFznmi8}fJ8 z+;#IsRvj{~^6}zHza98p^3q$eZFwq<7hbG<^777`Gdrif5}Ej{yCzd;=kJ9QeS0Ub zt9&}WzPMaG!gyA+V9V|1_slA5)0=&**KJRfx*_}}qe8zXTLftWn#~*WDy}zEf{`o0^-C@5=nG=sZ(yi?JKFRG- z^yW%~tykU&t-HVYdinjn=bOLX_`GxahKpP?xZfOIFlS-&)3+gaT9=$X>2V}ov9Eq> zghtQ{+0^Ar_b)3j%5A*h(ABW4|7^#O)Wl%kYh5xTdszRUO|xD5rP`)?PFwEr!b09X zyLDLV^v%>o-(6RD&$Y7c`1{)z=O$R3V*1Hm9)9bNS$>QC_xOlea!IVqH%*lE?-d>)UBmVC_uh+-QaiQ!|_AR-M9mN|X7`l(jeP2I2pJmbQ z*wR$@IkOEaSu4JM{pu5?v9IuT%$12pZkcX~ey^}8#b4lN^1*4!iA)ON$r9oYdk%YE z4p;vAcIgY-9}!2Q=jxr!=xv`Mn(pZSI)74M$ZD0;$$df}-oIZd!P4!?m-$geAVch$ zzwO1-4}|uqu3f#?d`IZ4$Xd2f6Xqy?TT&>`aQ@oqNj=3|i|X_1ZpnL0tUIp7ZY^Z( zH`i-!&%NMvvjoov>$NTpI{bB({L(G?=P#WQzMnY3q-*7eN3XOySEevj?<=+`zjdJ5 z|4!(oRWFTXHf*qZP|IC$nJ=32bnC=Z$>#$nUSDx&SKa-W9CJ3Ps{Ylin>pjA`P`Qk z@=AV1Ne!Xbo=?5TyPG{%&-AZw+|^`*?&cP&NzM-#XMJLFv2kcV-dx4Ubi6V%DB|ym zcZz2l6?i7~zxs7kuq!EQwQ}&2_G<4+_X&&dZMm*9d+~;CerF2M2KR=;jt*Xw3^uqABifrlCfmWB^1 z_wa3RF#eP@!SYMmZuVc?ePL53=efSmw285~EBS6!c8qk}!;N#R-|tq**0WN6XwY(h z&dm>Uy@w7(G=-X|J&s#(@b-0~{0#P86-GPMf^-`%?quZ1i2TsLB04mYWl`x;>3xYI zvz!)ue&u?}aNWD06F;~1Zda2Gy&$JsC*RMjaC+*Ic=Ix@@FxFWe4k-{BVIv)cLpqV4%cQDwf!qMhE^MNL=EDqKhvlzXh% zsn?hBc*5&AS35Wg_zMLQRX18sPf9o1 z^TFHDKZbJi&-eEv9bcUBM}wyzPoz>!Yh9Jbq=kIvB5zI(ei>!O!+L9#@yUL^ zrO6eq{N=hrY(*AJZ|Qj!JnjCW))|ssePuTf?T$%2zcF)en$wA@bB&tkF4=@m=K24l zC2r0~?OTai+jr}nR9hI`y!?30v>#g|+*rS_TW~8wnPWxh`G?9^!}{;=$<1ETyD;_G z&$f)Olb7WRGJl1$Mwvp@LFifK=3*PM>4p1f@? z!uvF~zu95a_uyTCYsRK^rC&?- zNA~bKd{S_YIHJ`x&u?bt+#4oblWj92iUv)LcxWQh# zkSFSa=&1)k)~0W|(Ib-WawuNV+2-D}A18cI&&`wZD=)s~bjW$d^^b-kQBkY*Zrm2L zwJN^m&iSu=laoU4zIk?G)!yz|CX0V~_v;?6y0_}yI!n*n%si2$dB@(Y(ynB-zj4vy zd@I-cZC46xgzlvK5A@6Tg1L4`ZhXj;p!Yk9$v8^krF-tB6=pBl0L zkNMgU2WGD1<9PYcPIPw@%dw@(d2hR9g-W6}6|S%kJ3h6A{1q6-v0bo z8Sx3+*#607qx9M^ql;lRzv~w8=ZgeLU(fvUF6&L^{{D9wFN$smYaBKR zzBa8mz1LQXS$nRY#i=>3k4$*{z;+{NTSm5%@}3_zIwomHmcN<76n_1!ppQA*)Ux?0z3 zHkU8AcV}-oZ)|b+paIVk`&CCSs6RWpDcbGx*B>pj=N7B=e_eE9LTzMS((Jc)&uo+6 zE&1|MqV<>Tjf_w69kcIh*;Rgzknm{WAj_hKsz-Vj#V5S^bxpe{yfZCj;=x@?^E*TI`(savmG1MKE&iY_-&1IM z$lR1?rWbaU--*05S!6O#+?vN*wpCj#Jef7Ie`BRf2FE8pwPN*1=2L~w0+Mdo{Ay6< z5Bnnde#XPqM(p>`Y@M{gQ8~$Fovx!!xrUj#mgZbV^L~e&#!YV)shzY~cKM^+i!N!M z4MlT0l9L;rU4H3O{!DuR_01NyQ&$S)einAVezIl0GIw-clZ?t?4YTgeHHk0JF&%V% z&99ued;ja3(>^lXJJu5((^3<3=iQ9cKXv-m3LV}nuD|@;#O;>Lwx@pD5-XUK{NuuJ ze|leEe)0K@fcxw!XMgbj{JGlx&&%uU>pm`)uW?ko9eOA2(+pk5pN?`-!V@k2shzky zwROpndu#TFw%qie{NP$!JlCq*Vz!$Pt1C}yx%D_X`cpn<$lBYXmCL@bzT|3fFXQE( zMN2vyedf#Tnjy~Y{^-ZkwC2Qb#)UVc#I#tPa__KKHK^xhBDR)}l7b zn4FU{o^xw#47ql?OjwBf*@Fk+!P4uO=~pbRaM#`?yJpF&UHAT;{I&1zF}7LtG6nzQ z#k&eKt{w~swtwL5EpY3=S(lC9SgUyLyx8YkH0pkr>wKj9lu6?7yz)PXWM$sI3%++j zTAwZ7$*|(YB+tcajh|N(%xLykW$-$2H{giJ>W}Rw(xgNmd;ghuH)TWklGSr88y>Dy zy6`EuZJkZeCtE)0vqu+{1$+(gSP|A_xAnU;pE?#5ds3nI zO2>(~NmT*wbiUhE#LV<83EC+?A*|NJRPf{u*SS|JUobwC*)`|k6pn69Wcvbjk zZ@zW<^$V7FrM%qIS6}Hc3TfnQUvg8hwbLPwx5rz)Cu@DKn?ZzV@|4rfiZk9cvKBP_ zc~{u%7<#vPYme^7zqSk?-X(`QIK2O+eD!6)hIWo43*FfT1ZSMNQyW*xZ0^{>Awq5%t?kv`)MIUAnBH`DvR=B73xl{-#!ksIR50y2r1?GKU>o z|C8@j++DX0b=jS@9-+47J!@miZAAXnxb4k)yQ@`yW`^E|0@Y6OqELyc=hEF?a(rj} zu6u0(PoVC#3#BPyPEXW-e7V*r)Scq`S#NjjllO;(%D5-KI&f+J+RLG~I{7uvA`S`8 z7G5N$d8GV_#YyQ6pKp8iRUHdBYuhwCpKXWlqL79j33ja`>|&`$Y**Gc%w89udTi%* zo{2eUp1wGC#xm*fi&mlPr*Hp%V{P8N@!z+otG{QbzwX*D$Cj4;VsCKn0oQ1iyJ4|$ zKa$u?J3RJvD^KEPK9tqAXtv0L#H*Ey9r-!GeHSiVopPsWnPa8?lR00PrWN>Xx7jtL z>N-#Vhk&WItE`lypDhqgl8CwYRAhhT@+qSG|5~3ZeJAQ>utnmLn}VRq&ZD|B-zYqZ zC>Pu*|K7-7dz;6K7}4vq!rAk*?##=*Us&wEO|EaD-ksX!b1fQ6&8Mr~?QPX5t4R=A zJ0qRHd|KUic~1HJNBehZ1!amAan(H9v+{IY`k{Ttd0*bL4SMK(Z@JOz9bW{0Y|eP0 zxl%m7ey?&*Sow#a4(9nLm#f@^et&j-bAQPe)(Ww|QujA+Wd8QE$jQF%_v6c|_x#U` zfB(MpW{3Lj()}*Gx+9(JpZc5<`06r6aL*TSHrW?^YowAFE$NqDe*co{(YK;H7k`k|@M3k~r+NBqNB-OwF zEckx0`Sf1rnDu^t?wyG$n!D(NsOGY-exZi>_F0UA=kEu6-EzQ(Ps+<9an0IOAz~Zi z{$`)xxHQFKxdhLJ4zs0K9)wTy*iy8QS-<#VhmPB(b8{y0giTy?w@^jbAzRj8du`nI zN3Uzv&b{(ToALVUuZ3@4@y67YKj6$xV|)8{>bzTjjovET8t(bluAN!)S2turM&O4T ziK|7oJS=t8$=b-@R=G<`B4~E9O8!6nt3lBb;mLRErti48fme{#d)Cpeh%e86ceE>* z3p3XI`FnQn-j#mV?9#md-zvZA{@T%U)c*G8GexsiH~(^3G4HMI_1MI?trKTuowt}- zTq zI~978;A+ zuUPjg$v`!I7iW5QalQP)>;9?R*d3=t`nqlVE?~y%vne6tMPi+xvQNQb%_iBOVt;l7 zH7RPc%6R6z7H?QBFy({;? zztz_azdP={H0893_4G8~^~KChSMJW(m3qTnv(}~Gu&LWgAoqUd+^SVRRmp?h^d2i;NHD1s6uKaPE?ckNyKdiVOE^_ft)}8pnNvmnnl)pc3 zeaZg(kmFhWY&k_!bw@#0o%&pH7T$}&oL3(6hbBfZxg6Nimi+Rl`vN1?j-#7CTCGme zvXQsoYIo4PdB*M6GscNYOn0W0+qP`@`fb;0p3ifZteShrX1_!6%*Y>b`)S9U1%FgCGO`68v7B5j)+B6hvrcopRN|?E8B5=tF*yCl;Pf4X)9O5%pZT(1 z?F})>bBvij^?|DPrrL#{Uia>o)4l7@|8iwx!sI68@A7@VR?Jk@7uKnudlwFI9=do zP*27_Zm2aU?-R=5zUaP{pjLnbu^lEav zKR>?R{8aZ2i_?qv>71X{&#s?e$M{&fp+0fNOF7*bfe_KZhIK-TDKXz9)@yBlwD!aE z5)ED}J5%qoma%Tk%zvi8SZj0p_C2Sq3vDyGw^mJlUwGl51cQFfzMGE@9<4k%p(oaq z(eIVbKK7uaSNzQ`F$E@1wJ$t!!R-3+Gtr-JnAcp6*|$QbWMVp>-V|{;z7r1@ZlCp_ z_jn+-5r^y4$8#OyzF8n0aLOuPLg3CiZ06RZYCuc<*d@a>gKCez4q^>J@eet|91cFJ^uY4CI)V0el8ssbe-tWK`)q{rRo`#|kz*NKZ`pVWINr`vRri z)lyS-C%<@jjEk4a@9lw?jDBZV$@57~+RVAAvfbwTi?n*T#rK$Rl$Q5g`|jOyrJdig zXu@r!>His84!LhDzvTFPm-VxKDsr6}az{@-_Ln*&>i*A>|BzWE!@L%EzPFpZ&J_MG zUA_A0nyuTrWk1&DK2w^YBHC!qb#FfN@d;(qHQy*o=wyfP(l6X{``67|v+nD?_Bwt> zK<=A&)vq0r%kr;;CB9$u({;ua>9y-+c;i}aGNac_u-$2Np>i9`+9q92l@~ETxc)Bq z(5v6Gcaqg9k-dh@dr!+nH}zOAKmYox{gU2!hc4Vn^}k@YFIa}_V*RdTPCKTx7Q7WZ zWUbSZ9XDNi?S0N~6TN#QQv_^vQa0aPtdVRVKY@RF*cLU*HvX^1_7CUf?f-T4_J^ST zj)I@pneYCZ7P)Wp*+>@g<-fPKHb0!}H|@HQlNy`JU9Sl)8?Nksf6Drk$u>To42y}U z&Naz}-uP{#(|b_z@r3sizkSY-?K~Nj|LT<#$EjIb!XM6MtorKqMdGT6_m1A_1vv_n z(w86lbkB^Xp6!Xrs&$9j41AyP?h*FCzDh1n(qe(`Z?Em~g*ri3-ffFuXK%OSJmk{C zo$m8-^1RJG7pI4ZJcl9U$yZ$skaL*yJ>my$S~;Ut@V&$LM$54?nHFgep2eH+ zIaQo7Z+e?J^_oH0ONsSIR8>+kl9S%-;#fHMQFrBnr%%_<59{0_9T(6uy;^=_!>aO^ zVYe!oTV`&a#PIqDVyL@F!MQ>?!l?rRdCnYm^r(IjKZo1x;CF??k_cNVWE;igD z7}ZyvVjJWB?`QS(3nv*J&d9YS$#f)Xc3*JOOffO6YM;?mbmU~xf%HK zc#3wOZI)_MuVBFzk??O0<$WpFn*L@PbR6cBeR>LhZ{%|q+^A-r$op>F^Mh~aHoxD&!~Vy`S?JE}7Q7BA1feq8GP{ENb;wbt7{@}(^>6u3NvZ_%+lr+lxU30r5+ zxVz3>`TD$7EUi4tS&rO&ByO|VfkFE4!Kd49P2YWKqCG=_K>RY}yj1t%R@3H3YN0%j z&wT%REpDrO;e-dL%_h#xlfN+Q+MmN2PL0PWUYUL1pk2!Rre7UgJMXrb&Au@^d$Iqj z>75ggzJHzl<%avCuUGr-h^wwiUwYEhQz3KBiIP(t5}F_OY*73$;qRexqt%t!58iZc zyC<6D`_*o3+BLIRw^A=3w`LUD6E*$b#pxMuGpeRvw5#9x+U`W0ruV#ZNu#<<#%i~H z?Ys}W#Fb~vV*aNr<{L91Lmk){c=ToMwegf z>9cHSr`&pzt7y7>jpe6#rc2(elxe-+tlrT5^3Qac_D_*=SJ{{HLwSjGleJp&xp?b{A6XG zUHUS9p{=XmIJr4W{Q4p_BX19{2czHi4NK;-UO#wK^WeuByM4+pd@a9YvS0UW-SMX_ zZ|2?pIIo+j?(kGygWVU)H2Q-#UCT{O{=5C)@2QjBswa2#pLwjiyE8N+;FuzZ`nC3E z=XGB`*>e0#;?DRiP-_NDdENS5yq=69nv2)p z&)I1F<%I6`kS`Ce%AQGe`}O=ZU$Sk76Z;v3?x;7rSIbMxPg^ZzBP9~{&t-GzpLyE5 z8TLGxwfKEKW1$+~f)B!LZU|o8DE)B@1J|blo&X1irNKh%&fcG2`pv2+R?qWF-e;J7 z*;Hh*Ux@vad)iYTPJeXt(#kT8>O*3S1QOF5E-;;0&u%0y63Zu1G40hFxh4AFR=w27 zzQlL)7t5uxkh;}=GTs-gT&-3&t68OMo>*nSLEuhcPj}(p16JFVn)c@2F1Y?oTg)IY zW>taALX%A)(y0cOL3<s;rtf(6`$&%>Vk)!InBvtRP}-NBzX4Lwb7#aS%e z@Xx1AF|T{uj0eZGp1CWo>}B1a(`F6x$e7f%zI(0wXm9NORs;{JV%p=`C9}}O}xb9U&Pa=usJnl zme{vI?z!t8hcB_MI-GDLDtyUm=IN}*S%cR7IB+56lYq+}zcil(7PV3$)uE9ZZ9#F2 z+Ko-#RleK{IU+@zB>x6`D*Fq|9(`Up=YnCwGvka$nP>Z7hJ3rG*pV5#Agqu{@Z0_r z#$zcjbIyDh>$cSFilL^zl}id}~5l)Pdq(Jij0D)N}vYd*nX%pS=g} zd;j^{v7h~q?SuF3e{2um|Ge_h|LH$!1ClrNdo(@%SGX{EZ(H2V+8L(bQ{@~bmh3v~ z!T)_m)srKa&dvA`&O6avl6URYvYQp1 z`!av)gaj)u{kaL-k46f_BG$aYw>yWv9oC3BmhoRdTlMPrsF4!tqR8zg}{+N@wz4hb1k7{)hQ* zxY-_CS6}ylrC+&FUngTxCgOHpt-Btsu{qT}=W}}LannmPHQLVQhF%l+etM6_jaH8b(_Ze{m1R9` zD|_byzS(mNcXJ;*u$ikt({s<$miaNSg=aHNh;G&`_{Gdydf&Nr?ee_2XZoLg&c3pG zJ^RwnZ9A0Kdf9ev^<5#QvCpz5Na3qqTb<>iLqQY1i!OI;+rDGk{Wbx=iXcn2Z3cYh z>pgy%^6YIe5$&$ukt5mp@jl1JqP+a#Xc?Z2*VD^G&a3W{b0}T&`TD8Poz5$-E{T@h z^2#;i(Hs5E+ZXOSeY5+yzW?>f!d&g1_BYj^cZ=)qE3Nm})c21o;;O4TzNDu3VCsu@ z&Chd>K57a6@OVnFpWnXC6$d?kl>U;P{_W3^C3E$1qJMn-b7k4weHEFP{q{e-yzlRw zrM16ro4x&cnsw>N_0P@T9{rqudyBY!jJ$q)LF~V;veUo4eZOPN`yIRP|M_Na$-BQs z{(jZD+7IjVcWud^yJJiK?Tw5!ddK(s#m>@ZpCGRG_UEIg++L64x9xpjlYa2S#r65K z>f+}x)pOB3yUZk=o@Ji341+e?16w^sUB*Ck!{+h3b> zd0zeLsm_9Vu;Y?ZdH^z~p*-cZqEF0J1g>M)F!{a7ZwC&?Ac3prjxt(Zo*Qm9 ztNi(M^&=V%{fB-qyzX|p-f+z_VV=Y1P5MVd)?F@`r@AinqxHhsubhyjUHy5;Cp3b&9VQsuj za*ep3;h|glOIKb!vRP&Oe%5TpoC>qY&r^f1$W-Zo$<@-hEX_S-z(9-lKytN0RH= ze4m_eIQ;qR^odQf((ew*l_k_2XARw6_O7G!JlFMHgO8wC#z6wBbdI_b0b+-I#xNUgEmQP6Bu(Cv zv+7UZI8Jmjuq)7HJ~<~{TubSF_JOx2EK^?Iph^{Jl)Jm+sL^w}22bTLP0yWp>-|1QouQgr|Oq*ZH5yjddERPO3b z_gVi!YdT}9Nm0!F)YiuzN1jRh7L{JQEU*~Hq`M#yLwa>vWVEJ-u)yA-{mPOuOC(~_amWp1u z8amf_yXsug>pDDnGY9C0lA*r3@P^gb1L{S6r$%Zut0{Ndw^& z^Xk=Sx0zvQ`!{u&=}(?FQDVu4k9?|ky|ngs@lDOY8*x3;`Sg;BQ4cI-Fkd}{djs*X+rCdag@}W zRw|$Saz1JlJrl_4yFM@SPFd$WwR=kUZkVi|yX}-i@6Gow-ikJKy}dWh_gOjD^oCt4 z%jNfUMf#S=z1P|-wKtL9;ZDV7=MzTE7m}V%v@Z5KDZ4OdrM(5Ks&YA(+S&W}<73*a z-+6rHxv{z1d*{!Fmh~|vf943B%ar*0@#gjGo3G#fRT^BwESGynO7r{fYgg|%N@mPd zyX-x^=hOFG^|oo1f{l0H-%P)pbzHCcL-C~@?SExW*65@x>izY4l>@JUV~k1k1t~>o zCeGqH*L2_dac=vT=Fh{ppL&9Qm{0 zV;}3Bt6j}%TsIzaJb(1!>pP)U8FMuA#BEn>+N5*vL1RJ8KK0b3gP~F8`f1(K8jD`5 zwe?>8{~`7ARIhcjf-H9z)Viv#V=K+M9W?Lcan=WwhP#3r`y$_7In?=ZN_X!1=-8jf*aRx)HqWY+|pDLB+fsg_)Kr zE;G9r?nPgk(>niw#je}C4z?JGdb8!9x}@hg!OTbOL*P<}6`kL+w`9F4n11ff+`l?b zfr9EXcP1U$AhYL@;KVN%tLtwqUBKe>Y+`ZvFS`@cRyo(|n0GE?+5P{}^3?C%D;K>C zS&`WKv-`mOe;Wekz5Z5vgnhfe9CMshpZkZ+S(~}r6*_+!deoH(c&_}Tv1E3I#3VZ_ zzD(;?VWGS}%gf9ce?4*hY+ZPvqIcy80T0Y;IvpF!T&_f{k0o%>x5oZEBG&Jwr zPyZt3QE2%!M5DPkaAj)q@5tWXli9i)!hcTP$*tylG$Z&+fZDYqPG6b#hg>`QVHf|N znLE9=-pXEn&fv@Uyk@hU1fB~@UEMq0H285Zf3^2&ouBob^T&7Fn20akp}LSi@V{Yx z2;;=_WheAcJf65{((}0=|N3;cvvkI8*xUQd+)uW{b7@G2Vbps0iuK0A9}l>?adjSQ z_~BW_6Q*f#IBrVB&s#e6Ei(hM`TLKEJ=zlx@m)b<8%I&n{OL2!ELZUNQny&b?t3`v zo26&Qo6-W&)vsQ73hXowxssIcD&laZuwL}&tGAP8lx*F^mpLwOUY@v1;Hp>h(VW1)A|d-0S-eZ0;lowOr{pi^lp-H? z;$^>wn%}e<^^ZIqw@SAByLN6#jna;oT_(Dj$3D4S)#AFpBkQkvD4ToxJzv z@}uu3cRk8@5SQ7@TP{7T@YbQM^Noq2=jZt!=l&Qkk{lg={ouhZG1=kkJ_j~rJ-%_1 zb7>E^@V+$?>8z%a83p(GLyJmJOfP=hP*YXk&)XjDv*-2h@T>0Sj(Vc+>bCH0IBG9p zr*6mEbwzp2`IpHL%IyT|Ui`j(x+qH4>h1cb0G7A6>a4P_oyapk75(<)A}whZ-nI*c z9S1hdyYi{&m@S)w>ZPy!`#B(UQ8ifaWY9$i@&D=Z=UZr?|ozRxMs`5{!sV==?$liy@B7yj6lf;lV=a3z}~|%e%`TM)O+-mX^Lx5 zyG(mm^udGgZZDj;ZGky!CHssCY8|Ny1DT#^RYo~)&a&;ETk-1Jmk0JA*KCxT7Rhr; zL@VY~?+?30`BH9HOGEE@^Kgo^S#H@Ib$miP_sz9MTc2O+)j1XUDr!eV{PC&fzi-U( zHlDdIM)|qrwqHL~ax0JPCVL3|VSelRf?qOJulV_qa+&i-S?+ersn;LOpLM?O-z)z5 zUw2o}|ND)-RqEr`{xBc%D~w z;@-ATOI~R{-(LQ6a-KtiPxy>EiC^Due?NP<`GeQ-?@#tDzB6;ra&rZzw<(K?!{zkV zA~im5ex~=SMBMc3vttuF7Ih20I44%{>1lLn?y{^)S>mRDR&QIs(vZ>SqN>n}w+rJF z_l8QvS1JB$m6|JkoauE<%4SxkM)|%2z)zxoNS(Gv)~$NxdB1 zU$%>9I!G2QKU~z4w!?Mp+BT6DDJ!`3zqTu_&sx-8tDyXLn^$w-leOkSbANP*BtKSr z&BuMcBWDGFiQ{c=w|}n~g_qaoPcD2mzkX?tLPrqG^p{sH+Y6(VgvAuoiw(I?+!cL1 zIrO8CBgY?>+Ztgz>#x@De|O?+wU^kQ)&0tzSHAw+^FDP;n2GIFGR| zy-{5LxZ93f4!ifPk-pCwmB$g>6)jL6G&#|J$Mw1M*R;>L7TY!V&WrTqFU?OXHug)& zrV74zpm5cES7z5mSF0vx6g zy&mt??=wkp?s%(i5q`sP7RMT%b$SbQUzBTPaPmF*c-dP%!1FEd&-}KBwx=&@*9e_n zYT}!7IYH89l2dGEn|N46^rKsKXG*BP%x2J2XSKZ3u+P>#j+xO46V#1O= z_}0EV%6W6HEjz=*x#e9qR<|-rlz%I&$6$^jpi}e0Wr5)+ju=x@GnD=$<1xD&(KYKQyqDGAk_!-q$?Mt@=w_iRmikuH9xc#kB5~&d5K_ zZt^?9Q6CBx-RcgbTWpDFW z^ylllPHiG__94&XYvwdP7W*_iY4W8bVYyseBhTN6shiw6DP;9EujAoozD6AmWA9)w zDN5UL>a6|>!S_?5njYnAByB%(_FjVETYa8kpHXXu+7m|_3NtsI!*m$eWTq^?3Gks^cCw0#u}I4;E(GmEptO8oEB)$QI}_ETejK=dE`kbsJ-_5C;2SkF%RwQAi- zoe624cVE5p*>U6Y`s=T5cYG*X&Z+44YU9mq64~E-FFWnM$o)L?ZAI}t+5LvjZBJ7A z_~Tl{-wT?3jycTCU3aPf(c|`;zaJQ$6j55*^t<}=V)obt?cY~_7v8JbFI&MhEl6m> zzrR1zZb*FJvuSIq+r9J8*R^)OYZlw$KHaxx_Tqzo96o&fS8?rO{qyI`S(hEok6?Jh zo>r0W%b2h-)yCk-XSS75)2HN=O-=08zAiN>W69@Aqp(z|gMuB4xGp5~@ja@t+5ak4 zvWr(-(0~7{lb6GT<@Ng71(%xo(`2@x}bUT!(-Nk7ww*Z((sk|sKuq+C#&tE{B0JW zMU44pK^e0P@e>Y~vQD*$-Be}oeLwj=mw4|geg00a$OG~ZE`OGo`TFL`8PBHOlxklo zE;?m}ap!p}=~`KhgRIs&zZ`UrI%B!uT-A1;OEQda`2@eb;9i@4^nm}H*C~6}PhO#) z)%u5r*Xp!Jcco0%ykLbNseuOJ=k_?7R5A2ge!LsQ5~lee;+#zKzPvXFH-0&%Bkp|m z@cgN^+|E0idLC>}^qr@=<4}IotFyn~_SCLS`xB)apn7Ok&gT`A?0TQHTUBp~Ha~Ix z{lCOJrkwBg6>jP{yxgeS9t!D3jX7=@!&ZmIg6Ru}(Z{D2r%xP;@f4%poDJzQYPF*QG zBYDd$^w~PSeFX;ub590uw)8iDa3FN0xe z$oi`*U?%$D-1_U+C6D?YKQ{Me*B95xj}NwW-#&l3_|kH_>*doDZ=Ek)SuktmuRpTK zkM5n;eOyE4Rh7&nr@JY#M?PMRU4HJNN^$&#M)o%!n#;}~I8oYMQOmTcnO0G z#%GoHa%Vn1chPN$cfoU8<+V$++Y6KL99{E7SL69wz8NpNR1_W`Ki>W@kl}lYe8Zfu z`W+S3EALHO_>8?UqinVP4QGe1AxtdA_5U9pntEV4Q@!{dzu!(RmOIoaL{@)QZNImQMCvnrwB7=3)QhvGU zfBkyD?((nF`{Lg7rrkQ;)2d*#J-+|#heumPd+uE6ua7!$&Hh`J^@nHqOb2YD+}{QS zm_G}+(!2JI_RP=&yya=lms1z{6pBbD9nf07A!YU}(x z?8Szo`&&tQ{0V=hd7IyLaC;k{3~-sc z@80Qa>gP3;?kQEvP2||1q|ojaa&_Z9&po<|v6YOgO2d54uL*UZz~>uimE6TN@z;-Q z7v^6LQ!`xhS}s~ZMD2QY`OL=$YM;z`c1K3b`lhSh#`ljHXUz*eSlNE%pvc)b!W(8d z9NO#Qs`vJ{;B&>$;C(m4_G?>LF$r${cl@Z>wQlzP^?Xmn%nVvT#Dslt?kIWn{Mg3F zdS!1kHWpXiD(qR6Y_7B+p}BkK#_y^RK5mLGO}l$FOmsu1tJvIEsit8!Qf~1p`Y!kL zOXrt7=EZYoMaQ%!H#%-wH!B~tYCdzDIeJr)`JUIeVow{Yh*;h@f80bPCSudYsK*ca zx-_y}mNkBxndrY}@ppsZ&fxF;TNtLv_x^WYsNU6gx{ujx_RCo&J=4ByJ(%Oj{gt=k`(uC(9dvfK1dcxjDb%sR^@=`CWXf2!XV|KcKW zB}VFwp5#OJR44y0@eEy@EXGN^bI*k=&AjmBQtB?gHJzM_!nrj}x_|XUeT6>SrDe=m zvU-h^Z`@~{e&?XcOU^FR+y2I?Jk!A?=|_jc7WEzf)T{lh*qAIe^o*U{HcWb7d}sH~ z4W1`{?s?r*;>Na*_Y zT(?=(cLe)#)cuQVCigK3e_>#fd+R1s&J%4nLHeQmgDD&LNqyPsB0ovMw*TlMA7x%o ziACqTI(N!%@Be-5_4i|Mg(qnk6&;_r=^97-SGL>FuM|eDa9nnzW3T^yEy1iAw?n71 z{9D<+vGG^To4I8N;yc{AdAILd9r^0E_UeMTeaCa)W!X zvgbEj+4;A)MQ=>K9R5d>t)Y>xEx2IAk)oydG~1X?iM48-_b*%)o9Sh#%lD}A-bt-{ z^RBK7_fVg6W6NhpxB8Pen#5E&eH3$g4Zj||y0@_O{tJGG$;_u3zJ%@F7!m%d_}?*3 z8wRo1jdNZ(=UiG^XW&zDT1)b+fx^k##vN@@4w6&ts^wLUjF>lR8$4TKm%xAV53{FH zX{%5Eg2)T6u36kVEKq1`cBAtla}#e`vc@w-5w6NR?vs>faddX(ew*pLZJA&C^pxZ? zS06on>~~b-*D7NrXM?|8PI-lCyp8)VymXmjf2d=vwQixL;@oYv_a^F9vfCcnwA?rR z{TjU&C0Z_5yW?hONB-0cvo*+LyZx$biLfr~t@~T;v+sw?np$hC?TURrVd+cxl)vBJ zolDhKwOv)jpka38W{8OrzgGLco?y$}!g5!6)zIs_{FkZe8KegPbH%0IJzh!rYylc;ju~#pa&wsx5&|mSIqN@|`ypG*EZ{Oaz zdLR95V?!^#$u2Vf(A$0e?CW=zHV97hSd?T~Vwkss$HhXCv+D zHs_4K_+r|s56g!FY@%IX|Xn(kM?TG9(nwgUo!24MvL{Xu<(U8o5S|rc6@05q=I{* z-uqu`>kn@K{AQ<#P6)%MavOn{XC#tZ-)yisTp5tHcJAAc0e{O+|H_bG{Op2$07H zDW?NwKYDOsH}6mROHC2E{a;shtKTs?ccraP;%Fq#cdv*49rh_4PkR2cBk(uJhx&l> zw`X%7yZw1z*BvqWT!-kJ8`r<}dp)e2Wb$(N^qoumkDt{L%iTQHbNZ4=%eL*SuHVhD zgMraw)8j3dckYZhlDx6|c+$p*H)bp4W>(tNq({w!omu5J2YKK;FK!tJ^IUsv3< zn!j31=0B58<@3iiZ&}tIcy~2$#r!#U+^4Zeoc_G|@x`luc;0*uj=UKzWWctcX;#Ua zZ$fp!HFbUemOd9Ye-!(_RZ}~Zw;_R$)&#Op(*>k3?NUp@= z*!pvIpFiopum67c{QWawMix7b11_Fe*}7Pc!}j~6=(GH)li&Zb*LxE#PwZNz?!siUZewDu z`GjP#fQ8k&nIDzzkDBARi+N4trmGUp=c--24&?+%{@ohzbDP;`=H(VaY|}*@H=kc( z-1=)p&YgYjzUwZe+%=CZo-93U#+r;8-4CTwvmew=v(_@)8oF9F+q(YrWWQ(cKUuT5Qh=;EtOC8Xpw6}WMlGezxE zKP(!|Sv~2ilJ*ScbLWySW>w65wKQa{vG^huhV5rV(=vO%_U}2}cI0c=DaL+Y&-;z< zByPK_dr0f`es9#1y`m{!w4-pxgTK4})+NiYI<3{StMk)T`Dr`n?73ZUZYlfP{^mzv zg;>49p59$=A~*N$O?9qJmhY9_^Xu^Y_&tBGmhZ3cfBTO&qAKiZ;-dZr7LIo{n(x{6 zny;ObCV%;_a_yzU@?O5*tZBmb`(!J()*S6;KK#R==>GGPy)$lQPY>%mP;}{_x5DJ@ zMu~Q{jYn)+?-u9EH?wa_ZPl3b^wGqfAvpr2JqP^UZsdKG-Xo;`@0(ftTIDU>p3ip5 zy>Q4VhA8FjgR8xn6;_J`Wj|gi z>I$f?ep6Gd@80oa)%7yDo9aHlJ9gYV5I+6(v5X_9zJ}~}^RHR)?X+Cs?;i_~FOT~@ zu`oRMfmonQ(sVVGeSP!lIw~c0KiYH5d^P8tBUc~9q@=q2er)@1X8fB9lS$m?z6g4I zi9PuVxgqzPDXCQkowzlZ5hoS5&;t$%cG z*&4GJ{*CTcVCHdo;ZUM)w3BIa#QV){5sNl@8LeonG~lt^{k{ED%hJma7MKX^>0Mp0 z#kze9WVd(YjuyALLXHN@F>HK&P(gnUH# zY)Yptvv<6>kYkpK%WQT5wYp2Il%0P&xYqHha~$}zwu@gp!{W)2RNv|iqPk6MG9IM{ z|5RDnHN{@tU8z5*nBg_IwB4rNq788;3s}$SKKym@6Ze)K&o}a@Jo(apt#}2~jtOS% zmp|-0CsaLGQeWC;m*3kQwU95>vkUlxk(Ht=3X*AUCS!vbNpfXvL7bT z&Zd}$iA?66_{1~2Vc-6w757RGn}udc?`}@~oqX%Wl&5dcaPuw`|9X4Yyg7SRCf;=Z zd~?(7dQP4AzbV#L>^(Bwci)%xTwu)W5!{}bq<-k%w8Bdt-4bLX{%_Q=J7~69YrV#? z0HK@L3wq+Otv2iXAU(&+YP?*}V_HxS!xye$qI7 zmQDA>qKtzbm15GxmuN*P0gJjPImk;ySJlFcirpBo7b#H*snrvM1n%$J_3oH?e;|Lx%`<^n zr4!Dk8yv5zK7C`aRndjZFQ0Kou3VUO*=_UT30pNH`wy>}bmXadmCX5)>oa&$MSKkJ zKK>}VZ57MIgg}WcKb0NgPR%g+w@+BHo!_J5z*YW0n@MrC#z8;Q#m}%D`f+e$wQYWY zTNKBxxgVa$mmmGQ@K?~Yf)gbxOcN~+7Hz-mAf5M4K2NP-)&-sy=VsJif0!Y9c&(e; ziTnH)mwrFu>p3e<{c&R`o7cy-dqEzvtJmz_F!_H&$;)R6zQ;~%l+0Yz(qR4FJYdC! z>%6yn&VQ^Y820{K z+5W)d*VMi>!Y_?C$9|b=)}Il+`DR3ohGI=&UY6|NP5ZQ#OrCS3amI)C*FRn~t+ZOS zQ1VRp(@9&@&YJZ-6q+iw#ZZfFdc4WkS5j9Q|6O0b`t?Nh8l#yDzs!8cFu$b#h04xv zniuP*I!V5|T3Rz@;=4)L`DebW-!C8_2mKj|Qg z#Fb=^)#qe|5^l+sJPo~QCvj-gp@g=XG4Ut7*XkV+n<%N4*}T>Dqt?3}yBMDA-?^=& zMskzLOS_ADJ3XCJ1^#z$Ir%}aA*`mvQavWpr@hGT&egBKt$9?h*8cda`h`VXN8!W- zC6_;Sx2+a0iqBoDxXd80;Hpm>4qv+J6qzEs zl=HKvmyq&d+Ns$bslJ!XB%_x=dKO@dQS$&pJf zQdu<*oi3ToJa5*&@WPh|%`;+R9)9`Erehay{=Gp!d~)DYu@H|QMQ4tReZA)cFRnlJ zeAcH&MZ$|0|4~`~d!A9NzQ?23O4+NG9|{FOJ-VakJJ&yamXf5p;v?-s8^JoEKYXl@ z?wku!e&ZLE?{$$v>^mSm8_wmIKGq$%c;hK2zp6~W$hFrg=PQK{3<7{BC zOTm-_Y%<$2x{d|>`eS_4tnRb2IlO>ID*Y0dZUP29HkaQhOz zWofte8Tj4xK6kHm*Ztlp-*+nOzDhi~bKZ8{g6xk$-8CoKuD@JA@qdTh(E=HR=p*-| z7w@q-ygQ8P+_O~~hPSLL>!oIi1P0v@=6t;*)O<~!NVIj0`{x-_D(Sg3u^E;MayCcw zgnu6Gsa}|IKUA8Zhx0g(vEe7x7_A1u3EQ{-wcW#F5ia7ldq(xN08PE!nNRLIzU?Yd zm?$QGRX+Q1wVu(tNxk08QeQg)r}0G}{~eg}c)DoM{m!%TN(uK@3$Ix9;3oUMy2%C! zzjx{?nB{bSeU*4#Q&Vcm#daxwkt<4PCQMcOE0}(y{G7S7^;(NVEOs}aUedSzx+~|` zmY0byk8iJ;EV<~fOTe-BI<>8Tn-n?jMNja)%o@BVujBXU)U)eFFR|1t5OQ)WIaP6_ zz^iM?hO1{)-um$EkNdsm?$SSr6v#|);i`G;*I4x-Dnmlpe z6wtC#kl^+M{dU zm%lr7oEGe>eOmkR=?)3A^}Adv&ip#Jq%B8A?wh+;-SNUFk0lRQ>{uKU>3ZQ$sA$5< zkKRdPVf-D!lO^9DcwXaRTKO*w%h$MD=`Rese06_EAg7qf50yUVr#Z(KSYD`j^da)hPd&NN6O5fk*FSCF z?tW7|>7-w$l9VIg$5XT2A8ox+{!uWs!XzsGRQ#^AxUJVsc?;eBBinz;%>H}giMpR{ z{Wjwdxia_n&Agvw5V%FS)Ft@Fq(>>%o?p9SR3~nJ;b8sMW7DDC4<{PgKQigyUZ(&4 zYgJ^u*Fud*&ECo7=9ApS{Z{UiiQReiVpG5;H};vDJ$s)YGkePY)Yf0lDnw{U?xGlm zwX7EoDqm%eyF01+>x@f3uX~6uEiT~SB7Bi!byjW4@%53vSU*N5w5^^N@@@00H=FVp z7K=!nbh>=DcZHR>;$@f332a9iy>qujZ{_kn_;9jh^N$l*`DY$|+EaD?--}MA^%I5u zBn4kKE>w(}$*{n?<;PZgb>Y`8H;jI5FL-y*Y3b|*OSe{7pVm2@mcIA$nm-em0~ijU zj9hk3{pZbFTfUjB&|h~rkll4@gS_yH{#NsIN#=2gvKv9yN>k8bz!` z1c}|CIoc+k@i1s?c1FH`mt2sj_j>V|61Mtd$4o!-3hKK=7o2~8>gYm>Vt^~^e-6QUFUU0pS)=BxR#55eDrX3sxz{m9BQ zucXfXeYJestu@OINLS|V|1NpP^Dg`C17BJ`9MU|bFfk(a!;_aS1|PLnI##|F@Lo7q zW^#woQCGXO^>-VNPtdHqaYRvVX?!H>SA*qk8E@q|lRjmhde2Z0cHp!B&A)!nMA^@G zty!I@KRr)>w=(m6&#DwJljGJWk8KYKeS7c6LL=WP=})|}xBOh0x8t3&b8M<=I3MFj z)#%+1zU^`7ebjg2?3-B!_gv+^eQb&Ay@IF7XFoS2D)Md>ckU7qKQr_EuJ=6qf9TZ4 zhPZK6+Qz$;EV;k%fO2vlOZ3sy1zM^1M43me_@|RX`guh)X6Fg^M35}vMLRUuJOt%J|p_; z)+-H;x4$p7L>P98=*;_g|5;1-9-X6XD#HIKEv)vmHu1=4R;V;x+T!;({nA?ej~Q*f*#pt<&B9q-f(u7sune-z2Ahb~i6REVs&AFOl8a zc>DfWR$|Nr2Rm=i&8mA+^z!Ef-kKdNwO0zvSDd-y?w$vm9;v)FuIE?h*)?A%r$_E< zqxVT3Cs+M-J1nl7uGzhAm*owI&zE-GK9hFq@KWFN(ypAxjzu)hoyHNLzvI}Giz%Nt zKL(sWs<4SU_m%wdQVAxf*wky4J9=~U{=Lt=aOvDR?Y8CxeBW$7^2}Lt{B}jdnHrs) zpJbjE$%{0;(A?_SH>dNY@7d#0N`LLX&(Z(4cz$6_!O59oee5sh;^` zt!{Juh2;77ixQrz^{ZOx$^U&PGQTe{VH@YCu=c%cW?t@yPM@)M>9@bhXHxHq+e|I) zTJ4+mxLf>5lYyk+b%Q6;-kiEdX8a}l?<~0WQYK=3yjb_tA4MG&JJ+m{zc5kCLXBJF z#lhbCnkk%BWe@um1(?sCN@~*YIWOtze)sA!Z7*9p9x#1 z?=0D&eP89P-9hedfuD`n-e83U9LO+ zPC5Qaq;&UTMbKaZ%;lyu-x(|F@i&?m5 z2Zo;0Tk+TUqK~_3uKm;vGnU6MNi%!5?b}+_KU+?@fBSw$)1Zs5%kIZbwl4>tJXn6S z=W+RqSGEbfJz8(r&NM%|@8qlc%Ri)Xk=MEIeciKqr2`deW>1${{QCDV;Vn{O?;UJx77`?Sn{@bC!cHr70owO4#uGLOBxoD@xgR3!4 zv*+w6i@LSv%>DwK-tJ)M*{bYzi9NG_=iTEI>wnM{D(v2|`249&dTgtAe%_ZkmDl^n z32zORr0S}Y9iE?*({HYm|En3tcAMRxd5P#*x2?7=kw%6A-h0+hSl>7MSle8tHOck{ zAG{XDSEi&^i&!Lyy?tzZ=Ec+HKc9;U|9U=SKYM5|>)!Rt1x0vVOOIWWf3I}EF8I%k zs|yo0ud@91>=uKb!R)+a>q*XP z-`^igW5XQHJ^gll+q`O(^}P1Ow3?JM7Du6B6W#~r)G=AyiU ze#EnFp`M;wXQYW}>Lob-KB@TU?oF>b**q>O_TjT8D>+?1r=$7AeAiV4%LRGmY||3_ z6P-5(-kN)}_05@W3YwfRGTUZ6D`l&gp_t2ay}VRDPpZf(Gy2kYvs!hxIVqbiZJ57r z=fk^|6_f0}57+&=)>fYWUorSf@2|{g={x(9UA8l4`c2xteaG*x$#>kAgnHh;_vYR1 zD-T-c^8YEX_{miFx=!@&^cERUzaVAadx_VB4{l4+{P1ydh$P2J4(pgAr#llTJ~Ex8 znjKN}C|lIB^Qg#WPNPAKiU>wJ59NiDk^JJu;<2vv$->-nnrhgVzKx07F3&> z>-c`po!Yp(Lzl$_ZNjheU0ovZiRFCw1I7uDC#{IPv3ujk7k5Nt9S?_0a$^%OKI+u` zW&Nbh%+c2-sq(gJY@4ViQt&3UUVOUupZm7yPvft1u>`7kth~;uts3)me%iCm6^>ob z>3No~LZ9F37Tb8peRCt{!fQ8zr`VLAz4c5`_EWRl@9AP9BH=+Emb$#&-}uXRE#A>xJHs#J zo;W#iqtKZXO9V^T^PfvpRekDXHuZ_t&6gnymU?F>) zhsWhchZHhzy$x9H*88Kf`&;aX%ZCe6_sor764pA!L%(Oko4jo2Q}>H2XLL%5^cQQ~{-t^A@i70o0}sWUm$n{s zzF7CbNR@Nb5g&`ornfE?RE2&$VP^4Y$1e$PGY|cB@mG0o{)%St<)6Vl_tOLA+ybs| zE3;CyCh(}4hQ&06T=rks9e0J}TkI-^ZCZ)5v%R0`+Bv=1A?_B|sn@`1^k%1eu=!KY zkOv$F^Um7EPD}W#x^LfE{;l_BZqWD~+VJ7JdvfdgrOp>NjLsf%(@c3(%Hv*WZWh{QceBcl_knu#;4{M zBX#43)NdCfi`ZA{OC(lmxc)vRKW+7~wa>#JyxEr%Tlm)HNDTL_qV0}GJ66{FJ=`#3 z)_d0UdHt!oXXzi*-f5KXEt0wl=I^->XBlYCZNpS@yj@I|_7vHYG^MBUARaWYs*PP$Xp?B=_ zEN17>Ro(NII`437O`g4i@z&8J+uq!I+7%#`(VBcdbb{gihV12QB|?sy@i9e}upLx5 zqMQHEh%b*(hhwKNZz$hw#{ZTKItDQ(^d}Xoy?K1)CxfNn&y04%&i;)V#hbpG2`Ju| zmbtpJcVI;?6y1r#j}vo+rMX>ae>eA#v`~LE%qzGc*@=%HMgs`seZY0%^<9rcy`XpifPlBemKpYk-loFUw=+&S@l_kH>*{a+Ur&yJSr)5 zhC7{m?H4ht=ZyEC3x+;%-lZ|)UZ9k9?e%^~kBMqF{>c+H+Vt+lov3fgUMbufR>7^% z9r2~l+VFkk^E2D`P5*n4r#nT<=e6$FNtdtm#ok)5W}@h8J^Pf_ibXjVo6b!>;`YYa z?DO22+k`*OY;s%>F=4vk7moB@6@n}72OWIh&296LQ6j(hYr(Ond_B3^KP0jzUkefc zHv45zTKT%~*UvqV_!oJh{{LF3_pBCsvnR68Gb|1vtK;mqJ%RnRbKg2&oiAp; zO!(o+-Tv>zmOo>-QKfr*XZG#-4;A;e9Tn9%>|i6e|M0&5o8mU@7q8;r@OJ$YcXgUc z%aj07)-!R-mYj+GIpcw1jIrgV_I*+2dtOPKDP`^T(|Wf3gl}G;U^}z!zc7QKpam^b z|8oPDEOFq>XTKCsU^5{pSHW;c<)PdsTt`z)3RzzIcB*fwD*vvut8Mzt%u`SEl)`Si zYp*Oy`~Bg;w43X9#FlwJe!Bi_lB4X#=4-L{zAP8p&OBR2ohxR3V9Q$JLvuF%UAkx0 zhTor=j2?NNYAr2mp44u7*UsK) zSkzXg!=f&8cK54qvBkgFRXIh!nD#An?(}(bb?aNMN&n8`w6%C&U{lEF)`x<6E=41GQ_K86{RsfE8FiQf967|+55`EPVFmFs&Qc(eAI14=jZ8! zU-~!cf^+!!lE=RcdTRx5Me1_TjB{NUo3ceFD$4AFXx3dZJF_#{D;UkC)8&`GIoW?= zeP^a}^yNi=8P{KLFrM^thSQKMi z>H?G2wRf{`ANM!ftrq6??2UI?bCdDC1YW-Vt627JGW{h#*>alqmd`Vm&wF0mn<{s1 z-vkC%yUK(^3j4lH%W@6gw8?wxk?Dt6O4S(DdOxe?Jg+eDzm?$jfkE=tId#8C18q@n zw$G=Ql`~qiykZVcoSFZ}$lk5lX3d@8u*;U`3|{trG1fbCBJLG8dsMQ=@dG#iS!XPq zsQI9JseFOxy49y{%k+F#N>AQ#=34rfbqV`kWl7HV3Rd`C`~RJNjVa?fk$RB_Va%qR zZzP}ow=&_()dy8?CDqQaUq5~R!L)S;P1*T_IHyPEysrvezp78Y=dM+%Uii%^Qwtvo zH*f7SlelzGw!z`b(-q6Nf9tmO$-QcPM(h2Y-Sc-J2zgp4%)g0CebvnQGnIZ;oDV(~ zn7H|w;|+-(+q3C`QD)|4)7G1-U0J?8Jm(y<)mwAP|99s4@Xt~WF=G9~W_4X@-=#l^ z>6(qto1d(iVzp~U#Jv+@4;((vpR{ACjkT2L-G>pX0wxU7tF^ffuYNQA^Vzm9#YeL< zl+0$`*b|sZD@~{Nsu~da>HWU{)maYC*R#L?+ zJ-@+?<+4e@LDRLfMS14Gbl=0hcgm$#D>ke-?)_&?u3JkYZ@=z?F3EGBPHj7qxX5?0 z$h5BkpEhq>EW%J+>2foO#bH{i!Ih^;+;NGl@;eRct=l@Y4$rH;J7rDWUX9fzT@w%S zRXN@ZyK+cNFKSYbkN>5Pqg~Z2T6f-_$gN%ZqIP|4f9|vYy?ReJ)~}rPOhl0()6&K= z-{s-q4O{xXIdpnMq?RNczxKBL@Q2A)JQ6h>%8#4yRvCQvWd6Ins4?s9v$d53vD@}s;XB)in_k%U-b%a6wR0?_3cJLMb|RFZ}ip8Qd_L#jdt^;Dc||1iYr*={~L=j3;dZjtkh zTQzl^`~?;rSgO9ZO-#G>ti?(_eV^sV@+!}sUt9CYyrng5d#_gd-Qd-4Y~+NKkNqwA z-1Dwe?UVGWjL`CFY%|Om z>-L>V@vyiZeDiPY&!-!cgBU*lnKol-=1hC-WYOr2p=%ELhCJJI`vY&UkMJMGy5QtT zr{<~Go7{9>cqEO{^Y=0<^Z8jzyCuGJOWd&(T9bcuyQv9->wk@f*WP{SjqIs=lK5`+ zuQ>-8Z~EMSzvkO>`yAGp0|I?XCEiI*2%h-N_pZtnuBK?)J!Q@BDrsm*Vf5pa~?gt+Mv+8 za7n(4vf+yIC8`@128t%}f4TnLH&0`hseiE=*ZvLv!*2=JUq8R4ZC%%nuZ3T{Y6McB zWj?Q$e=qOL?z&G_%yO38tlu)bzsqR-)4$!b?#AOCFV1YE?iLT5w`U*gurHgUvEX{{_S-sBoWnXe+73xS-m$S>!q!?vL3its%*{of zQH%YND_dW&cK%=&&!!u-#nY_FMJ>QAmr z37^q&+2iiLTdQNE_qmy!-le?f#%<2UnTa!vCRD9kndQuAxZE`CHJ8k+{QV&_r}6sK zzj+u{_3yV~+`O$vSEu&QU9jY~lZ}Fs@^_~AZT4-4J>MF1T$}eI`mcuH8Erl{NjVX@ z*}ETl>c}gm{pb^mzQ16`Rp~1?SY*HWuW>y3>FMTdn|s!WPJ6vsyrCg6;lqya zTkQ1yFwNQAzwYF+k1}tzZFm>(S)F-@@n-p?NBgz@v-)z+iuzWYyCG~Y+hlZQ@x^gMgHlfQfeA{~}7CEoM!ad*POvmJXLn4`uhdGtu}Yc znZKcC_x%GWGyYDwx9O4O7Pnm1t4HU^tTR?Kt}?hk(O1~fnfnI&z4?Cg1dO?Qm91N+ zAK1_{t0au;z~$7xMHTC8rB;0QHLN`Mw=`nK)g_Ku7bed!cbB_qceZ!R<}-^|`_BFP z=$z`e)u)$xXFsUORGs^}rm{%W=?>FTG5^ntZypl+F~k3x*ek8=a~)%j?Fo|j`}Xec zZ$JKitYG2mj4=NE`p}b@`8s}^PiidwbNoq4`4Zg;>rBpcYi#+*>Gmdn`-;h}0_*+y zBp&@R6lXZY-Bju5csWID$A=^hLp7~Cuh;q8&AYX?NMN#H)w*P#YWu>d2-f3?Vj|OZ z6xvr^3+p>_o^$JzRn{-NC&e!Q#;LM=g7Kyt>E09Dt_1Vn^KF^my2{AxcDlyDnJL|; zsx}^KvTD9_Ej>3`{o%)jAMQJe#!YdWXV{pjCbrMx@n*jZ30ya9CT&;AK3J90<$v=> zd)U6W7s5)z{t3)pw)kF$M!snH$?VW0JYPaCcYpqC@JFWF;YZJ+^K$Zm%!j?|ciam} zt&eE`;Cox%^ZU2f+QZ75PT${n^YDUmWxtk8QaOGk=aL=YvUah5@3MsJlVhU}EZd-Y za`~RS25FkQp0jy*KCxbRNWUa2@3-~(qeDCTGB!kO*ovID@0V^}KZ&>G@3ZK1scV&z zGq#_gS# zJ++CQlh^y}waj&ipqx<2MeXG;%ALA`8zn?Ox=%3EFYFRd_jce~cZw-rn9t~)t!?RT z`K_FSEAD5_5eh3@__wT1JRygnZ#(9pRb}4r}fLX zZA+``TvdgWIc|H`?mp7=#d1EA@uE?h*|tv zI;;OMb>2Q_wqE7d@iYI}IBxv>e?r-@wEE8-*{Ytiicuk=$HWeXy?Eq&S590dB_d)H z$Lfh^CartItt(y{{{GgLiP4$M+m`gb?4LV}>s3y^=c*ZvNokYPCIxZLY+kj+lh4Kd zYKy><4Z6vUFK5_hHrm&!-+1~*!{u7nZf4(<_M7GA%hd0uJp1XfX3@EayOOTHPZw(W zdS-b(U-zw38oE|Kkr%|ShqzY+1pS`Ka!5SocFZz1@vLoSL3jJVJ&N5cd@1JABb|Lg zmyd}Bv29ISeyHT?haVDIvdVJ)!HW9=71$JIHY;(d=dS$t{p!`Pw{QKL<&(!PUCSQS zxO*pmNG{*=M#Jf~YoF^mt$iW-WDe8zxzEL(?YsI#Z=vK4$yAOe%eJJHoPYBkz32Ql zZ^nM}AJxtKv;Xa$r<*lnLB!kA^{;kC_HQm%fA8l%KPE*|RxRzhf9+EJxW8-Co|mjq zusQGN^X}x&mn--9#XpNX#xm=x=jptkRk3GRGz!iAy2$&la&XjF`{RO)Ni6?Wug>Yz zQG4LiVJL8_-v3OzfJdmBu=%0zG$a4B_qXb`B(pS|ySG@$N17L3x!NAK{%+n^m5hLG zM~ohQV*L{O@~6}k8w*(-c0YDi;U6d46FfO2csAeUVxMM|A1eJL)#kioquu*0CNakp zJFJ)LU1jQIn92R}=GoK&+s9Q!vf)w}RJmroZfkjdXvzIUCoR97`yF!XiqifopXU}F zNX$)SstUiw)?3c8N&Ch3rnZkN zX|5kCeoE`so?kpqq;1KC-wo_bSpU3t)KvUZrmC9tX@1KasqgQ(WM|(!w;`}hI;AsW zqjAcVy~-)e3d3)dzZ9%ov`M%m`j_4X!~SyizC+Oow;vyyuwK|&h`&ZAbiXh&tNL>p zro#@K`?VELw`fV*ugkWp&(~iVI`O0H#fyAyXBf6eD;YB9H7aN-L2 zODmamBZ}pnOAafX+A=q;=K7a6`nT^mwaU8v){VM#KY#NEeg9j*@BD70-LkuXYq@Gb z{A$KEJ64(J_J*Bsd;C50GXLgl-J6oWM66!;X~tU7?d(d+LN4rAs5q?fb@ToohaEB_ zZwSoWZ2D=+|Ffl0w;H`)`Y9IuFn%Iy#=qq6;yq^WR-f!{ZMQzEyUZz3 z{8D!E#%WD$=XpPD`EFsl#F9a5o^jXQd);T0zFVK;J(1V5!@%}5w;Wf>S(a~o+m1!7 zS82Mmh;Q4D5Q!2!+k`W_kDr--Z;$h2jlT@OdR!mo{3`yWbxn*zX5s8F6S)rm_}RCY znWO(~Fn8*xcBUMUfZ8trq>UIHhx(_w~o!E$6)@=4{oCX6=2m_M3e^8cFB>9DOGe zQdwZVap%VE*F~qrzFWLwwNRJTo5HdK*2&KlS{~H92i;$sd7DL};)K=Z_NcY{u1t!W z6(TWDBJFaMoqnL*)!yho|Bse*rpz|~5~z99P{I5DsuMdtg>0Da-zDVJlgQBMqQ%L0 z=GiI!oh#0ttz4bX>NMf5#m&Zvn>}wS<=?&FKVf0?^tk4A3}-ENpLjiG&GHq7C9}ST zU+<39`!d7c-a2glvJ90I#g}hSTM=O)zw4mV!!>JyvU`G`_g;KIp?K+x*r%sN8MR;M zv~ugtnRU=7u+7&@iEFNJdFa)9`Zh4S{X!n-c-mRfS`&XNmz^CE5bZC|_T ztGcLLYm2$i_r&!(*Jo97uWNXCb%Wbh1qBf&p0em25jF?cY+Ixd@#v$iXsSo?=DKAb zMZ#N+N{UU}-1ldNsplz*=E>S$bnc$ir8<+&;C z8#?z&mb?^sDb4-FiszCK7oTd6?vvlA8}FRxN%vKlZ2pGf_Y}7E6~0>5H@XftHTNZZ z|7uA47odBX<+;Vb3sqh%QL6Xb*9KnP`@(Y8TzlgM=RB?Eq}*1&d6`Yic$V>V>(A+H zc#5lqHK)6l+4(gmSF27c)j#n6LBHsS%kL+5zqaCgws?aA@2TYIY4Og28;Wv%9F$5k zx|+4`%*4*?ix1pNddIW!_VK79!HDX!2R=ov|2#?RibJyRE(wc|$7-JNZ7qqOI6LI) zxit@UznT3z{=~n}tnQHV8b5FSH5=Bhn#;S}n#*|oz4{L?tFPPd`TjLLKDOTRVD(wA z8);iETbwwZeP6(IZv5}Eqs`Xr?Sj!2wo(TeOO|Zit8nwUZp^tKGCbeUozHbVE&o}j zOlb4tYm%jh{@ToOtN6F+fwNrQ{6(ri4a1b0BDA>v_8pQtq!_-|@6qiwAGK6hT6FZZ zSy%Yn74~z#Y#rGjMfQutbbQ8c_kL?)XXcm2ZTxjfU(@XmQXKc@J|3C?#mjLLx;KJMnvBH6b#Th98K zP$_aV@c4<8nYp2jpUTRaa}Vuq@;B(8s@T|QE&j|indxr$vFr`g!?emD7fk#RY&avS z^~L4>V-ENAIvzf zoO7{TEz279~GZ z=5v+4lzmuOF5kMV-0R+~2h898OkcOa{jtFBHLGs3$uGNHYb_YEuWj2$smt@lJln&% z49+cB5jo?`W~bgo7q?E`6g$OiiKlKcN7253M;kv&-E}<>x^q=y*{$@WuGvfhB1N`` zE;0SScY^8F3z5!?5iXW;+3dmx!rpxs>p#=4H7jt|lv^L`9w{yFiqcA~Qgk<6 zJ4xvOGX4Ijf~QP7I@pY6Fitxgw`ED5?%cACR@x%f{*CXXg|{DCYO|(c+9v7LTd7B$ zC1v%7zl@fgta<&nWC2rTv0kIbtNj@Zwiz7#E^T@Hb@+|bXJrzvu@qNZwsNIB(BqyM z$^Uzbit5*rn`f5u3E9=%j+-DlTg#pPY{6eDOE*g$+9~P1@#tn@yO-g|J3bgjUTm83>!Z{q6^_&VJKfGs z4KDZV6BSj2bC=pHUMFLo2${vrp3~(uSG(;| z#G1oOR*WL7>m1wVN|!U=;nrAhUVU?Ad~i@%9q-M|cE8FlVcrRU*oo`@=bdnEu~)g}IIjZCrXSqOJMU4clF(MTHr1y65QLuAC|5ziXQBig>x3)9u!p zUJ?rle155w>3>zO4exZmiAN10xLx~tH!^8Id2ra;k>9zzWRCcusQN^geM=9f+~c#~ z8J$sI|HI>6w~w``=!3q_OQ$76kA3V*wJ|vzn0;^2%g-{`mPbC{^=I+EEhlu#dfrd! z`DtsYpkDIhdZ6+P*8EnR{8VMWMQ`g_CvKaz_*PJsjj(Z`qJ59$N{5W%KWr*cR5!}-L2ZE9Gb^Cd70LS?aOcG$3NMB zYGuIu9cve~9btQ@%*$g?$^9)slBFf;i5~lt<5ueTxr1k9$|Ux4N}F;8iyrWM`jB<{ z6;rj#FVsHW75^!@Tu|C}M*g&GRtYzt5yHhn6v%R*?U*6aA&8h0c)24MRVmY2MZ8)-B zLhR|@Hjiw{#gF!dhu_spoA}~G;PUOv%5OwpGw%vs_d6nT^MPv@vu!p{i&Wfdn?HBy z)2ug9dMTWDxYl^Tbt|k@EPkusvMlBa>a6mFNmVs3W&9p(4fy?~?8juQ=-r`~8>RP{73-DkG4lD(2n&0=!?r_%Wsd^2)o3wB0rY@Nf`+6k@*US>Fl$X++;oB2(U-QMf2nl(E)DO!H^1)YQH}gJ@%^_s@3i zFjnCye^$Og+Ti>7rP6v!S3KTr9OI=C~Vypi$H9IaX7IIuyy?mKc(5jyzZh2C-9_91A)d}4$B++(o z;oDQsC2l3jPfLo*-p0NCz=UUdO1&DYv({>L9XNf=wdK%KX_?4(w%5+&e>@PG8(f;y zA!=k-v$E3H@2;i(a`kge8yu-S?UbWli^JpAxuTE+J7DWVSW4GSJp2vE)a6vITr%|VRiDh+;dgxX zzqE;mDi`Z8W~aYN@9DX?A|Tu1QuPtx4llE3rn@I)b*!7ubV~GmR_rxfUhbKX?=6ph zqA4Y&@$+%*g_AOuH(n@nk+{D(v_SdM?;RVDOxZbi)Bd#HOFz9H?2SJkFJ8Cvg2?pH z%AcZ}PF&sa>8;rGiNAL>#hR9Phs>0X5B-@IyoT#Y(yn-(-!qKTWDZ8WKJh*}B>ksH z*UA|h<_njkhrG**J7>H5;dF^-FIBFmUC?)*uzA@EgGpK1eJ!WU^BVY+3+F2{%Cv>= zetSKS|GFB>RhBnbb_Y}#2yL8c%MmSNCuN$?B`Nk!u;Y(qXQtGFP4DiiA3e>(cRXV0 z@rqda52ueYD}*Vx=X^W$lJDY;YwpFt`MbCE-GAfov3;kd;H=w8my0$Y;adJ(R7Ccs z*RD0CZ7ntjJw;b8S?hMZy5a7GS+8cU_7x2|kjKC5MDL+h*TnqI6Dk^=CDzO@5#%Z? zitiAfp+51#z0l1LGejp}^Z6pcvcz?ZU*5x8+zpFl(>^4_)Pul_f=?A9)nmb~_NhP_+<`<@3U>gR51n08MpapnR2S>{V0#`N0< zZR)V#KKy}$lhr4S!FfhhTdag<=Ki{^#(Had{w$E&#>n!s)^OFM%Oanpe)>E=qkVDF zS>H(zbq%(k%&Ff$PM2W$9vW)>KAZdbwC|q!*7Yae zb6sV4?CH1l=?x3%t`Bo1BD)r@e5Apc^vv$*8|{3*Uun~)cGljKxpv5W^KXe}XU%Q5 zEsUl-+BL7sOa0@!<=@wR{2f)>)yI|Pv?Qy+<=D|QBxNGCmP38;N=&Uv~4xf8K=}Y5uQP1?W<@!Q%Ps|NDZeaGa z+2+2^lb;R}RojC@Ir~<`%vWCY`^0JQz10^MEMk8m^TRz^aq1DPJJtC!7aLkf)yb}Z zvE=TlPoM7AgkHVbuqMoYQncgJEba$i>)##x{mAIgq4Z@17b6!geIu!7(|avIIc?R^ z?tssUH_p||24CZIpEmu`k4rDAkMN~4%s=n9|B9D@|Bm9_vi)mseN6nlcg5DPL5h+h zLVe94*%sb*i+kl-SY94-d3JP)tLo~doUcFp3!h)Z!_Knf>;ByL+foGM0yG~#;5OQN z-)5>G`|MzgX-{}_E_%*it2gCl+>BPeM~XGB`FW{+vZ;n@cWeW%1kF4z z7H~c4)Uzt?|2<{?7k>pEI_a}{_J+6hYfhbxV(I-AT~INf?av>@D{G#yfIVb z(S^?B(|Xy-yidNKQa_Q(?)>Vx;P&OAc2nP6ZIWP=V9AaYY@c@4J(2TxG*jN*4aKt` zy+|hYyF<@@pWzb(T5gRoR_`TclBxI!4T;=F}i+ox4q)5dsh|9 z@d-V;;1wrgCz+wtcS+TM*YcmS>Nm^v1r{he>^OO`WA38_5u+J9lX>!&gjSsvDh|ny z4qTuTf{DWrNOVW5n-=9&fmuVZK58_OvM}50V|eZq_uu!SA^#x!`AdVCdPTZkc|&cj1; zojAGen6`lg^PfK-mCh~SaQs917oqAV?N>U2ogbH6Wb5u-d_Ft=}S9Xt&1*vd1vcvf{rjgVK7PG^3i$iS+?@lO%! zG1waTo_*cZt!ne$PkXl{=0osg`JOBO<~EHE65I6B_1-){f1VI<7vfT?aMpeUa#uD_TEM7)M=@MEis1_ zdZd0{G3m{ly*R{1|Mh`c-5RV8d<;uOd>#CbEf&?x+BfYiLwnlKy^l62oh^O*WAEYw zS7G)wi!Q`XtNOm+bzqObw#EEy2|AJNtx_pw*``XeGo7RgV`VSBS&(tjOWRenBtVln zu&G&wNoq=$j?c`8pXYULj*IqL()VskRADP;cC~)qk+p033`?yoH3XYHBEFlw3trRt zwTLBLXfei z+ZxM{J`UkYeI0&V;^}6W0%5NB`59k1TiUH-R<1c^6UbpZb@A<|Yd>DLSmnYfKK0|V z>XTVdulb)>mH4`tU;f4HU;Q;w57M{y)tT>^+pFzfKCi#~j&Jo$*%+k4MNnbdUn!X6&{TP2gxUv2a-cW2a#?ng6g z&zupBy}b9r<1@ySQ}TI}D;LXLOYj$9xW71-edi4OEgVtT&OC0l?Rm4P)zb3h)!V;R z=3YO;f8wK;piZ%1%--MAPRSJd3Gsx z$gGYy$!c^%W|JUrx_w}Mwvo&A3^LsZvi#B*YcTI<} zdcgNhAtf`me96wPj`2>~x*~FgYv}IwGi+B^T>0}-|K|ML&sOEDg&DY}3SUXYa%-RbKu=I^cHuKWH_sBpJf^tKCUH{|TI zk6itH`d=4c#kjEZy3uC$w|!I>I%@ec#%Yn&zB!i~1GT2Vsu#GJ8X{NLAhn%;gJYQL zy^E*knTIUcWv0huR ziixL!pR+mK-Cb(?!g=H36YK8z-rzF4^7Jfg_J=tV2|g*wwrveNm|xwpI&eW;Pki(A z2nqk>Da&gMKUkD(KYQdjH~ZWr=cZ=3tlN2L)|C7pHEG!@o50J7vFZMKB|?7gv0IN7 z{`p%j5_5YNZ|R!w@ULcZyE&XE>FAoIoVT&CsBcrep(J)@Vo^NP%56Uj4sJ}kDLQ+- zechV$_3BE?qnn}wRxY2asrTd2CG9p9qm}d5MhflozsRyE#hxeo{)&saVUzcTCTDbU z7+8Fi(b#ph+btw(QLEsbz}ZiIxAyK{+O_t~5idX1TVZcf+|TfDU3WCkYS$I9b1Ijt zuPt7CVZ)l$JcYBhZl3(+w5sAp_VrmYv$s77ThlzNNIP{K&%(3Txe}dK;!js_NvkU? zyTxa)Pjvf--G>ic7N4Cel7GVQ`GqrVNnz9FcnULqt#LJ!6U@8!MN!J^j0o;#d5)~$sXEzVpJU)OQAP|WHISJt7qjv<@A>Bj9Yh|b)*ab2*; zou1nT+ADuYdo~6N%~d+n`tRSy2=QBzqPtGF>MN|f@3hL`j)%=H?U*m!y|N#B?O)q` zGES7r6_3kYY+StL(6XBmPm`3rwy)cJk?GdTG3W!z^Q z57&RxCn=bCzm)Ixo|$8)~mYcMoV|vuj?6~yylCXzma3ed)3Qp z!_+AvbG4n9)TB;mT4LGKqN{3QHOt@k)H3%|wW_jV!q(S4G-O?Tmu;UYUX&Hl{liM) zywCeE25W^CX+nSP4m;IqfBkJ4rF-{O{6oKjj6-wo1#aV&y~V|1;COzs-Q8XTyX>a0 z4!@jkP7RmX8OtV5n4&pbN6C7JX>OHF|4BQ$uYA7S_2%S7=8Kr6iAb4o^_YB|m|$YH zi?_YDb)UPtQH9RkFV9wgIL`R3=b(7~azU@x-@Ycu#VuLP({;JEVnWS_!;)tnw@1y1 zQOp&Od$)7TZ027b634f1_MF^hp&AoEd%^n4t#K!6mRgDZnE&p+ee*I=U6X|wj>)%p zy2Lt6?e!uah}~2XO!#*544-w{#@byzha_E%D_zd`%!;-zSHI=QKhx9Mdy_!pn!`)} z%T8nu`nThNa!7w%c=Uzq*NYV1PKYfo^=J$Fes-EQ?}J~PXUiYpd@3IF^J0y%;Ys=6 zPyF)tSIo(|dVc4xL(leJJ3YBpLhJWx_V+io#mzkDvsT}}zM%B2@<+9_f|IQRb$D8gSwOr0;r0@7@r_R|(*-NWMM7F;y`FQ2R>f_d*6m=%Qlzj7hiD}`b(B<?xE{9fHs&-cfM?Z9Zol;lMEMS>(a^ zpS-Gv*pKGisQ75}^=?>nqv?$o3H$1vy=(e$|JmyK`KxX{t=v(3C6<-1XS>isZSD4d z?b#=9KZ=l_mi_5CYvT^t7*=iFMXkcS4zt{&SlAdP;fHQASXR}drs*6WBoZ-mv4Rj z?5+R)?>S%6ezX>-m2wLd8}>5$w;MBA3iMWt}XF6%cU1{OMK^^|0^oLJe5!Hzhy7C zHND;@D{jyFvlmxxUiIdQp_rdb>#O^G|8$a6bdMQvzI57JwIr+TgYN{k43D$vJ!KC+ zYW=aC*yY=EWzU9XTeDgwPhmVKR$nTPUzpA%W19V>-!SXtpQ+sI_i47>mQ+MnB zh-$RbSM0uN*cY~_x$o3lBWC-+4SEb$r;10uYk28>-B{>Km_f^hwP$MWnfIQ1)R49L zw%^sLHB8$jo(t`D$o&w(WBep{*ZYK?3#Hq`riF;}9sh85%Pei{lb=M_mZklhd+n|) z-=T!*|CdetvOkUI?X_JiKAI)$J23s%{)D4GA9AGC4{rVOcmCQXxzqJ@cP%$xwfe%W z?G68QwX+`AKU`p1nzuXo@*i2*W~-AEFF6~%ob$cH!u`_^6!Jh=E*-3(vr>`-yC9crpD%% zgvmdl$@@jViaGC4ubLos%X-&;C6%>b7p?J+5Lr~>%`kJv`c?Bk2iX_4C9hdFJ@3c< zwLjx`B&@KR{OFf{hl}d_ez~m+RIQ{B&u{Oqo9(CGUpG5f?(a9Tf9kUj?f<$s@7uBH z;2*!QeUWmF2xzM_`|*A1_80GOfBDY#e;;3c{<{1R@6VpSE&OZeFS&>Iui{!y-4I}y z%_#Aw@zICx2UiRKsuccz&t}F2{-)oPw=ce%d#CO1z34AIJRRc8eQ#yIpLK=zR(7-K zjk3eL^cQHeZ7+>_AGCYJwNCiil1EbcWW6QG`D8CeR}d^P8)yC z!Y`k`O4qzwePp(6#k==`N&iLnRXQK_i<5o(;B$oP0tvf*&BnR2-vn zo5#iOs%6_>{+uLKUHzqItx&{4mJQAJ)wMPAE}4IL_31u$#$(f~dPWb=#T<=*FmcEJe-i{q@^WUC+!BSLuE{*cbZM>#(WP!@}y^gXrkE~kUpN06` zS$9k1UX`fuySv}s8eMg{b|*Uiy57Ci=Xqc6-E6#_ExrAE?wwhF_y5Yvnp8gd@HyG4 zdi$cyuY%ZnZYOM!yYfh>D9!BLr<@xV@3YG``m!az`usKiy;&Ily9-ltzusB5<>vQ? z&HK-r$1gc=w;@00z`Sd-F9xTHJls&?^Im-I*6&U`|Lq8I`RUjwQldFsUn%$RM$S8d zD_1+bitL=Y$1Ib@QApO>TjZ%$&jdBwTi zi(0k9`~FqUIV?i)8oM7~S?-y4TK3vU)qsnq9@MZtI8k#d(zYs-A5O}sb3$77b+ zl1F!b{r1n?DY(7l&NuN>BB`t&=X-Yw<%-LnsNI!+=l2UyIoZAkXHT*I@lEnyZk2mJ zne+Eo=f=cS-=8ga^E7Y%{W5rpSek`q$sW_L^k?BI(>F#geqe3RTYezKMC;0w{1c+7 z>;H*lE_^fVild-jlJ}*yD6xw=OuZ2|*V-?c>Qn9Zkc;o}QqvPJ)NLnBW%!b&_slgl zM(1$em1B8RI(ka``ChEpE#FYMX4a9l$t=4TO6z`EkS?%sNo{0lO4Z*crt_u~gmn)q zZ759G@n-#p3#Af$%;!b-u(tmW=CJ%_dm?GU$3?47I2mx9aTF1^bHB{sH1o5Ule~Gc z$B_dCCL4cd@T|Z7OGCTY$VE`(q-?G4)=1vqI@Z@2N2kOqK2=r-Wfr(JztlMPSf_Yc z<sPa?f=4YWbSK>o&T3=Z;NI z^o9^!t0E)ko(WU6tIq#r=Z-pa;_$NNzuXv|Vq4WdL@6yR3ai~E;hwhWYiPzA?bpg% zj#4N%*`#;{zA{rSmTf4J0It9QL>P{{fF z=S|ri^(hU!u4m?2#%o_tTeAAa=7@6ZNn)E7v{KG|viSB}Sd#m-YG#da>LpgK^ReAa zqGbHt>P@>X^`3<8EndG%v!GnDTkgQ}Q1fk{3SAeRb}gLa)n2rtr>R~2Y)bdD<$HFV ztrktVP_TWExqI@79Rl4-PujLl?{J?ozdc0!U-ybbi633so9;F(WLiIMmofX3-v=Dh zn}fICXPx@CBGWqeK!bgY^Iz6!uCggQjSD_IoD^4DyF1VC#TLaAd;QbiTQ!{)5tMsr zyG;K@*ZP*gTvd|>%>$PY-hQ{K%w@sMcQ5?5H~r!YvDmb5*^zwhpKdC@>1LEiUn`1f4GcMwrD1EpVL*Y3VC(~ z@h{C)Czlt?zIYQj@2>id1-Y|R%zZv=*c_ZAad*zE*odT6R*_Ryc~x)Nb+A^nhapV1 zaDQiC=#TKP&BeU72O770emqZyzNER$&8i!6&n^^vD6Jre%Khf ziLqL2inpk6=IoD>WpDef1Bc>8JcI7EE)6T) zeBh2uZ&mL{%gz1&^Vy$2=NHSL+h_ml=bN|u3)7FjGKtaS-dthHu~9n2LAuT5&Yj=K+$J$( ztGLg3Wz3q|dL*Ue!W*fVth4X`=h)YuW-k`{tf1S^`Q$1eDZ@CmD8Gyk_X7WS9_CqB zuwAN8r}Hk~mgEOcY=PU}{a;(UGtkmD+%M+1_xlTu!7tV?>-!|bcXq$(b7qY-uTGqQ zV7VmHFYdg2)2yfvpz1AGUkw;_~MYa5sJ#+CuaOmHU z^L9yEf1Q!(t`fNJ%LS_>efJFJY$M_G;(Mo^f86bU^iPPvl(s;Nx3!TGHY;vaW(!)M z4D_6^YM007X?~8fW~;uf>q}z|%Vqs4-|X_Now;(#UV-jQtU1dZS7vqI_1qJ{^kl`p z1IzFAMrRtVa`C^;F?Y);NvpQC%&vzEm%pr7`?AQ_I-`4*;Xbj6MGs{HryugD`yIE_ zLv8k5p;+P4Tlef_^ezi+i}JedE|h2?qN>|okk$P@=IiDQlSH?;e_gq>*wOd-Z=+^D zsof`5&9q#re~JjlZTcF$v)X$;m~8u(?)~lA z`G{w=f#o90)@-moCH75AbAI*m$@yM(zqyu|HecR%;N;fNtmjM*-FcI<|5mlE>inzf zp}hxrCvxrjA}DGX?{n~A!jj{L{@(G{F^6t@^~bTtgxqsAQ1`A|INzS& zVZnCym|Ih_>%=GLIepx-jqgND?~w|-j|Z088prsryTmy)xM6AHWhU9ZzrW0u>{3pa z`(SANVE@MDwaNDs?=ya8*ID|sQ*17aAXq zmTP|4$o2NXArFsTlkPlT@Vz|yjqd%nra6b)JEa-*(-(6bQ2wa&EOz;vC6a#%{&;jg znz&fiukNzsmrDh!FLJ5O*Kl34G&uO1a+Q_rsrB<$teB&wlk zu-`3DwQYa5YWlgQrA<37byssN5shs=8SMOQU09Ov^|ObM?r2V{@CS#iN%|`c3MW;n!lfR#<$bu#<`PuTMs<`lW|n$;Uxb9f2N-idjGZP`kM=U z2ETmt%C<zITl^l~z6LzxdkG`0Hw) zI_dKYKUeGg(N#~^G`KM zmO9JcPjxu`aoeddJ86TkEx)c`i0=`3>Yx7h!Pd&fx_i%_^DS1kY0)*${9j(itRxok zzCG|>gW7sU^EBSC(NT_{%~tHa=lJ%%R=eYVZ^5myxf5pGwyoaO-}vghi#yA_S)KL4 zjm{m~S6mFg8XV`gRXwq3F54_8OOYHem)+9$A5M0Z{mg7wweN1f)1z{SmU#yjzj*oJ zeD%{;4?geQ{_%ZJ!=!^7{y#4BKL4#yIsH`AX9<}T{?|%tjeED3e_s^YkD7@0@(S($f>q)krIE-rk-+IV*6|OLa}{S9`Z5ty!UL zloT}S>HGlM`ZZZ=RzIFJKTi93@l%$)H`)z3?tR~6bl&Y8X40h zEne9FX^u>>oO1TV1?zz4<}-dLlss}Q3T;%Xn3trNap>7g%c#G{4>A{ZuyUxRFK1tW z{H1F{&JuIqcbjjvKQQ9k;vmLz*|+AfWPty|wf`Rdys^cSr{_G|erJi5m$P0aHeOw} zQKInAnpZ1Yolo=RUAGk2x3FwcviPIh_e{+Wf4Jy;>B`0XCa2b4NNU@9S}bL8sTSv) zEeBWgEnWTN?bY~~TMHxaE;N|2%EO3RN1j>bMD;2OvAa8$_3pYpA@xMdZ;d69?d9^y zx0dX;W!PjbDF&zt&Z@^fzMFUO?AR$RSi_riT;@h00>Hz&=m3lLZI z+#emxVBVu5G5c5l*{EwD)mW}P{jS2oqB@H!{Fj`R>4vSF3St^MTn<)Upv$($Lo!C=(C*zihPyTkhFPi?nf=^oX zBKH!XLbv>`NjEMn-~My|g_q*zxUQeOa_@`V#e>EdvacOD!t5`1(%8CCy>af2%h%M? zUj9nCHm9O&hh;?lEMAk{HSNFZgI<4_rSoce%H@E9hLD4rEas0q9BzI37r0XDuSoEP z$=?oqooLq|UK)Slf}VGcqS)YObFV+t+M}8~ zv#Ezm(F({-m6AFAJY?D~=fmm|qt z#~;1l!x`!k$@ILwLvUv8_h-^Yij$r$5vW(5kQV)-rq8aS<;P(j{SOkxQ{0byoHyA} z{o}?Kkze2EzZ3X)Ez(VX?dE&*hfd}TuF+kWpvG=7tiZn7v)=CpPK#T&HfJEbbe3EqH^{lNl#Y3tE>BXY1fPT z4E>3dBs^7kwKkm-TOBL>K%aA+!7X{7S7)46ub&Xx-dyq-D(znV{#f%hQ?<_c=;g_ur2Mt*;^Q83 z&z}1x{&8k(ulS3ft$U^PKYr$}t__jY+mMTniVd- zRA+(2$=tIV*$Xylcb7DB?#ZZJSu%Ii^^a?!bSEzJTJp(%=Kr|Nm7CYr>^Uv8MJu%V zcj`RHK)y5eEm>vPv{kik1)u#bni^|6W7*m#7SlxcPtSRgcG~cF#>yD;Nz39+Uh5Lz zpP9$7>fP^z(?1>jbZ|a*gx4cPeH13m&S)9=^ZSV%7AwMb-yyp8I@d z$4(!nxD_lFi+BtKSIvEPZE65tn55GQlgk0I(vR3m;}%z1EqIvD*qYoa#O!~>GtTL| zF8hovMN7k$O!&PN;W2 zpT}5tKJijp#BIF=YX3f#rJnUaHLVhi~ZBeL$7S` z{d0jOe{$LD_dhL>(*t;- z-5Cw<$l3b{N9*L<~n)(ICs zL`jDoh-P>uQMJQl+O&3)=*;3`jZm?kJrB!YyuI{gQ{)A`tX3AE@7L#V7R{J{dH0fV z9>LJt{of@PmaZ+=4PEaab>e6tn}?x5f7SD8X&sBx!q1=G;L!7~B}&JxWMi}5!KpK! zo^UpI3C|5o`1)^S#RNYpyQl?a=q>g4pj#Z-7j~y*6rxeTygpLV=D&pTPv5FW|dw(^Kj+NGka9S z-=50m+H&BU_4>%E$@_zhKlO&}J$xnaf8ex)se5*vaNZa0oa>>R_~5+AzDtktVz0bt zYjtRszx_(9cv(v9%*@zVrp9{5_0;zlsxN*srF@mgk+&;+V z7rMwt&`Fe0?Y+#L8BLjITlemX5}wzv;;V_u-d!%QU+!7GjIFO|wx-va^xsm-HiC*; z@rS4GYx?T(olE~~F|+EUu(qYf(jTAPU@tj7m0Lk)=7U3`sRHfORSr#S)z&+wt+T$| zuFEHV&MepEnwwrce}2d5`8B_&V~&fgmMspP_3F!H6-SQ?E()vprM))%R@RJ-Sj(6? zyVFZobNva8Z(l^`o^puMsXYAX>XFPDm0UvlX8MWuOzd)73Rkb$Rp1;Yz54crecC>J zYqZ)J1ZS*R{&Q=F&x=o+A_EEvNrEM^D0(twLhN`+p%QY ztyrwHCgbm5|PS`sVxW z;$=&xK8ZNGQb2d@hZg7fkA3Sma%Fj>J)NC5G1pskO5q;Pa}~-T1CJzv;2P$yI}|oA>7} zf9$H7fAi-A!LnaT+OL*%-<+(x?L|&+VosvmEjHzyw_UUHmsIS(dh)Ph-_?yPO*SfB zYT?U?3xgvjcPrjReI)46nLyN!h z#;1Ga8g@UJm(ugu#Eo0*%tps&93~N$o^O9Bxsv-;kj45pZ`C#?oh%UEG-qW@^g*7d zOOFbEVUV|cXSdGCxA41}#Em19>vq&z=9xXsw)grGC|d$!}VZ9a$=Rx|?_R)^GXB zx28qU7VFDBb231O(NJ<~g2vv-Zu@HX7$`5kBs8t|lWJSBtc25D=1YaapU)nC@lN`| zBRQ?$_~I7Pm*$7R=ojA54cpV!$G_vs`+Ud0-QR*k{;yoo{HSkx-TKN8FFt?UKKuRK zd>wbgcRZhzS~}i7W}m#zvgP&Sn}UpSw|f>?`FwsgJL8jG@MLL?nR`_BJ~_wvZ2kJ+ zhS2y2TRu8oIleqce&O)~y%UYC?C-nOJ1&_JkddAEPJy zt770ZaQJVb$ow@)VZYJL_Jquk4;mj2Ka!59iuk-C#b(}TCclFQ`}TZzH{-*>JMn?F zMOPWF-20yP>2z$nzT*2>;q?jp@f&N*_w6BX&6vG+xu2`Bqb z^fhSWzf#D;d87G#6YHXNlir+N&MTmH>-v7~goo3no_~M0j&GN>;E%#L%lkjEzj|0z z(5Y^@YVFoljrJ;CcaP6c=Y6?HG3(o;or^ny>K}C$Ior)_>nUHOqJH(9o{415J2?fd z@b?BWp4^&Ek{`-mFZlMsPM`nblaM^d**XC+*Q`7jsPTs?hXveeP%iM3dX@a*f#3sc zyKM%0FCIO-U0f>7C&pHO`j>G( zfA5Lczh>}E4U)V!V_sE7%lEeo&H8LU`xn;T%~XpMJtrP1$<(CTd%_@dWy6{Z@kx6Z zu4{8YF?p5ZB)!;3m-iQZ3#=cr|G%F1Zq07pO+UE4yeQ%>UUDOM@}qA@T~Ma940 zG9~us_NY&L4&GbS5}IE6{!#hAgBEdSN2ig_BNM z?qELpn5SzckC^(4*ne()wbO6OFdyqT^fWDg#Tl=AsN3Uo&~K#;zfB51-w&A1bCaj! zmxZv}S=su1ZG!#JqpmlEaup^?a2B&%aMR&F`)naY&CAGGuPA|xZx4={>~zZ6T%R#L z_UP;^zOxUS`s&fF zuUB#|JbvsKwW5?ycJ0J1PUrsY%kN$uZqlH5dD)VwvVm`8tsXBdnlHUhWwk4RH`nbq zPj4;$eXi~Alzfg|H!^bi=L#pO#U7h^v8(JQ$J)fWjCHdYFkXz&EG_-zX?aGdVA7fX z45>t4@fzQ9D=n>m6PE4#y?R-E!?Nq!j9kL{({t}Vdl|ITe#X8TC$DnHXBWTonAMt= zZXdd~be_b??GqmGJgrT8tCFDMQSpcWdcM@XO!J+|pL4CU-g5Is9LtqeHxB=D==^Qr z&*e-VpK{)P{`z}%@9ajKKjstbFT32>(P_bBHgRXR(oxODV%OJ}UELMFKse-W@6V&# zlBarq4v~1j=Jf>Y!~Yugta#+PHcZ*p@aeCzhT|gTiI3xRUQQAJU=+CdguwHIA4GPu zL^GOA-?6e{XW5rEGmm}w*<$?cQ1N}G+S#|g%f2vm3$$oCB(vRU6WbS-TPfOh;QEiL zLhPN%bxgt?2iShxEVg(NRv__(Ie|g_0k`#sHq*G2qbE&n-Zgoo=P+Y|g`_t}E%O8? zDP6{hO^2!-9^J96E1Ji=)g@~8s^BNZUJd=p6$a83afdd%KPi-9@6J|!y*sRqx1rDN zUG&+_YU?)d&@u4|_}bs{P57Wl<`p--@UXYj%8HJx-JE{))wKl|?;c6o>F6(bAte88 zAM@WBs}ip1+pg+MesJW#74vi&S)#vRqsac+ATzVwxOm z*tMwRBF>Hd8hX0wZwI_2tGRh$l(a<-HG;x z-iCZ|Tk&C9f-LL2l~GCm&dHRNKRy|jX(oN*<;poqvR5BJ+-GRd;oGxS?}veuIULx~$CMH{%JWgu=Ud4XQ}r;oU@!gxu(DI^Plh&7hi{NTyouVytZ+|w~F6UXYc3DwA@sD>BYY7QS8lU;<#u+>Fg=I)>RS_ zCU1_^@=Lz^QRS1t;VB_AQzMoM3F|o2GL>EO zI_Fj~>&Tj=iR*hh4c*@SIdj4@Un<$(cl##xWu1STAA3tItNGNRQKPb9()22ZzPQ&l zw^;A3KK3bc`-%0oFLu~@d8X|a#=ZE(LL!LKZ z#lQ7!-Q7F)N4QXM!uDyGE#9_v%N|wNW#xLSYw|SGt3P@DWY+ZSZ`NIIJNAF>%!ym7 z&YUVc{rCf;+{*Ct7c*4O_P81Eip@T}&;Ry^^!3;Fn`Z42`s0<-JbO(<`N}6Xorx7k zOxhF<|2fXnz1P%5sIU6MrBC&1o^DvJWgIkn`Lj9aKkT39^DHkoon3}AZ~6V|KR-U+ z(3y8L=iAZ0_LZNGxNo_4xaYy;m2D5FAK1gW`|F3T^HXQ;&ZvmpE&ch_=bdq~`!X9I zTd=HH+;ltdJKq|%g<9Ty{dJRWU2)`eid`3%YQT7vsUv2V@(JGlK&C$ncO1N4dguH3 zse2Uj)gH^lZkh7rNepY8PoC@feG!(ku9o`SuH2hE@m|gH2xH-I(M`u2JD$&(V|jP$ z)jN4BU+Blx{CK%O-l1gf+^H|tZAqWoxNmP;+~i|6i^C^v>N${dx*&hev)EPlH9sFr zUiG_IQRO+Wf@lY;8l!skf)@hJuPW_Wk}p)YCY?(vXU>TB$UV72I%dDmjpcstc23wR zms={Ys=vJamblkT<-X}wTHKF&Tj%Yc^q%$gnSiC5;aYvGBQH<5^=ST~O-t@wv-9~? zxQ;g<`{67$)vMPm*d?gk3(|$|)vBL}f_V5b5 zy7qJ4|DV=b6=Lgn4|xQ977r=e>3{M5!(EHjcN{BTU;6FE&V9!B^loc#e*fP3k?mdO zSD#JFPd>4?zI!5?8~)^H&0&VW+rRnA2`b-xyl+a-85UKP5>AIeeK&mmm5-rH`*b5WW6cDCImg1>t1 zou2)y&8e6%;Eqdj!~DbqwvBUU>AV(`U+#Y}XE%#6!(2;|1r>Sqt3NPv?DY(sQRVyc z*vU@!m`g{_C>&kWIahH?oNV2lq-@=%cWPYcve%#9Bx?7?zJ2bW81}mp+DrEA-*+MP zL#f@wN2QP2TCdop&-rU?;Zf6m**(g;ZzEsO^3>P$lP)RDc~ov+|L7iru%68=2D?(3gkn~y^E z|88&3SNzyHz2f7Wv#+P?Ki!_E#2USK!eRN!&iwiRAL{Oy{XKjCkITiJySVRtZ(siW ze4T2$`u(z}f8U&a{r=vh)kg(-Kh0iv|FAw!%i+h9)th$SoPGS`xjX-F>8chiDANet zH{a{t(~3=Z?uj)fGy8v8bAe+`KzMcLtMz4a6I!cMGVMg}IEP%ixb7~`ihbYD-mbp+ zOs($5`uN4QJEFc$n0)(URnMf(NzYF-cg=`g(YJT;4o8!723z>tybPm1mEUx4kv#0O z?at-R2I``95f&3yy4`f_J(#}kjaF6Z7Q8>_)A_2v@2Wbde|EFZT*lbE)6*?Z+eFX*vz+%zU;1e^Uw516 zy1bcPYo033;=Ocw+PWKN$x?xef?VDifdvu5R>{t`#|uSPZ|~i9({XxUQt`QS0@uO{ z>^8NgZ#(n+snGUx?>3zT@wI`$Iypy=v;h&Wpe`gy`vfDnz${iGI)RK$oIg+Z|scc1m{NaN$%i{E4IjZ!qcOt&~yBBMSMuk z9{V;e)oDJDZ~Xi;scTXS?Jm4&`lZolH(9l}?o&#+*ca{A?3FK!e0xWG#jUfu06 z74Gc%av=XupfJM&eJ{i0fH-@hS}MSB?fmSoiJ zJNLYLtNHV-Yd)#m({T6QV>xl>Es6Pd+aBN4f9+?UtzmVgqIjMA?*^OghmUsLZ0|7_ zYuCNE#5`oP{yS5z;2V4!c6Xl1U;HlXu>8&Q%Zdf6rWM~1e~>NzDe8x*j>jIuzK;>c zjGliF%~+-}A@JP2TQ^Mg-}4*aQ;>i4E$y@)c!8T$C3~taMYIYXzWzCvg+7!C-ll&?KcaLANsiA)xlV+UuRd(TK+`T@Z=wxp!)&N zFWo+i?6DQz8pXQ3kjc4RrkY=wJ^a44qiOX09UBX+mKR-OTPwMBWAQeFZ2k`yTc$K8 z_AnPVSx8t$`@6S7+f&-OM;|Zp#W)q5aPfKV_A*Vm!LH>}W!V+oZPt zikq}lf)CxcxRdN}>M2+7Zqx=UxgquGr4#FoF#v6;HDH2b>Xg7C<+mDM?_mvnGRv2R3d=~9zN(q%F8b9`dBx1Vzjsah#d%uk)v^m#9-H_M z=r3QRttRtP^~#Ae89!YW4|~h*+FKv3#nhza$t?2UpqMj)f1$*V(&pLwHkYaH2vt9u zV3Bo)u}1OG!|l!a@qv<3oCe!Yh@GFY?p~O;QQh|wpMO4GboP1qWSi>kF*5rN_?i!| z`ogEW{F49X-&YI$8sBaDojh^-E}LH~rtF(oCwx8N!ue=V(_hO>RARkD7p>RsjJf;c zS6g7oeQEn2&D{xEO1$|NcRs!|zBK#)9f`%S#FwSqahE>Ko+aMKyQXm8AB(-l2YVM6 z{VOf6?A}??TzFCO(h7aMKkv8|_ugfF`Fq^o*1*ZK-P_ z^)!6KSG%z<@%k&ZZS`~3)Vj8d18vVad>Xf&|w-xBtNgT92 z`RmTNN7F(-hi5XlF8}Dp^K$@cubDrX0qf!S8qLPiS3V6yC@b z@t80dp4c79mVbE{>8{Yd zm~4K&p_AjAY-Hz}*F}Lfno^f|=bt^%$=GtEx5hQ1X1ljlis)nc0)eiWW~cSu#qZ-? z%4|fMJpSbR_TQX3_qOm$?ll6T%agJlwY#UjR5QEtM7vG2ex6VWZTTUFqEw(qdkmmL{4mKIK`=zO#>*n$A8x)Oxl%yZ45fMJ$6y znRrQA#=gRw!^h_RzNpf*HE_b>=aY85aMN-)adwsR-eVu_KYgw^|9`RZ5kWi8e}|XM z>a!}yt|~oa_|a}pcHV-I3wD=e*DKo{d)KC(xO?}kr)|HNxgGCy*<*MnSKm%x?pD5@pEp?b=26JJ4USJf33%99XLrb2Pf?R9iAybJwz(`*B7R!)rq_*^&ka}| zzU)iAr}`@Mrsc`t!<|1KHD_X6$3NAPgzH8*(OcyE^+ zOV5Lsg<97pP5ioW%F_zox0_`miw@rKD_^<1`qkw#GcwKpB+lbiJbBw#=;}Eqv&Lmh zt=`8t)5!gYI$q&t?l!CjvjS0 zXl#`HW?y1fzLC25wS9=vLr>RT-(PHged*d1 zZ>F4CC0C-{-(@RLn#0e{6>sfuQ0cdWP@}REOVsU`I~P5ezfEp;lQf&(jXiv#roLg4 zr}o6((ORG8#jfFeedmj*ospiO4i>jIrDw)Y;Vpe+dc={N%UN<`eY#jd+TE+1M&ZUY z!VUziTgK&1!Yd7pyPBHU22X8&5cU_(ec);Ny(W|DCoI`%fE~7I0mz+w$??uPw|< zEM@LX9giFQy4^0wKB@6SJpUtJ$&E$=6OVOou9@^?`MrsWOP1~M=Gb%O#R2WWlVLY? z+0W?x+PL|($?`P|HlLjKZO-Afo8Kv16FpR@wKuW(|K@{D1_#}CvoJXmFuexRDSMM@i#fGok`A4?9Fk`1`_lWh?e?Ae1^FGy?@nYze$ z-gQ&K#PeQH9`m35A?YhLb4sgnVX53kKDEkcg2$#VT6Vyo|B7tFcZFhue7;%tbEZ7o zRm9Q#V@hHA?nz3?y$N%kt`N9#a>YFkBf*NsdyWU0qML6&F@G^-ZPx>7i#0Ok#@mlD zAJ_A?SnILk*0y(V{I<&7R{41=?owc($0I}2gWNoA8yQ6$3_^@$Ri`#yKJJ`4@qmD5 zD64=G({{nbj|=SoDBtIe-p~*b$nZ94*3VkA;)By$WB)dmr|x9C8$Lm6@f`c>ZLN1% zPpj@z+rC-6_x`)fyEoj;726W+_rk7Zc5W*3HraE3#dcS&y=3@;g}HBw_JK`#o4KbS z<}hC!_HN-Nzj?X&soayLwm-6w<+<6qF!9&kd&V-(GO}d?b4tJ5=5#xFQ7W{tWOcf= zyTh;g+Z*SpS1nC0xp=-|J>x%tZ_m#?zM6MTAVg@+^L?i8T3&xKe$#tu>4HzjJ1$0B zZSJwo@=;yB`H5`FCp+2nO;zSK_8g&ynZIc*nK-p_^&@$+S1Pqp>rP6ZG2Yc!Gx;n- z`z=oIYy8(fIhelGHvG8eZPiy@ua|`le;q3QL{9y%t^V(p_e8YctWavz<%x&yU2j{i zAhy6n=RnjIg$wUvwkyfG5+yC=G~mr`m;qg{+qS){gcw0 zu70P#u3dX;^O5ekcit>tp?x=d=DTj^z})&v&I&WzT=i;qT6W&&fATf>$D!3Lx$^hA zO!G@><+OOg@tn^~+v)p-JfYoJcN%QH;;tby^Xq1&>rd(>M1K{sZMHn}#=bA(-mk9* z=KF14;vl_mo?hbPzmgA*Uq1V;OmW`;?0HI=2-5W zdE&xzt9M)vd{_Ow`!(*$lch?J*Ylb3ZYUA-oUg*;zRliLhy6^P);0!}>b-B(N`01a z)d*(F^C&P)|G`o_A92%yo*`B!bha9)5bgxT;k4KeJOtqiNd19OntkZMMC2efKnnQMr9%k65kU>qVK7 ziw)wmMSI@-SN)V=J5%Ohk;ji4^W&By|fTKV4*Hze6){ ziS>)Go9o^$X!)7T_slZ2d09f|LD`d2k4m)Mmbun&dH0efAs-ARLcOPm@daA=-Fe6? z&B)lZmT&nC&D7(IJXbC6e;yYn6EgXgM}6O%FD}>j?*G5XQ{CUqwR%}Ux4V6eyw~^5 z1@g{oHge$X1wnnfipeKQ#Y%_0Fz1u;sa3oLqO)&JLfT zBISPXid$#aot*A`N%=$Ep*u}SJAU}YFV32rWqL%d!!~KTarf4xXZ&w%+tjM!L^K9_qvTjbBbP8d2i}& z);{o7!))K~HvtOAdnEods(P5;xR)d*yY@{=vdwdoR{@W5-xU2=wk`YqMc$u>19<;s z=lafO)0xunf2o91{;5m5XWdX=(fgr2M`~WW1IyF7w`YBJG4QPHU=Lo}y?$fmY~QMu z*?~pnTUMP~=CaE9`nRn7OMLI|`aHDQ{r^pNlKcEvA(@AZo$t$}e33jmF^1*y@{f0x zi|efYd*|w=d(8fZj^CG+|9dreE9)%2XX~D=j{bcuU)RO!$vV|XCdXF^HXl57_^?k7 zBWLrsk6-_#u6yQiU}Kthjm(+&B~LpxdG@9h&mj0=hZMXC17P6Pb@4vy(*Jo~6y+HX<+M9T1&m$M+ zHcys$x1q;AW!l@_hAC6O^~B`u7uj%Iw&CtS>4vC`^xM^WE|KwC_bukWH}pw1O8&QJ zx7h0sE?@r}ci9|Q?D&$XP}A?6?2t#gqQ?{yb5?Z&O!f zRAVF4q<2JrL5P%?>6R}Vr)*bVTeO_1oH0-P;mWPw58dZT@~ITB+q3tK?b}Cp)~2m`sV$+(qP66S z`;JDX!Z>2gBVoBXf_LWB_ ztQ0Wqx0|+t;o|?Afczy@k7Ntd>f@h_I$S?(r#L_Iu>K@RMNaLY9j*?mKZmCDes*=t zv`;a&^y~ARe{pHR`@I~#3RT%(KDF*iyDYtZ(wAGSR#bJ}Zq?O_KdAZru$;yApVqJR z#mo2Ceil0Qwc6h2_};?cyDudb1Ao2Tw8!V3>HDpF?$2HqVCqo5um7J_YeV^!xctd^ zX&Sz&Yq=ZxD;a&h3tp?=buMskY5n@kb@OBYY31)KiktesU{Y&WPncwH^;%iYN4{E| zUMw*@DhemX_%Ev{_cq;guJnRCb%}5;R~pU$N->WX%Ka zof}kar+nOyYGky}@kZ6kgLZx`8azP^58qA*Z3*)boT{_s_{r(8dmU{jX8eeyzq zx@ z2U!AQqU)y@*Usz=E?s`epYgfZbzw7^#ZiuL--RFc`EL?!cKQCA&82F)g(`iFgdX^A zvA#L+n&3w_eurQ4*C=qMNgNUt;c&KR4XKyT=ecmoH+^xPj*-};(X;`L zay~dz%Odnbn#I$4TUJ?>tFg25tjmrs-hW8VihqxsTkH3FIeQ;_qyNm-8|k^!HW52 zYd6d3p1pUX+T`kmkgoF)nO6d07njHet1dZt@5HKoIurM0_kH^LyReaKyG!WN=A4

Z}YrB|Nioq2TE5#iAP7EM0i55M8Ca$WIk!c30p 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 literal 111691 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 diff --git a/examples/SmartSwitch/data_src/acefull.js b/examples/SmartSwitch/data_src/acefull.js index 46b3712..2384aa6 100644 --- a/examples/SmartSwitch/data_src/acefull.js +++ b/examples/SmartSwitch/data_src/acefull.js @@ -1 +1,30 @@ -(function(){var e=function(){return this}();!e&&"undefined"!=typeof window&&(e=window);var o=function(e,t,i){"string"==typeof e?(2==arguments.length&&(i=t),o.modules[e]||(o.payloads[e]=i,o.modules[e]=null)):o.original?o.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};o.modules={},o.payloads={};var t,i,r=function(e,t,i){if("string"==typeof t){var n=c(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,r=t.length;os.index&&this.lastIndex--}return s},l||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,i){function o(){}function n(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}function s(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(0>>0;if("[object Function]"!=m(e))throw new TypeError;for(;++s>>0,s=Array(n),o=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var r=0;r>>0,o=[],r=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var a=0;a>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var s,o=0;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o++];break}if(++o>=n)throw new TypeError("reduce of empty array with no initial value")}for(;o>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var s,o=n-1;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}for(;o in this&&(s=e.call(void 0,s,i[o],o,t)),o--;);return s}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=$&&"[object String]"==m(this)?this.split(""):M(this),i=t.length>>>0;if(!i)return-1;var n=0;for(1>>0;if(!i)return-1;var n=i-1;for(1 ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,i=e.end,n=e.start;return 1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:tthis.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var i={row:t+1,column:0};else if(this.end.rowt)var n={row:t+1,column:0};else if(this.start.row>=1)&&(e+=e);return i};var n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},t.copyArray=function(e){for(var t=[],i=0,n=e.length;ii+1?a.length:s,s+=o.length+1,o=o+"\n"+a}400w-1&&v[v.length-c]==e[e.length-c];)c++,o--;return a-=c-1,l-=c-1,r=r.slice(0,r.length-c+1),t||a!=r.length||s||o||l?(f=!0,r&&!s&&!o&&!a&&!l||p?h.onTextInput(r):h.onTextInput(r,{extendLeft:s,extendRight:o,restoreStart:a,restoreEnd:l}),f=!1,v=e,w=i,b=n,r):""},o=function(e){if(g)return A();var t=u.value,i=s(t,!0);(500=v.length&&t.value===v&&v&&t.selectionEnd!==b&&(h.selectAll(),$()))}),T.addListener(u,"input",o),T.addListener(u,"cut",k),T.addListener(u,"copy",C),T.addListener(u,"paste",S),(!("oncut"in u)||!("oncopy"in u)||!("onpaste"in u))&&T.addListener(e,"keydown",function(e){if((!M.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:C(e);break;case 86:S(e);break;case 88:k(e)}});var A=function(){if(g&&h.onCompositionUpdate&&!h.$readOnly){if(p)return i();if(g.useTextareaForIME)h.onCompositionUpdate(u.value);else{var e=u.value;s(e),g.markerRange&&(g.context&&(g.markerRange.start.column=g.selectionStart=g.context.compositionStartOffset),g.markerRange.end.column=g.markerRange.start.column+b-g.selectionStart)}}},L=function(e){h.onCompositionEnd&&!h.$readOnly&&(g=!1,h.onCompositionEnd(),h.off("mousedown",i),e&&o())},R=O.delayedCall(A,50).schedule.bind(null,null);T.addListener(u,"compositionstart",function(e){if(!g&&h.onCompositionStart&&!h.$readOnly&&(g={},!p)){setTimeout(A,0),h.on("mousedown",i);var t=h.getSelectionRange();t.end.row=t.start.row,t.end.column=t.start.column,g.markerRange=t,g.selectionStart=w,h.onCompositionStart(g),g.useTextareaForIME?(u.value="",v="",b=w=0):(u.msGetInputContext&&(g.context=u.msGetInputContext()),u.getInputContext&&(g.context=u.getInputContext()))}}),T.addListener(u,"compositionupdate",A),T.addListener(u,"keyup",function(e){27==e.keyCode&&u.value.lengththis.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,n=e.domEvent.timeStamp,s=n-i.t,o=s?e.wheelX/s:i.vx,r=s?e.wheelY/s:i.vy;s<550&&(o=(o+i.vx)/2,r=(r+i.vy)/2);var a=Math.abs(o/r),l=!1;if(1<=a&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)i.allowed=n;else if(n-i.allowed<550){var c=Math.abs(o)<=1.5*Math.abs(i.vx)&&Math.abs(r)<=1.5*Math.abs(i.vy);i.allowed=c?(l=!0,n):0}return i.t=n,i.vx=o,i.vy=r,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(n.prototype),t.DefaultHandlers=n}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){"use strict";function n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var s=e("./lib/dom");(function(){this.$init=function(){return this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){"use strict";function n(e){r.call(this,e)}var s=e("../lib/dom"),o=e("../lib/oop"),f=e("../lib/event"),r=e("../tooltip").Tooltip;o.inherits(n,r),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();i<(e+=15)+s&&(e-=e+s-i),n<(t+=15)+o&&(t-=20+o),r.prototype.setPosition.call(this,e,t)}}.call(n.prototype),t.GutterHandler=function(r){function a(){i&&(i=clearTimeout(i)),h&&(g.hide(),h=null,u._signal("hideGutterTooltip",g),u.removeEventListener("mousewheel",a))}function l(e){g.setPosition(e.x,e.y)}var i,c,h,u=r.editor,d=u.renderer.$gutterLayer,g=new n(u.container);r.editor.setDefaultHandler("guttermousedown",function(e){if(u.isFocused()&&0==e.getButton()&&"foldWidgets"!=d.getRegion(e)){var t=e.getDocumentPosition().row,i=u.session.selection;if(e.getShiftKey())i.selectTo(t,0);else{if(2==e.domEvent.detail)return u.selectAll(),e.preventDefault();r.$clickSelection=u.selection.getLineRange(t)}return r.setState("selectByLines"),r.captureMouse(e),e.preventDefault()}}),r.editor.setDefaultHandler("guttermousemove",function(e){var t=e.domEvent.target||e.domEvent.srcElement;if(s.hasCssClass(t,"ace_fold-widget"))return a();h&&r.$tooltipFollowsMouse&&l(e),c=e,i||(i=setTimeout(function(){i=null,c&&!r.isMousePressed?function(){var e=c.getDocumentPosition().row,t=d.$annotations[e];if(!t)return a();if(e==u.session.getLength()){var i=u.renderer.pixelToScreenCoordinates(0,c.y).row,n=c.$pos;if(i>u.session.documentToScreenRow(n.row,n.column))return a()}if(h!=t)if(h=t.text.join("
"),g.setHtml(h),g.show(),u._signal("showGutterTooltip",g),u.on("mousewheel",a),r.$tooltipFollowsMouse)l(c);else{var s=c.domEvent.target.getBoundingClientRect(),o=g.getElement().style;o.left=s.right+"px",o.top=s.bottom+"px"}}():a()},50))}),f.addListener(u.renderer.$gutter,"mouseout",function(e){c=null,h&&!i&&(i=setTimeout(function(){i=null,a()},50))}),u.on("changeSession",a)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";var n=e("../lib/event"),s=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return n.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";function n(t){function e(){var e,t,i,n,s,o=u;u=g.renderer.screenToTextCoordinates(f,m),e=u,t=o,i=Date.now(),n=!t||e.row!=t.row,s=!t||e.column!=t.column,!w||n||s?(g.moveCursorToPosition(e),w=i,b={x:f,y:m}):5this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=A.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;A.isIE&&"dragReady"==this.state&&(3=e){for(n=l+1;n=e;)n++;for(s=l,o=n-1;s=t.length||(s=i[n-1])!=g&&s!=f||(o=t[n+1])!=g&&o!=f?C:(b&&(o=f),o==s?o:C);case E:return(s=0>8;return 0==i?191L&&t[a]t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,n=t?e.start:e.end;this.$setSelection(i.row,i.column,n.row,n.column)},this.$setSelection=function(e,t,i,n){var s=this.$isEmpty,o=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||s!=this.$isEmpty||o)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var i=e||this.lead;e=i.row,t=i.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var i,n="number"==typeof e?e:this.lead.row,s=this.session.getFoldLine(n);return i=s?(n=s.start.row,s.end.row):n,!0===t?new a(n,0,i,this.session.getLine(i).length):new a(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)0=i.length)return this.moveCursorTo(e,i.length),this.moveCursorRight(),void(ec){var p=e.substring(c,m-f.length);u.type==d?u.value+=p:(u.type&&l.push(u),u={type:d,value:p})}for(var v=0;vw){for(h>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});c=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0!==i)return i;for(i=0;0e.length&&(y=e.length)}),l==1/0&&(l=y,a=r=!1),h&&l%c!=0&&(l=Math.floor(l/c)*c),t(a?w:v)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,a=(g=new m(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(var c,h;a&&/comment/.test(a.type);){if(-1!=(f=a.value.indexOf(s.start))){var u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;c=new p(u,d,u,d+s.start.length);break}a=g.stepBackward()}var g;for(a=(g=new m(t,n.row,n.column)).getCurrentToken();a&&/comment/.test(a.type);){var f;if(-1!=(f=a.value.indexOf(s.end))){u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;h=new p(u,d,u,d+s.end.length);break}a=g.stepForward()}h&&t.remove(h),c&&(t.remove(c),o=c.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);l.start.row==o&&(l.start.column+=r),l.end.row==o&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var n in this.$embeds=[],this.$modes={},e)if(e[n]){var t=e[n],i=t.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new t),r.$modes[n]||(r.$modes[n]=s),this.$embeds.push(n),this.$modes[n]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(n=0;nthis.row)){var t,i,n,s,o,r,a,l,c=(t=e,i={row:this.row,column:this.column},n=this.$insertRight,s="insert"==t.action,o=(s?1:-1)*(t.end.row-t.start.row),r=(s?1:-1)*(t.end.column-t.start.column),a=t.start,l=s?a:t.end,h(i,a,n)?{row:i.row,column:i.column}:h(l,i,!n)?{row:i.row+o,column:i.column+(i.row==l.row?r:0)}:{row:a.row,column:a.column});this.setPosition(c.row,c.column,!0)}},this.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var s={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:s,value:n})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):i.column=e<0?i.row=0:(i.row=e,Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}).call(o.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,h=e("./range").Range,r=e("./anchor").Anchor,a=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){n.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new h(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new r(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var i=t.length-1;e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),n=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},this.clippedPos=function(e,t){var i=this.getLength();void 0===e?e=i:e<0?e=0:i<=e&&(e=i-1,t=void 0);var n=this.getLine(e);return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0;i=(e=Math.min(Math.max(e,0),this.getLength()))e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){"use strict";var c=e("./lib/lang"),h=(e("./lib/oop"),e("./range").Range),n=function(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,n){if(this.regExp)for(var s=n.firstRow,o=n.lastRow,r=s;r<=o;r++){var a=this.cache[r];null==a&&((a=c.getMatchOffsets(i.getLine(r),this.regExp)).length>this.MAX_RANGES&&(a=a.slice(0,this.MAX_RANGES)),a=a.map(function(e){return new h(r,e.offset,r,e.offset+e.length)}),this.cache[r]=a.length?a:"");for(var l=a.length;l--;)t.drawSingleLineMarker(e,a[l].toScreenRange(i),this.clazz,n)}}}).call(n.prototype),t.SearchHighlight=n}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,i){"use strict";function c(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(t){this.start.row+=t,this.end.row+=t,this.folds.forEach(function(e){e.start.row+=t,e.end.row+=t})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),0=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;lt||i[i.length-1].start.row=n)break}if("insert"==e.action)for(var l=s-n,c=-t.column+i.column;rn)break;if(h.start.row==n&&h.start.column>=t.column&&(h.start.column!=t.column||!this.$insertRight)&&(h.start.column+=c,h.start.row+=l),h.end.row==n&&h.end.column>=t.column){if(h.end.column==t.column&&this.$insertRight)continue;h.end.column==t.column&&0h.start.column&&h.end.column==o[r+1].start.column&&(h.end.column-=c),h.end.column+=c,h.end.row+=l}}else for(l=n-s,c=t.column-i.column;rs)break;h.end.rowt.column)&&(h.end.column=t.column,h.end.row=t.row):(h.end.column+=c,h.end.row+=l):h.end.row>s&&(h.end.row+=l),h.start.rowt.column)&&(h.start.column=t.column,h.start.row=t.row):(h.start.column+=c,h.start.row+=l):h.start.row>s&&(h.start.row+=l)}if(0!=l&&r=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;sl)break}while(s&&r.test(s.type));s=n.stepBackward()}else s=n.getCurrentToken();return a.end.row=n.getCurrentTokenRow(),a.end.column=n.getCurrentTokenColumn()+s.value.length-2,a}},this.foldAll=function(e,t,i){null==i&&(i=1e5);var n=this.foldWidgets;if(n){t=t||this.getLength();for(var s=e=e||0;s=e){s=o.end.row;try{var r=this.addFold("...",o);r&&(r.collapseChildren=i)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){"manual"==(this.$foldStyle=e)&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var i=this.foldWidgets;if(!i||t&&i[e])return{};for(var n,s=e-1;0<=s;){var o=i[s];if(null==o&&(o=i[s]=this.getFoldWidget(s)),"start"==o){var r=this.getFoldWidgetRange(s);if(n||(n=r),r&&r.end.row>=e)break}s--}return{range:-1!==s&&r,firstRange:n}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,i)){var n=t.target||t.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var i=this.getFoldWidget(e),n=this.getLine(e),s="end"===i?-1:1,o=this.getFoldAt(e,-1===s?0:n.length,s);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var r=this.getFoldWidgetRange(e,!0);if(r&&!r.isMultiLine()&&(o=this.getFoldAt(r.start.row,r.start.column,1))&&r.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,c=a.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=r?r.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):r&&(t.all&&(r.collapseChildren=1e4),this.addFold("...",r));return r}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var i=this.$toggleFoldWidget(t,{});if(!i){var n=this.getParentFoldRangeData(t,!0);if(i=n.range||n.firstRange){t=i.start.row;var s=this.getFoldAt(t,this.getLine(t).length,1);s?this.removeFold(s):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,i){"use strict";var u=e("../token_iterator").TokenIterator,a=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var i=t||this.getLine(e.row).charAt(e.column-1);if(""==i)return null;var n=i.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,i=this.getLine(e.row),n=!0,s=i.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);if(o||(s=i.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1),!o)return null;if(o[1]){if(!(r=this.$findClosingBracket(o[1],e)))return null;t=a.fromPoints(e,r),n||(t.end.column++,t.start.column--),t.cursor=t.end}else{var r;if(!(r=this.$findOpeningBracket(o[2],e)))return null;t=a.fromPoints(r,e),n||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r||(r=o.stepForward()),r){i||(i=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var a=t.column-o.getCurrentTokenColumn()-2,l=r.value;;){for(;0<=a;){var c=l.charAt(a);if(c==n){if(0==(s-=1))return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a-=1}for(;(r=o.stepBackward())&&!i.test(r.type););if(null==r)break;a=(l=r.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r||(r=o.stepForward()),r){i||(i=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var a=t.column-o.getCurrentTokenColumn();;){for(var l=r.value,c=l.length;a>1,o=e[s];if(ot&&(t=e.screenWidth)}),this.lineWidgetWidth=t},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,l=0;ln&&(n=i[l])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;ie.end.column&&(o.start.column+=c),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=c)),r&&o.start.row>=e.end.row&&(o.start.row+=r,o.end.row+=r)}if(o.end=this.insert(o.start,n),s.length){var a=e.start,l=o.start,c=(r=l.row-a.row,l.column-a.column);this.addFolds(s.map(function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=c),e.end.row==a.row&&(e.end.column+=c),e.start.row+=r,e.end.row+=r,e}))}return o},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new h(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;rthis.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var o=new h(e,0,t,Number.MAX_VALUE),r=this.getFoldsInRange(o).map(function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e}),a=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,a),r.length&&this.addFolds(r),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)t=e=0;else{var i=this.doc.getLength();t=i<=e?(e=i-1,this.doc.getLine(i-1).length):Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange;i.max<0&&(i={min:t,max:t});var n=this.$constrainWrapLimit(e,i.min,i.max);return n!=this.$wrapLimit&&1=s.row&&m.shiftRow(-a)}r=o}else{var d=Array(a);d.unshift(o,0);var g=t?this.$wrapData:this.$rowLengthCache;g.splice.apply(g,d);c=this.$foldData,h=0;if(m=this.getFoldLine(o)){var f=m.range.compareInside(n.row,n.column);0==f?(m=m.split(n.row,n.column))&&(m.shiftRow(a),m.addRemoveChars(r,0,s.column-n.column)):-1==f&&(m.addRemoveChars(o,0,s.column-n.column),m.shiftRow(a)),h=c.indexOf(m)+1}for(;h=o&&m.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(m=this.getFoldLine(o))&&m.addRemoveChars(o,n.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),l},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r,i,a=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,l=e;for(t=Math.min(t,a.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk(function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=f;for(var o=1;o>2)),a-1);gc[u-1]}else d=!u;for(var g=this.getLength()-1,f=this.getNextFoldLine(o),m=f?f.start.row:1/0;a<=e&&!(el[h-1]}else u=!h;for(var d=this.getNextFoldLine(a),g=d?d.start.row:1/0;a=p[v];)s++,v++;f=f.substring(p[v-1]||0,f.length),m=0g||(s.push(r=new $(c,g,c+a-1,f)),2b&&s[h].end.row==i.end.row;)h--;for(s=s.slice(m,h+1),m=0,h=s.length;m=s.length)break;u.lastIndex=r+=1}if(n.index+a>t)break;o.push(n.index,a)}for(var l=o.length-1;0<=l;l-=2){var c=o[l-1];if(i(e,c,e,c+(a=o[l])))return!0}};else a=function(e,t,i){var n,s,o=h.getLine(e);for(u.lastIndex=t;s=u.exec(o);){var r=s[0].length;if(i(e,n=s.index,e,n+r))return!0;if(!r&&(u.lastIndex=n+=1,n>=o.length))return!1}};return{forEach:r}}}).call(s.prototype),t.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){"use strict";function n(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){n.call(this,e,t),this.$singleCommand=!1}var a=e("../lib/keys"),o=e("../lib/useragent"),l=a.KEY_MODS;s.prototype=n.prototype,function(){function r(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),(this.commands[e.name]=e).bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i=e&&("string"==typeof e?e:e.name);e=this.commands[i],t||delete this.commands[i];var n=this.commandKeyBinding;for(var s in n){var o=n[s];if(o==e)delete n[s];else if(Array.isArray(o)){var r=o.indexOf(e);-1!=r&&(o.splice(r,1),1==o.length&&(n[s]=o[0]))}}},this.bindKey=function(e,o,r){if("object"==typeof e&&e&&(null==r&&(r=e.position),e=e[this.platform]),e)return"function"==typeof o?this.addCommand({exec:o,bindKey:e,name:o.name||e}):void e.split("|").forEach(function(e){var n="";if(-1!=e.indexOf(" ")){var t=e.split(/\s+/);e=t.pop(),t.forEach(function(e){var t=this.parseKeys(e),i=l[t.hashId]+t.key;n+=(n?" ":"")+i,this._addCommandToBinding(n,"chainKeys")},this),n+=" "}var i=this.parseKeys(e),s=l[i.hashId]+i.key;this._addCommandToBinding(n+s,o,r)},this)},this._addCommandToBinding=function(e,t,i){var n,s=this.commandKeyBinding;if(t)if(!s[e]||this.$singleCommand)s[e]=t;else{Array.isArray(s[e])?-1!=(n=s[e].indexOf(t))&&s[e].splice(n,1):s[e]=[s[e]],"number"!=typeof i&&(i=r(t));var o=s[e];for(n=0;ns?s+1:s,e.selection.moveCursorTo(i.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:n(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,s=[];n.length<1&&(n=[e.selection.getRange()]);for(var o=0;o=s.lastRow||n.end.row<=s.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==i&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var s=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==i.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&2e3o.length||s.length<2||!s[1])return this.commands.exec("insertstring",this,t);for(var r=o.length;r--;){var a=o[r];a.isEmpty()||n.remove(a),n.insert(a.start,s[r])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var i=this.session,n=i.getMode(),s=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=n.transformAction(i.getState(s.row),"insertion",this,i,e);o&&(e!==o.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(r=new m.fromPoints(s,s)).end.column+=e.length,this.session.remove(r)}}else{var r=this.getSelectionRange();s=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=i.getLine(s.row);if(s.column>a.search(/\S|$/)){var l=a.substr(s.column).search(/\S|$/);i.doc.removeInLine(s.row,s.column,s.column+l)}}this.clearSelection();var c=s.column,h=i.getState(s.row),u=(a=i.getLine(s.row),n.checkOutdent(h,a,e));i.insert(s,e);if(o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new m(s.row,c+o.selection[0],s.row,c+o.selection[1])):this.selection.setSelectionRange(new m(s.row+o.selection[0],o.selection[1],s.row+o.selection[2],o.selection[3]))),i.getDocument().isNewLine(e)){var d=n.getNextLineIndent(h,a.slice(0,s.column),i.getTabString());i.insert({row:s.row+1,column:0},d)}u&&n.autoOutdent(h,i,s.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var i=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(i):i(),this.endOperation()},this.applyComposition=function(e,t){var i;(t.extendLeft||t.extendRight)&&((i=this.selection.getRange()).start.column-=t.extendLeft,i.end.column+=t.extendRight,this.selection.setRange(i),!e&&!i.isEmpty()&&this.remove());((e||!this.selection.isEmpty())&&this.insert(e,!0),t.restoreStart||t.restoreEnd)&&((i=this.selection.getRange()).start.column-=t.restoreStart,i.end.column-=t.restoreEnd,this.selection.setRange(i))},this.onCommandKey=function(e,t,i){this.keyBinding.onCommandKey(e,t,i)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var i=this.session,n=i.getState(t.start.row),s=i.getMode().transformAction(n,"deletion",this,i,t);if(0===t.end.column){var o=i.getTextRange(t);if("\n"==o[o.length-1]){var r=i.getLine(t.end.row);/^\s+$/.test(r)&&(t.end.column=r.length)}}s&&(t=s)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var i,n,s=this.session.getLine(e.row);n=tt.toLowerCase()?1:0});var s=new m(0,0,0,0);for(n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g;i.lastIndex=0;for(var n=this.session.getLine(e);i.lastIndex=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,i=this.selection.getCursor().column,n=new m(t,i-1,t,i),s=this.session.getTextRange(n);if(!isNaN(parseFloat(s))&&isFinite(s)){var o=this.getNumberAt(t,i);if(o){var r=0<=o.value.indexOf(".")?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-r,l=parseFloat(o.value);l*=Math.pow(10,a),r!==o.end&&ig+1)break;g=f.last}for(h--,a=this.session.$moveLines(d,g,t?0:e),t&&-1==e&&(u=h+1);u<=h;)r[u].moveBy(a,0),u++;t||(a=0),l+=a}s.fromOrientedRange(s.ranges[0]),s.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight);!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection());var o=i.scrollTop;i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new w(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,l=!1,c={},h=i.column-o.start,u={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;hwindow.innerHeight)&&null)&&(a.style.top=n+"px",a.style.left=t.left+"px",a.style.height=i.lineHeight+"px",a.scrollIntoView(r)),r=s=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",t),this.renderer.off("afterRender",n),this.renderer.off("beforeRender",i))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}.call(y.prototype),v.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?$.attach(this):$.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?$.attach(this):$.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var $={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=y}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,i){"use strict";function a(e){return{row:e.row,column:e.column}}function n(e){if(e=e||this,Array.isArray(e))return e.map(n).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(s).join("\n"):s(e.value)),e.start&&(t+=s(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function s(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function o(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(0<=m(t.start,e.end))c(t,e,-1);else{if(!(m(t.start,e.start)<=0))return null;c(e,t,1)}else if(i&&!n)if(0<=m(t.start,e.end))c(t,e,-1);else{if(!(m(t.end,e.start)<=0))return null;c(e,t,-1)}else if(!i&&n)if(0<=m(t.start,e.start))c(t,e,1);else{if(!(m(t.start,e.start)<=0))return null;c(e,t,1)}else if(!i&&!n)if(0<=m(t.start,e.start))c(t,e,1);else{if(!(m(t.end,e.start)<=0))return null;c(e,t,-1)}return[t,e]}function r(e,t){for(var i=e.length;i--;)for(var n=0;na+1;)this.$lines.pop();break}(r=this.$lines.get(++a))?r.row=l:(r=this.$lines.createCell(l,e,this.session,c),this.$lines.push(r)),this.$renderCell(r,e,s,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,s=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(s=t.getLength()+n-1);var o=i?i.getWidth(t,s,e):s.toString().length*e.characterWidth,r=this.$padding||this.$computePadding();(o+=r.left+r.right)!==this.gutterWidth&&!isNaN(o)&&(this.gutterWidth=o,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",o))},this.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i=this.$cursorRow){if(n.row>this.$cursorRow){var s=this.session.getFoldLine(this.$cursorRow);if(!(0i.right-t.right?"foldWidgets":void 0}}).call(r.prototype),t.Gutter=r}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,i){"use strict";var g=e("../range").Range,n=e("../lib/dom"),s=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},this.update=function(e){if(e){var t;for(var i in this.config=e,this.i=0,this.markers){var n=this.markers[i];if(n.range){var s=n.range.clipRows(e.firstRow,e.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),n.renderer){var o=this.$getTop(s.start.row,e),r=this.$padding+s.start.column*e.characterWidth;n.renderer(t,s,r,o,e)}else"fullLine"==n.type?this.drawFullLineMarker(t,s,n.clazz,e):"screenLine"==n.type?this.drawScreenLineMarker(t,s,n.clazz,e):s.isMultiLine()?"text"==n.type?this.drawTextMarker(t,s,n.clazz,e):this.drawMultiLineMarker(t,s,n.clazz,e):this.drawSingleLineMarker(t,s,n.clazz+" ace_start ace_br15",e)}else n.update(t,this,this.session,e)}if(-1!=this.i)for(;this.ie.lastRow)for(s=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);0t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,i){for(var n=[],s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r=o;)r=this.$renderToken(a,r,c,h.substring(0,o-n)),h=h.substring(o-n),n=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(b.stringRepeat(" ",i.indent),this.element)),r=0,o=i[++s]||Number.MAX_VALUE;0!=h.length&&(n+=h.length,r=this.$renderToken(a,r,c,h))}}},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(i=this.$renderToken(e,i,n,s));for(var o=1;othis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n){this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.style.position="absolute",s.style.right="0",s.textContent="",e.appendChild(s)},this.$renderLine=function(e,t,i){if(!i&&0!=i&&(i=this.session.getFoldLine(t)),i)var n=this.$getFoldLineTokens(t,i);else n=this.session.getTokens(t);var s=e;if(n.length){var o=this.session.getRowSplitData(t);if(o&&o.length){this.$renderWrappedLine(e,n,o);s=e.lastChild}else{s=e;this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s)),this.$renderSimpleLine(s,n)}}else this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s));if(this.showInvisibles&&s){i&&(t=i.end.row);var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_eol",r.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,s.appendChild(r)}},this.$getFoldLineTokens=function(e,t){var o=this.session,r=[],a=o.getTokens(e);return t.walk(function(e,t,i,n,s){null!=e?r.push({type:"fold",value:e}):(s&&(a=o.getTokens(t)),a.length&&function(e,t,i){for(var n=0,s=0;s+e[n].value.lengthi-t&&(o=o.substring(0,i-t)),r.push({type:e[n].type,value:o}),s=t+o.length,n+=1);si?r.push({type:e[n].type,value:o.substring(0,i-s)}):r.push(e[n]),s+=o.length,n+=1}}(a,n,i))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(r.prototype),t.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";var c=e("../lib/dom"),n=function(e){this.element=c.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),c.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)c.setStyle(t[i].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){c.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){c.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,c.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=c.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(1e.height+e.offset||o.top<0)&&1n;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&((this.overwrite=e)?c.addCssClass(this.element,"ace_overwrite-cursors"):c.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),r=e("./lib/event_emitter").EventEmitter,a=function(e){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=s.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){n.implement(this,r),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var l=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=s.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};n.inherits(l,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};n.inherits(c,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){"use strict";var n=e("./lib/event"),s=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;if(t&&(n.blockIdle(100),i.changes=0,i.onRender(t)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(n.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(s.prototype),t.RenderLoop=s}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){var n=e("../lib/oop"),s=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c="function"==typeof ResizeObserver,h=t.FontMetrics=function(e){this.el=s.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=s.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=s.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()};(function(){n.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var i=this;this.$observer=new window.ResizeObserver(function(e){var t=e[0].contentRect;i.checkForSizeChanges({height:t.height,width:t.width/256})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var t=this;return this.$pollSizeChangesTimer=r.onIdle(function e(){t.checkForSizeChanges(),r.onIdle(e,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=s.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function r(e){var t=e.getBoundingClientRect();return[t.left,t.top]}e&&(e=o(1/this.$getZoom(this.el),e));this.els||this.$initTransformMeasureNodes();var a=r(this.els[0]),l=r(this.els[1]),c=r(this.els[2]),h=r(this.els[3]),u=i(n(h,l),n(h,c),n(s(l,c),s(h,a))),d=o(1+u[0],n(l,a)),g=o(1+u[1],n(c,a));if(t){var f=t;return s(o(1/(u[0]*f[0]/200+u[1]*f[1]/200+1)/200,s(o(f[0],d),o(f[1],g))),a)}var m=n(e,a);return o(200,i(n(d,o(u[0],m)),n(g,o(u[1],m)),m))}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,i){"use strict";var n=e("./lib/oop"),c=e("./lib/dom"),o=e("./config"),s=e("./layer/gutter").Gutter,r=e("./layer/marker").Marker,a=e("./layer/text").Text,l=e("./layer/cursor").Cursor,h=e("./scrollbar").HScrollBar,u=e("./scrollbar").VScrollBar,d=e("./renderloop").RenderLoop,g=e("./layer/font_metrics").FontMetrics,f=e("./lib/event_emitter").EventEmitter,m='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}',p=e("./lib/useragent"),v=p.isIE;c.importCssString(m,"ace_editor.css");var w=function(e,t){var i=this;this.container=e||c.createElement("div"),c.addCssClass(this.container,"ace_editor"),c.HI_DPI&&c.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=c.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=c.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=c.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var n=this.$textLayer=new a(this.content);this.canvas=n.element,this.$markerFront=new r(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new u(this.container,this),this.scrollBarH=new h(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!p.isIOS,this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,n.implement(this,f),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2n.height-r)c.translate(this.textarea,0,0);else{var a=1;if(i)if(i.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0],r+=2}else s+=this.lineHeight+2;else s+=this.lineHeight;(o-=this.scrollLeft)>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,c.setStyle(e,"height",r+"px"),c.setStyle(e,"width",a+"px"),c.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,this.$size.height-r))}}}else c.translate(this.textarea,-100,0)},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.setMargin=function(e,t,i,n){var s=this.margin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),i.firstRow!=this.layerConfig.firstRow&&i.firstRowScreen==this.layerConfig.firstRowScreen){var n=this.scrollTop+(i.firstRow-this.layerConfig.firstRow)*this.lineHeight;0this.$maxPixelHeight&&(i=this.$maxPixelHeight);var n=!(i<=2*this.lineHeight)&&th.top),d=a!==u;d&&(this.$vScroll=u,this.scrollBarV.setVisible(u));var g,f,m=this.scrollTop%this.lineHeight,p=Math.ceil(l/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-m)/this.lineHeight)),w=v+p,b=this.lineHeight;v=e.screenToDocumentRow(v,0);var y=e.getFoldLine(v);y&&(v=y.start.row),g=e.documentToScreenRow(v,0),f=e.getRowLength(v)*b,w=Math.min(e.screenToDocumentRow(w,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(w)*b+f,m=this.scrollTop-g*b;var $=0;return(this.layerConfig.width!=s||r)&&($=this.CHANGE_H_SCROLL),(r||d)&&($=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:v,firstRowScreen:g,lastRow:w,lineHeight:b,characterWidth:this.characterWidth,minHeight:l,maxHeight:n,offset:m,gutterOffset:b?Math.max(0,Math.ceil((m+t.height-t.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),$},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var i=this.layerConfig;if(!(e>i.lastRow+1||tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){if(0!==this.$size.scrollerHeight){var n=this.$cursorLayer.getPixelPosition(e),s=n.left,o=n.top,r=i&&i.top||0,a=i&&i.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;oo+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-a=1-this.scrollMargin.top||(0=1-this.scrollMargin.left||(0this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(u.prototype);e.UIWorkerClient=function(e,t,i){var n=null,s=!1,o=Object.create(c),r=[],a=new u({messageBuffer:r,terminate:function(){},postMessage:function(e){r.push(e),n&&(s?setTimeout(l):l())}});a.setEmitSync=function(e){s=e};var l=function(){var e=r.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)};return o.postMessage=function(e){a.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},h.loadModule(["worker",t],function(e){for(n=new e[i](o);r.length;)l()}),a},e.WorkerClient=u,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){"use strict";var l=e("./range").Range,n=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,i,n,s,o){var r=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){r.onCursorChange()})},this.$pos=i;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,n),this.setup=function(){var i=this,n=this.doc,e=this.session;this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=n.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=e.addMarker(new l(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var t=n.createAnchor(e.row,e.column);t.$insertRight=!0,t.detach(),i.others.push(t)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var t=this.session,i=this;this.othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var r={row:(a=this.others[o]).row,column:a.column+s};this.doc.insertMergedLines(r,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a;r={row:(a=this.others[o]).row,column:a.column+s};this.doc.remove(new l(r.row,r.column,r.row,r.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;ir&&(r=t.column),it[1].length&&(s=t[1].length),ot[3].length&&(r=t[3].length)),t):[e]}).map(t?n:a?l?function(e){return e[2]?i(s+o-e[2].length)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:n:function(e){return e[2]?i(s)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]})}}).call(c.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var i=e.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=n,e("./config").defineOptions(c.prototype,"editor",{enableMultiselect:{set:function(e){n(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){"use strict";var d=e("../../range").Range,n=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);return this.foldingStartMarker.test(n)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(n)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,s=e.getLine(t),o=s.search(n);if(-1!=o){for(var r=i||s.length,a=e.getLength(),l=t,c=t;++to.row&&(r.row--,r.column=e.getLine(r.row).length),d.fromPoints(o,r)}},this.closingBracketBlock=function(e,t,i,n,s){var o={row:i,column:n},r=e.$findOpeningBracket(t,o);if(r)return r.column++,o.column--,d.fromPoints(r,o)}}).call(n.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,i){"use strict";function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}e("./lib/oop");var o=e("./lib/dom");e("./range").Range;(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),(this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var n=e.data,s=n.start.row,o=n.end.row,r="add"==e.action,a=s+1;a>1,r=i(t,e[o]);if(0=n.length?s=0"),h.appendChild(m.createElement("div"));var g=function(e,t,i){if(0===t&&("esc"===i||"return"===i))return c.destroy(),{command:"null"}};c.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),i.widgetManager.removeLineWidget(c),e.off("changeSelection",c.destroy),e.off("changeSession",c.destroy),e.off("mouseup",c.destroy),e.off("change",c.destroy))},e.keyBinding.addKeyboardHandler(g),e.on("changeSelection",c.destroy),e.on("changeSession",c.destroy),e.on("mouseup",c.destroy),e.on("change",c.destroy),e.session.widgetManager.addLineWidget(c),c.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:c.el.offsetHeight})},m.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,l,t){"use strict";e("./lib/fixoldbrowsers");var c=e("./lib/dom"),h=e("./lib/event"),i=e("./range").Range,u=e("./editor").Editor,n=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,d=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),l.config=e("./config"),l.require=e,"function"==typeof define&&(l.define=define),l.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}if(e&&e.env&&e.env.editor instanceof u)return e.env.editor;var n="";if(e&&/input|textarea/i.test(e.tagName)){var s=e;n=s.value,e=c.createElement("pre"),s.parentNode.replaceChild(e,s)}else e&&(n=e.textContent,e.innerHTML="");var o=l.createEditSession(n),r=new u(new d(e),o,t),a={document:o,editor:r,onResize:r.resize.bind(r,null)};return s&&(a.textarea=s),h.addListener(window,"resize",a.onResize),r.on("destroy",function(){h.removeListener(window,"resize",a.onResize),a.editor.container.env=null}),r.container.env=r.env=a,r},l.createEditSession=function(e,t){var i=new n(e,t);return i.setUndoManager(new s),i},l.Range=i,l.Editor=u,l.EditSession=n,l.UndoManager=s,l.VirtualRenderer=d,l.version="1.4.3"}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t]);window.ace.default=window.ace,"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=window.ace)}),ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,i){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.require(["ace/theme/monokai"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,i){"use strict";var n=e("../lib/oop"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},o.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};n.inherits(o,s),o.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},o.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},o.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=o}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,i){"use strict";function n(e){return[{token:"comment",regex:/\/\*/,next:[o.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[o.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var s=e("../lib/oop"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,r=e("./text_highlight_rules").TextHighlightRules,a="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),i="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[o.getStartRule("doc-start"),n("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+a+")(\\.)(prototype)(\\.)("+a+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+a+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:a},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:a},{regex:"",token:"empty",next:"no_regex"}],start:[o.getStartRule("doc-start"),n("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:a},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:i},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:i},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,i){if(this.next="{"==e?this.nextState:"","{"==e&&i.length)i.unshift("start",t);else if("}"==e&&i.length&&(i.shift(),this.next=i.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:i},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=a.replace("\\d","\\d\\-"),t={onMatch:function(e,t,i){var n="/"==e.charAt(1)?2:1;return 1==n?(t!=this.nextState?i.unshift(this.next,this.nextState,0):i.unshift(this.next),i[2]++):2==n&&t==this.nextState&&(i[1]--,(!i[1]||i[1]<0)&&(i.shift(),i.shift())),[{type:"meta.tag.punctuation."+(1==n?"":"end-")+"tag-open.xml",value:e.slice(0,n)},{type:"meta.tag.tag-name.xml",value:e.substr(n)}]},regex:"",onMatch:function(e,t,i){return t==i[0]&&i.shift(),2==e.length&&(i[0]==this.nextState&&i[1]--,(!i[1]||i[1]<0)&&i.splice(0,2)),this.next=i[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},i,n("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(o,"doc-",[o.getEndRule("no_regex")]),this.normalizeRules()};s.inherits(l,r),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,i){"use strict";var r=e("../range").Range,n=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var i=e.getLine(t).match(/^(\s*\})/);if(!i)return 0;var n=i[1].length,s=e.findMatchingBracket({row:t,column:n});if(!s||s.row==t)return 0;var o=this.$getIndent(e.getLine(s.row));e.replace(new r(t,0,t,n-1),o)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(n.prototype),t.MatchingBraceOutdent=n}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,i){"use strict";var n=e("../../lib/oop"),h=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};n.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var s=this._getFoldWidgetBase(e,t,i);return!s&&this.startRegionRe.test(n)?"start":s},this.getFoldWidgetRange=function(e,t,i,n){var s,o=e.getLine(i);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,i);if(s=o.match(this.foldingStartMarker)){var r=s.index;if(s[1])return this.openingBracketBlock(e,s[1],i,r);var a=e.getCommentFoldRange(i,r+s[0].length,1);return a&&!a.isMultiLine()&&(n?a=this.getSectionRange(e,i):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(s=o.match(this.foldingStopMarker))){r=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],i,r):e.getCommentFoldRange(i,r,-1)}},this.getSectionRange=function(e,t){for(var i=e.getLine(t),n=i.search(/\S/),s=t,o=i.length,r=t+=1,a=e.getLength();++t",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,i){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(<)("+i+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[i+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,i){return i.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(|$))",next:i+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(s.prototype),n.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,i){"use strict";var n=e("../lib/oop"),s=e("../lib/lang"),o=e("./css_highlight_rules").CssHighlightRules,r=e("./javascript_highlight_rules").JavaScriptHighlightRules,a=e("./xml_highlight_rules").XmlHighlightRules,l=s.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),c=function(){a.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var i=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(i?"."+i:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(o,"css-","style"),this.embedTagRules(new r({jsx:!1}).getRules(),"js-","script"),this.constructor===c&&this.normalizeRules()};n.inherits(c,a),t.HtmlHighlightRules=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,i){"use strict";function g(e,t){return e&&-1"==l)||g(h,"decl-attribute-equals")&&(u||"?"==l))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&('"'==o||"'"==o)&&n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)==o)return s.end.column++,s}),this.add("autoclosing","insertion",function(e,t,i,n,s){if(">"==s){var o=i.getSelectionRange().start,r=new f(n,o.row,o.column),a=r.getCurrentToken()||r.stepBackward();if(!a||!(g(a,"tag-name")||g(a,"tag-whitespace")||g(a,"attribute-name")||g(a,"attribute-equals")||g(a,"attribute-value")))return;if(g(a,"reference.attribute-value"))return;if(g(a,"attribute-value")){var l=r.getCurrentTokenColumn()+a.value.length;if(o.column/.test(n.getLine(o.row).slice(o.column)))return;for(;!g(a,"tag-name");)if("<"==(a=r.stepBackward()).value){a=r.stepForward();break}var h=r.getCurrentTokenRow(),u=r.getCurrentTokenColumn();if(g(r.stepBackward(),"end-tag-open"))return;var d=a.value;if(h==o.row&&(d=d.substring(0,o.column-u)),this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,i,n,s){if("\n"==s){var o=i.getCursorPosition(),r=n.getLine(o.row),a=new f(n,o.row,o.column),l=a.getCurrentToken();if(l&&-1!==l.type.indexOf("tag-close")){if("/>"==l.value)return;for(;l&&-1===l.type.indexOf("tag-name");)l=a.stepBackward();if(!l)return;var c=l.value,h=a.getCurrentTokenRow();if(!(l=a.stepBackward())||-1!==l.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[c]){var u=n.getTokenAt(o.row,o.column+1),d=(r=n.getLine(h),this.$getIndent(r)),g=d+n.getTabString();return u&&""==o.value;break}return n}if(l(o,"tag-close"))return n.selfClosing="/>"==o.value,n;n.start.column+=o.value.length}return null},this._findEndTagInLine=function(e,t,i,n){for(var s=e.getTokens(t),o=0,r=0;r"==t.value,i.end.row=e.getCurrentTokenRow(),i.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var i=e[e.length-1];if(!t||i.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(i.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,i){var n=this._getFirstTagInLine(e,i);if(!n)return this.getCommentFoldWidget(e,i)&&e.getCommentFoldRange(i,e.getLine(i).length);var s,o=[];if(n.closing||n.selfClosing){a=new h(e,i,n.end.column);for(var r={row:i,column:n.start.column};s=this._readTagBackward(a);)if(s.selfClosing){if(!o.length)return s.start.column+=s.tagName.length+2,s.end.column-=2,c.fromPoints(s.start,s.end)}else if(s.closing)o.push(s);else if(this._pop(o,s),0==o.length)return s.start.column+=s.tagName.length+2,s.start.row==s.end.row&&s.start.column1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){u={passive:!1}}})}catch(e){}}function f(){return u==undefined&&a(),u}function c(e,t,n){var u=l(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(u|=8);if(s.altGr){if((3&u)==3)return;s.altGr=0}if(n===18||n===17){var a="location"in t?t.location:t.keyLocation;if(n===17&&a===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&u===3&&a===2){var f=t.timeStamp-o;f<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1);if(!u&&n===13){var a="location"in t?t.location:t.keyLocation;if(a===3){e(t,u,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&u&8){e(t,u,n);if(t.defaultPrevented)return;u&=-9}return!!u||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,u,n):!1}function h(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0,u;t.addListener=function(e,t,n){return e.addEventListener(t,n,f())},t.removeListener=function(e,t,n){return e.removeEventListener(t,n,f())},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c)})};var l=function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[l(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return c(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=c(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(h(),r(window,"focus",h))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var p=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+p++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;nDate.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=e("../clipboard"),a=i.isChrome<18,f=i.isIE,l=i.isChrome>63,c=400,h=e("../lib/keys"),p=h.KEY_MODS,d=i.isIOS,v=d?/\s/:/\n/,m=function(e,t){function W(){S=!0,n.blur(),n.focus(),S=!1}function V(e){e.keyCode==27&&n.value.lengthN&&x[s]=="\n")o=h.end;else if(rN&&x.slice(0,s).split("\n").length>2)o=h.down;else if(s>N&&x[s-1]==" ")o=h.right,u=p.option;else if(s>N||s==N&&N!=T&&r==s)o=h.right;r!==s&&(u|=p.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=h.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}T=r,N=s,A("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var m=!1,g=!1,y=!1,b=!1,w="";i.isMobile||(n.style.fontSize="1px");var E=!1,S=!1,x="",T=0,N=0,C=0;try{var k=document.activeElement===n}catch(L){}r.addListener(n,"blur",function(e){if(S)return;t.onBlur(e),k=!1}),r.addListener(n,"focus",function(e){if(S)return;k=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(A):A()}),this.$focusScroll=!1,this.focus=function(){if(w||l||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return k},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;y&&(x=n.value="",z()),A()});var A=d?function(e){if(!k||m&&!e||b)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=x=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(T!=i||N!=s)&&n.setSelectionRange(i,s),T=i,N=s}:function(){if(y||b)return;if(!k&&!D)return;y=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.rowi+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>c&&(s=x.length&&e.value===x&&x&&e.selectionEnd!==N},M=function(e){if(y)return;m?m=!1:O(n)&&(t.selectAll(),A())},_=null;this.setInputHandler=function(e){_=e},this.getInputHandler=function(){return _};var D=!1,P=function(e,r){D&&(D=!1);if(g)return A(),e&&t.onPaste(e),g=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=T,u=x.length-N,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&x[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&x.length-c>T-1&&x[x.length-c]==e[e.length-c])c++,u--;f-=c-1,l-=c-1;var h=a.length-c+1;return h<0&&(o=-h,h=0),a=a.slice(0,h),!r&&!a&&!f&&!o&&!u&&!l?"":(b=!0,a&&!o&&!u&&!f&&!l||E?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),b=!1,x=e,T=i,N=s,C=l,a)},H=function(e){if(y)return U();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=P(r,!0);(r.length>c+100||v.test(i))&&A()},B=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||a)return;var i=f||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return B(e,t,!0)}},j=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);B(e,s)?(d&&(A(s),m=s,setTimeout(function(){m=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(m=!0,n.value=s,n.select(),setTimeout(function(){m=!1,A(),i?t.onCut():t.onCopy()}))},F=function(e){j(e,!0)},I=function(e){j(e,!1)},q=function(e){var s=B(e);if(u.pasteCancelled())return;typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(A),r.preventDefault(e)):(n.value="",g=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",M),r.addListener(n,"input",H),r.addListener(n,"cut",F),r.addListener(n,"copy",I),r.addListener(n,"paste",q),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:I(e);break;case 86:q(e);break;case 88:F(e)}});var R=function(e){if(y||!t.onCompositionStart||t.$readOnly)return;y={};if(E)return;setTimeout(U,0),t.on("mousedown",W);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,y.markerRange=r,y.selectionStart=T,t.onCompositionStart(y),y.useTextareaForIME?(n.value="",x="",T=0,N=0):(n.msGetInputContext&&(y.context=n.msGetInputContext()),n.getInputContext&&(y.context=n.getInputContext()))},U=function(){if(!y||!t.onCompositionUpdate||t.$readOnly)return;if(E)return W();if(y.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;P(e),y.markerRange&&(y.context&&(y.markerRange.start.column=y.selectionStart=y.context.compositionStartOffset),y.markerRange.end.column=y.markerRange.start.column+N-y.selectionStart+C)}},z=function(e){if(!t.onCompositionEnd||t.$readOnly)return;y=!1,t.onCompositionEnd(),t.off("mousedown",W),e&&H()},X=o.delayedCall(U,50).schedule.bind(null,null);r.addListener(n,"compositionstart",R),r.addListener(n,"compositionupdate",U),r.addListener(n,"keyup",V),r.addListener(n,"keydown",X),r.addListener(n,"compositionend",z),this.getElement=function(){return n},this.setCommandMode=function(e){E=e,n.readOnly=!1},this.setReadOnly=function(e){E||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){D=!0,A(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){w||(w=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(T+N)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){s.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout($),i.isWin&&r.capture(t.container,h,J)},this.onContextMenuClose=J;var $,K=function(e){t.textInput.onContextMenu(e),J()};r.addListener(n,"mouseup",K),r.addListener(n,"mousedown",function(e){e.preventDefault(),J()}),r.addListener(t.renderer.scroller,"contextmenu",K),r.addListener(n,"contextmenu",K),d&&Q(e,t,n)};t.TextInput=m}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedt.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),s=e("../lib/dom");t.addTouchListeners=function(e,t){function b(){var e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var n=t.getCopyText(),i=t.session.getUndoManager().hasUndo();y.replaceChild(s.buildDom(r?["span",!n&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],i&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],["span",{"class":"ace_mobile-button",action:"find"},"Find"],["span",{"class":"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),y.firstChild)},o=function(n){var s=n.target.getAttribute("action");if(s=="more"||!r)return r=!r,i();if(s=="paste")e.readText().then(function(e){t.execCommand(s,e)});else if(s){if(s=="cut"||s=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(s)}y.firstChild.style.display="none",r=!1,s!="openCommandPallete"&&t.focus()};y=s.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),o(e)},onclick:o},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function w(){y||b();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.container.getBoundingClientRect();y.style.top=n.pageY-r.top-3+"px",y.style.right="10px",y.style.display="",y.firstChild.style.display="none",t.on("input",E)}function E(e){y&&(y.style.display="none"),t.off("input",E)}function S(){l=null,clearTimeout(l);var e=t.selection.getRange(),r=e.contains(p.row,p.column);if(e.isEmpty()||!r)t.selection.moveToPosition(p),t.selection.selectWord();n="wait",w()}function x(){l=null,clearTimeout(l),t.selection.moveToPosition(p);var e=d>=2?t.selection.getLineRange(p.row):t.session.getBracketRange(p);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function T(){h+=60,c=setInterval(function(){h--<=0&&(clearInterval(c),c=null),Math.abs(v)<.01&&(v=0),Math.abs(m)<.01&&(m=0),h<20&&(v=.9*v),h<20&&(m=.9*m);var e=t.session.getScrollTop();t.renderer.scrollBy(10*v,10*m),e==t.session.getScrollTop()&&(h=0)},10)}var n="scroll",o,u,a,f,l,c,h=0,p,d=0,v=0,m=0,g,y;i.addListener(e,"contextmenu",function(e){if(!g)return;var n=t.textInput.getElement();n.focus()}),i.addListener(e,"touchstart",function(e){var i=e.touches;if(l||i.length>1){clearTimeout(l),l=null,a=-1,n="zoom";return}g=t.$mouseHandler.isMousePressed=!0;var s=t.renderer.layerConfig.lineHeight,c=t.renderer.layerConfig.lineHeight,y=e.timeStamp;f=y;var b=i[0],w=b.clientX,E=b.clientY;Math.abs(o-w)+Math.abs(u-E)>s&&(a=-1),o=e.clientX=w,u=e.clientY=E,v=m=0;var T=new r(e,t);p=T.getDocumentPosition();if(y-a<500&&i.length==1&&!h)d++,e.preventDefault(),e.button=0,x();else{d=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=function(e,t){return e/=c,t=t/s-.75,e*e+t*t};if(e.clientX_?"cursor":"anchor"),_<3.5?n="anchor":M<3.5?n="cursor":n="scroll",l=setTimeout(S,450)}a=y}),i.addListener(e,"touchend",function(e){g=t.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),n=="zoom"?(n="",h=0):l?(t.selection.moveToPosition(p),h=0,w()):n=="scroll"?(T(),e.preventDefault(),E()):w(),clearTimeout(l),l=null}),i.addListener(e,"touchmove",function(e){l&&(clearTimeout(l),l=null);var i=e.touches;if(i.length>1||n=="zoom")return;var s=i[0],a=o-s.clientX,c=u-s.clientY;if(n=="wait"){if(!(a*a+c*c>4))return e.preventDefault();n="cursor"}o=s.clientX,u=s.clientY,e.clientX=s.clientX,e.clientY=s.clientY;var h=e.timeStamp,p=h-f;f=h;if(n=="scroll"){var d=new r(e,t);d.speed=1,d.wheelX=a,d.wheelY=c,10*Math.abs(a)1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l,t.version="1.4.8"}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("./touch_handler").addTouchListeners,l=e("../config"),c=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),f(e.container,e);var l=e.renderer.$gutter;r.addListener(l,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(l,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(l,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(l,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(l,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$isMousePressed=!0;var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",o.isMousePressed=s.$isMousePressed=!1,s.$keepTextAreaAtCursor&&s.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){if(this.$silent)return;var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);if(e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&s.row===this.lead.row&&s.column===this.lead.column,this.moveCursorTo(s.row,s.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var T=l[f.column-2];if(!(d!=o||T!=o&&!E.test(T)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tl)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),n=t.charAt(e.column-1),r=n&&n.match(/([\(\[\{])|([\)\]\}])/);r||(n=t.charAt(e.column),e={row:e.row,column:e.column+1},r=n&&n.match(/([\(\[\{])|([\)\]\}])/));if(!r)return null;var s=new i(e.row,e.column-1,e.row,e.column),o=r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e);if(!o)return[s];var u=new i(o.row,o.column,o.row,o.column+1);return[s,u]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;fr-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w>2)),f-1);while(w>E&&e[w]E&&e[w]E&&e[w]==a)w--}else while(w>E&&e[w]E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),!this.$useWrapMode||!this.$wrapData[e]?t:this.$wrapData[e].length+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[u]&&this.lineWidgets[u].rowsAbove&&(r+=this.lineWidgets[u].rowsAbove),{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&ai)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),t.$bracketHighlight=null);var n=t.getMatchingBracketRanges(e.getCursorPosition());!n&&t.$mode.getMatching&&(n=t.$mode.getMatching(e.session));if(!n)return;var r="ace_bracket";Array.isArray(n)?n.length==1&&(r="ace_error_bracket"):n=[n],n.length==2&&(p.comparePoints(n[0].end,n[1].start)==0?n=[p.fromPoints(n[0].start,n[1].end)]:p.comparePoints(n[0].start,n[1].end)==0&&(n=[p.fromPoints(n[1].start,n[0].end)])),t.$bracketHighlight={ranges:n,markerIds:n.map(function(e){return t.addMarker(e,r,"text")})}},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;iu.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;hp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.session=null},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.renderer.$composition||this.getValue();if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),i.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),i.addCssClass(this.container,"ace_hasPlaceholder");var t=i.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&in.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:p,u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var y="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=y,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"":"",e.appendChild(s)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0]}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){var e=this.ranges.length?this.ranges:[this.getRange()],t=[];for(var n=0;n1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/dom");(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;ut[n].column&&n++,s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},this.addLineWidget=function(e){this.$registerLineWidget(e),e.session=this.session;if(!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight)),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);e.$fold=n;if(n){var i=this.session.lineWidgets;e.row==n.end.row&&!i[n.start.row]?i[n.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(i.prototype),t.LineWidgets=i}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version=t.config.version}); (function() { + window.require(["ace/ace"], function(a) { + if (a) { + a.config.init(true); + a.define = window.define; + } + if (!window.ace) + window.ace = a; + for (var key in a) if (a.hasOwnProperty(key)) + window.ace[key] = a[key]; + window.ace["default"] = window.ace; + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = window.ace; + } + }); + })(); +define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}),define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",f=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();if(e==="ruleset"||t.$mode.$id=="ace/mode/scss"){var i=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(i)?(/([\w\-]+):[^:]*$/.test(i),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(i.prototype),t.CssCompletions=i}),define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"&&n.selection.isEmpty()){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(f.substring(s.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,r,i){if(i==="!"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row);if(/^\s*(;|}|$)/.test(o.substring(s.column)))return{text:"!important",selection:[10,10]}}})};r.inherits(u,s),t.CssBehaviour=u}),define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({jsx:!1})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=a.getCurrentTokenColumn()+f.value.length;if(o.column/.test(r.getLine(o.row).slice(o.column)))return;while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var h=a.getCurrentTokenRow(),p=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var d=f.value;h==o.row&&(d=d.substring(0,o.column-p));if(this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,"for":1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{"for":1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,"default":1},section:{},summary:{},u:{},ul:{},"var":{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(h.prototype),t.HtmlCompletions=h}),define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}); (function() { + window.require(["ace/mode/html"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); +define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() { + window.require(["ace/theme/monokai"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); diff --git a/examples/SmartSwitch/data_src/js_css_src/ace-drafts/ace.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/ace.js new file mode 100644 index 0000000..f54ebb2 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/ace.js @@ -0,0 +1,14 @@ +(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=53&&O()},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(q),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(n,"mouseup",U),r.addListener(n,"mousedown",function(e){e.preventDefault(),R()}),r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,(o||i==1)&&r.selection.moveToPosition(n),r.$blockScrolling--,i==2&&r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g,y&&/string\.end/.test(v.type)&&(y=!1);else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour/cstyle").CstyleBehaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i};(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("

"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:w?Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.6"}); + (function() { + window.require(["ace/ace"], function(a) { + if (a) { + a.config.init(true); + a.define = window.define; + } + if (!window.ace) + window.ace = a; + for (var key in a) if (a.hasOwnProperty(key)) + window.ace[key] = a[key]; + }); + })(); + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/ext-searchbox.js similarity index 100% rename from examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js rename to examples/SmartSwitch/data_src/js_css_src/ace-drafts/ext-searchbox.js diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-css.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-css.js similarity index 100% rename from examples/SmartSwitch/data_src/js_css_src/mode-css.js rename to examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-css.js diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-html.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-html.js similarity index 100% rename from examples/SmartSwitch/data_src/js_css_src/mode-html.js rename to examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-html.js diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-javascript.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-javascript.js similarity index 100% rename from examples/SmartSwitch/data_src/js_css_src/mode-javascript.js rename to examples/SmartSwitch/data_src/js_css_src/ace-drafts/mode-javascript.js diff --git a/examples/SmartSwitch/data_src/js_css_src/worker-html.js b/examples/SmartSwitch/data_src/js_css_src/ace-drafts/worker-html.js similarity index 100% rename from examples/SmartSwitch/data_src/js_css_src/worker-html.js rename to examples/SmartSwitch/data_src/js_css_src/ace-drafts/worker-html.js diff --git a/examples/SmartSwitch/data_src/js_css_src/desktop.ini b/examples/SmartSwitch/data_src/js_css_src/desktop.ini deleted file mode 100644 index 00f30c4..0000000 --- a/examples/SmartSwitch/data_src/js_css_src/desktop.ini +++ /dev/null @@ -1,2 +0,0 @@ -[LocalizedFileNames] -Command Prompt.lnk=@%SystemRoot%\system32\shell32.dll,-22022