From 1ecb6d8682e6bc72b33d13e14b3420b754ac8478 Mon Sep 17 00:00:00 2001 From: obvTiger Date: Thu, 27 Mar 2025 17:28:51 +0100 Subject: [PATCH 1/6] feat: code blocks beta --- extension/blueprint-language-0.0.1.vsix | Bin 584343 -> 585997 bytes extension/client/out/.tsbuildinfo | 2 +- extension/out/tsconfig.tsbuildinfo | 2 +- extension/server/out/.tsbuildinfo | 2 +- extension/server/out/server.js | 61 ++++ extension/server/out/server.js.map | 2 +- extension/server/src/server.ts | 83 +++++- extension/syntaxes/blueprint.tmLanguage.json | 23 +- lib/ASTBuilder.js | 35 +++ lib/BlueprintBuilder.js | 16 + lib/BlueprintCompiler.js | 9 + lib/HTMLGenerator.js | 136 ++++++++- lib/TokenParser.js | 136 +++++++++ lib/generators/ButtonElementGenerator.js | 16 + lib/generators/StandardElementGenerator.js | 16 + lib/mappings.js | 2 +- lib/server.js | 291 ++++++++++++++----- lib/utils/StringUtils.js | 17 +- package.json | 1 + 19 files changed, 756 insertions(+), 94 deletions(-) diff --git a/extension/blueprint-language-0.0.1.vsix b/extension/blueprint-language-0.0.1.vsix index c03e9ad109b0c1305833d6da561c958f3ec10e7f..1bf285e74be8b100c8a43abf51314f8671ae6af7 100644 GIT binary patch delta 95379 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 delta 93790 zcmY(KWmwct)c2QGQfWyMq`Mmd3F+>TlI~b)`6($OOLr(KQqs*LDcxO?OD@gAQqTXn zp8J0Byqp&^*O_y^XXc!_=JRcnF@2ViT1yoJlN1Dc_6&q{5i-HlF*;E~2Z2ynAP{*v z;rnN=fXWnY_a)vJ1Nj@eMj_mMdRfBy8o#Q{+nns=La#jczC!=a)-dMFTjhtSpmW*Vz)u^bsw3q@-Vz77cF0JR%v54CFhaoeLk`nuJkA_PVHmh3H zg+QiF+b(1X7uTem>pz>#e34T98&gFkH%Q6t6_B)&Dz`!Pt$ZR@$Q3(RF^5p8F!w>N z1C3Wpx%D?K%ONt*D-Mkm)4?L}+~5a+xXU8#LO~?DZoJ>A>(FAQ%5C?IQGjbt*OBx^ z=}hDx?<-H?G780MT*#1fxknin``G&^*p%L@g^&p1I%tqlTwjT=z8HOx=!~yo(aIsa z17M$hH2yP`M%N;M>C$=I*j8)cqbht+_Zfz%Ax`5A_Jq7|6G~&(dnNp~ zAgLg=epB_Ck!W>dZ8SI{s&=OFt8oG;PRyJqM*sJ9i|oirIxX(Lx<17@6_(C2qXpBg z?nbUIQSuuLU4ly|0wc&wB82Ca z6YqGsc1`XnCMaC>F{Q+xCa!y^zk<1O3W0){**gfpz=>=JH1fk1)9e{WYNO)y<2qh|GDj1+g9~nBIS3 zG_m%b;zhh1e%em-dndPbG=t&{1>@!Qp#1wfGke_G@IwFi$^ggRlJ33c3(xti!t1MS zOT)Dt^trwEp?g839kQ&S8ZzbBs1|4& ziRzC?8^~#2{_NFiK~w9LZ%iRKi8*p-gegWm@BJoCwuQN$uT)$sg_^isxJcF=J_RK> zzltF{UsY8>3$AG_L=3h9APTlW{(CoVd#nAAA5N&FyQR*aSGiAFbj~_mWBflaJ^L>s z30#Dd?Qoa@96eI0OZUBwFu}yC`eH^_ea!ujKfXR|=ESSu9PX<@t$cm;Zg{dv2G z1{C+-0G9<617gbdK!1(<&WlMc{}0w@5NNQ)4D=N(VP!0$SYR-*#ugjI1p53MG-%75 zDrbWRB>ctu%nTaz4&XDR-m~06dx!hk*4LsU#~}pN|A;MP1nR+i8`T?*0eX{3c@o+V z`un7d2%-boJ`Ey2C(VXOBq`a(&_|}x5jhUY>!b5U+(==5m zK|g>4*&hlCuSm(0h<-`*>p^Soy1eG}61EDeU4X2TLQYtzI^ zK1PD|j*`t1e@iCrudM}&$uyVn&I{54|kiOub_mS*IycXf|(h< zP=3IAuPB=P_hZt_$7ns~@2b}ODIO-IVfdiT5B3Rzpt#iT&FCUlYy!}`9B3^8stBZY z1C-L{t5_Y^XW(q{M9MOZ*rUIL{&<^EAUC+kn>QAA<;+UdKku@~Lm$@Qyh&L>Lqu00 zb@W5iig5{&xn@r=IadB)9I=-p>yf8H_0y) z-$t%S-Nv)pTw$^s-By8;=T+H34xogi3f#~9Q*`X0zi0^~q4&Qt^l;yNS7wZ40(}H3 z;x`=2ZSLuH2TrAXJf4LqzY#$D=l6US{<9Ty%;Z~NGr$@If?z?pOXd!o`CRi;ZS3{dchgPu9bO8@Cg!C@3&QNJ!e*XMgOpFB%&+C&Jq}TQX`Jcl zBYB_1GdgRYS>j4k3v`>MuxKgX|1Im)ub12(X@f$lELP+X^Jn0EK*{E=I#nv&;dO}7 z$K33fkn$`38kMU8-Mo7x48F$~J3@A}rqdegt4RHNUhcO?EuDsOng7z1z`8ei8ETel zQmcVQ6}=j}vTNIQ_pzAE4=FB9_K?;=$-7F&lGLu*zd38>fW=A4@$^NTglg?pyyh^Y z`3JkE_ir1N4&azG8e(VC$3p=GdT>Nsl3r4nVOcy))+?(Rm}1& zIC~=kocSiV50 z;yApQ(`|&?$>a9-v9VFCYZ=j>&Bc)7Mh^Ajc&VI9N8m#Mhnj;kqQxU+EhD`%)1_=~ z>BLmb)zoxSV^J3(HhPi9I@u{=0R%?orC*$VNj!ENE!rW*%}t~b9uMIw9J9BWM{1Tw zOTmk>12}$JvYNtVz(octoS{LDHAtbgf>?3vF-sJB(K>`Rh4Y^obz|UnAcKN?t=x2- z*7NrjpqI|BtGO{tj^^mPMipXxho46REBxcJCV0eXiH>JpMewd8;>pKwsRIUvz{ zoJW}VV-sq81N|dEXizdC4;+5k)(pzHhDu4ic+{oCK1X_4UBPeOK5FjgwxIE1z0M>$ zm!7&F|A*a$JD2ZHdMVP3#v67l<4Ah7-j4^uFnmg!QawfccR|0`bHjVPferG2hCTx1 z^q@Sg#}=i@kYD#8wJ1F1M46(#Y5NNdUJMq1k?ToXhWW|tH-a%$Mhp#<^YPC6qwvDl zJvQ`=dxBnQ{R8qD=wsX=OvV@E5{wC&2s<9&i@Dw+#_YmMuXHRUm#pC-pF z>lA)p!zp)eMn7LZ;~Hl@u;dDDczOqe)<229NBiCP&GOM|FQhpCE$(MV4dCfCF5!`t z6L>ADgF+U77B+64bVU;8E%56AQAM#3{$3F8m&>F=)~6K85*ciiYth4#0e<<@yE|w~ zNULbjBb+kg-i2&n2u>xtys;m|@ZfL-YrzCvKgj}I$v2B3l#aIz#70lwdat{u8Rcxw z=#Sj-l%We2UWKeOvcw=j)d8jqm3yL1?Y(3fXNAMk6D&Xnh{QQd-I$KYSL(OJMZeEt z_oOEOZ&c`$(YruP^xcIS08=qqMl3aqkt?5hv=OFc^JJ)EgMvDzTr)P|&jE$zfYIOI zI{=f7$LBomp1JkHOaMCk@o@f2AhiB5-*y2N3no1m3BXqbWIn>arAPpt8); zRbd=@&^_=iG9(f`8~CCfmye6(@*wG(o*dhrRAls@ zPv;jlJf*WgNCI&wj}^poA%#0I!|0AD0jj%EzFj!#y>F!dKu&VneLEZh><%iFqFSWmR< zAj}6Gl!rd3{R!iNO@Ach6_->L6=>Jv{%>69V>?yQlY$TF15%b?dR?xN2ADg@xc>(D zJv3_Nc0BPWNu|)ERB4l8Xf4$HkF-tL29FN&mcmprCzjBZCnkb8pi_G(KV6XbLBQlr zRfVKnW}WvIrw}<|dqNNG4>9=_JxDapdUawvnh$?UOe5;An+F&@W#+24YHn@nuW@`O zL7o3;Qtv@2a1+zz$+rGdiTPgS0T5BdE2K}5sd+gyKHGhLa`XLIV(JX0jkgT^d$n`Z zR@gTu^PhN%>uav*D<4#+K8?dJ6lG!R)Xp-V%|N~&IzHNs%<0IN+#Q7)oUuRuAlwTu zWogen)vn9++buM4kpjXK@9qZd&(fjJSUmCDHu zAhF7L*2BO{gWkhL*?*@D>G>Ea8b=i6)dGqH;EcCrypk!<(+^=*R7J6&8?2Ni@-kHY zO7fjXywceHTM#B`^2jr3fS4Yq$Mg3(`JdA_f5(Y4-2Z`k@^6$Mi+S5gH#ws=c6g<* zP-PREVf&7}IfVNLU8gD;oy3s>Kk~7*>b{4VVvOHz%c6oa@`!q{c+EhEZ6uLkIaCMl zdI%+qK1~<%!Fn&f%cmXMOaJ*%mJ*75xzgiNksrB}8+C4icd-Ehn4a`0=|*sXEBu4U zgG^Z9Zgt)*tjxYM8bUpYeyvG^a~`#^`J*M1e{n81$MoG7tCP9PehwlTGch|;^R}G< zq7o53a$6MaVDTqdLfttF**LaGb=!jVr{cKGp2@utl2zd6`GK|Ngq@HAX0fT^p=!e4 zG$0us)XJbAG@k>=A;-mJr}3QMo74ul2LOg`cD*8VoMm1A!WF433q87vF-%)$i**hE zMya_uE$Q2=Xhrt)E!VDe2rm0bw6Qsndbwx3dLn2{q*-p zEHi1}?T7j6Aa4Y=`&p&-Icf9-83Wtlx&xs7Qd$f`R=t`_gK^smh*AtzEzu; zJh5*q?e!hKfZZNDlQ(z#ZOm}5>s^^Je~VYnLEx4{T+1uuz0yJ!6>I744NvAveLwE~XiiyI3mRL5tADwQLpq4UWI2uo{5Jn zn@9V(Rb1vpE$N!F=vaP*G)5Y;dmFMddl19{4tZgR7p}T#I{^TVL-1MuZIjNhfGT(bW zGYARTYGvf;SJ)vJZh&`$2G}w6<{-GciRV!b2b{7Afz1@vQIpaSocSApO`He4!3)(w z)g8svJ6l^`+}m9uGjZ)AMkmon2Yo{DKzl0Hg`^Pgm{L9?Y> zdI9F;taUfQgc zHB$t!R`h8uV6b`~DDi7_8(IhnNwqoJ(p)r5&37ZJm^c{J+;w(-SZkVzSa8xmm&DkU z<{xqq?38{O-l;aQLazTj+9}xbC_Zf_VJALOjq)(b%%pl{aF;V=cK=ON9ZbA$`&y*A zvDi^(7N>k}RG&KkuEV~Ax3(PKnD--{xZ~#C@{GzVfr6wN@M=iZ%u&)U67j1>@j}H~ znuDkL`y*Fib;FL(>_rpJ5(g&OW$1FSyvqNjq{V63-8EeD(A~quM>q&@TIRkG+wwP1 zO*Y;%@pJ+hgH#(v+m6Nl3BmU1;V^m}CU@Z&erg!v~Ur=~Qo3_}n zlRr3lr73jx*(^1``QbGGnwzNcZBfxC0mN(R6&rJug=3mhWMVz@6UL#d$nJ)R-B~lw zLnaG!E<$mxo~CuTvf$N;T5AaJChGd{jpY!l;A*p(!QIssdV0ovo3_;_NE@(Z zu~aROEyX6&h=Kna^q|R}@?~NtYkMJ~nAWt4M5!mlk`PUmB%R1$#~M$_E|u@-7UB~R zc{AW3q+I0lpX|2}hgCa;yyjUQ^CFFrgc;T3@k8g$dA<&h?d5CCwVOk?#KY<^_4#Az z_P%dOXI77|j7iqMp?kBlsz6gpa334b$!kDWc>(zpS z?87tbGtBNhDyK8;Je-EAMd#M-tobD@E`Q1wKkU*pb03c$7utx;uq_05RQIW*0eAh$ zC&6qZ#}^Sj`rTVz2WL(*!;|hiC!+ez6+0VnbB!I^VH1VwPb!$vM;%Lzwp9mu*|G6F zt8+L!4|#PuW^PtR=f&oTjsrNHd_}ael7}uzf)HBX@}bLtBq4jlj=F@TxiimXYmCFz zXExUIskOxF0NJ)EM}NFW-zJi+m z8*Me&SWU_~5j2Peyv^H8Q@y@!k`7_@rb}GGcSQ_0FQdvs2X;;&)1TYi*^#dEfHa)p4965B&mWh5wPNwd{ z{G_e)sx7uVHgfIe`c7jBiCNw^jA7AP7;f$B+^CFszw zTjhttxAS(AXAL2(HbXX3B4xO4QqUg#r{_&vTZga8H#x)j((P_FeL1BqeLc?m+$z5* zh4Tl?i2F!oQ2u6u{rq`Y2vcO=KmkSEYK6Tl`k#DKQ(**#I{ zI&BVB!`XGmFbx8wb0=QGJ6o%FOpgm*+v_78)#IxX-i7I&LPA=kka3kUxukv2xy3+#@1V8Tu(T|78Ul z^lr}xeLQO6zJmaf&Hf-9WW0V$-WZ^yxLfI!@Vouf5!!AEAXTzniaRViW|Lz{>e=B1 z-A)#EB9^k&UBEH|8qzuwd7}?_1&;_C4v>J8GY_zeIhUY50(=-r$f9?=xcFZHqLvtmK*z zNqO+0h$;^o$lX1%t1CYGckS(GEoD5qF@N&a6FWGNR7r0+ut|a?k7NDa1Fvf?&5y%P zcyi@Gy{R5WZ&zocRTO1@$@5zUDRPLYnYkq5;&mpFwNjKmkiKnl8x*(PaKf2zZM6J* zX7tn;2>Ge394k0nefX2G}nS=K=fB@-6QYRvitBCYcLgcb$!D)>1kWIRyi3>ExhiN`XacilDoFI&oi%n z^iIkA;BH7J05DpVH74=Jk8=Jx;0mlS$!Ktyd&~~wfM+}1+D7}3ZgVJ`AHfn$K)R(^ z^Z4S3y^=WteCJoehgwtQ&Z}YjToHfnF$Z9$$wuCEp#Oo8!?Rh@e??$?M<;-zuU*WC z#kW)=fZF#KQ7q>EiCKG#fK04OC=AF;rE$y`h!FdLXI%K)s~?3?Hz>hyp$a^X@L#6n#sEKT)KgLY6uBI(vnw7L!SFNw?s;Gurj+z40B zp=cY#KGYw%IT`UI{>Qtgk$fP@o!c^}(8^}Bo=Gx39%0AR$Y$VIy;mwd53v{bMMQfh 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 Ol11?G*j(sQxc(pJR{MJZ diff --git a/extension/client/out/.tsbuildinfo b/extension/client/out/.tsbuildinfo index ab54d4c..b945de0 100644 --- a/extension/client/out/.tsbuildinfo +++ b/extension/client/out/.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/vscode/index.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/common/codeconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolcompletionitem.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageclient/lib/common/textsynchronization.d.ts","../../node_modules/vscode-languageclient/lib/common/codelens.d.ts","../../node_modules/vscode-languageclient/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageclient/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageclient/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageclient/lib/common/notebook.d.ts","../../node_modules/vscode-languageclient/lib/common/features.d.ts","../../node_modules/vscode-languageclient/lib/common/configuration.d.ts","../../node_modules/vscode-languageclient/lib/common/completion.d.ts","../../node_modules/vscode-languageclient/lib/common/hover.d.ts","../../node_modules/vscode-languageclient/lib/common/definition.d.ts","../../node_modules/vscode-languageclient/lib/common/signaturehelp.d.ts","../../node_modules/vscode-languageclient/lib/common/documenthighlight.d.ts","../../node_modules/vscode-languageclient/lib/common/documentsymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacesymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/reference.d.ts","../../node_modules/vscode-languageclient/lib/common/typedefinition.d.ts","../../node_modules/vscode-languageclient/lib/common/implementation.d.ts","../../node_modules/vscode-languageclient/lib/common/colorprovider.d.ts","../../node_modules/vscode-languageclient/lib/common/codeaction.d.ts","../../node_modules/vscode-languageclient/lib/common/formatting.d.ts","../../node_modules/vscode-languageclient/lib/common/rename.d.ts","../../node_modules/vscode-languageclient/lib/common/documentlink.d.ts","../../node_modules/vscode-languageclient/lib/common/executecommand.d.ts","../../node_modules/vscode-languageclient/lib/common/foldingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/declaration.d.ts","../../node_modules/vscode-languageclient/lib/common/selectionrange.d.ts","../../node_modules/vscode-languageclient/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageclient/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageclient/lib/common/client.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageclient/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/node/main.d.ts","../../node_modules/vscode-languageclient/node.d.ts","../src/extension.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts"],"fileIdsList":[[46,51,56,78,186],[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,189,228],[51,56,189,213,228],[51,56,228],[51,56,189],[51,56,189,214,228],[51,56,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[51,56,214,228],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,180],[51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179],[46,51,56,142,153],[46,51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[46,51,56,142],[46,51,56,142,143,145,146,147,148,149,150,151,152],[46,51,56,142,144],[46,51,56,57,103,179,183,184],[51,56,185],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,181],[51,56,182]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"caaf6bf4dd0a3f88b50670f5786141b209edb54ba17eb6268c2d28919c813606","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"6c39d4dbdb372b364442854e42d8c473e2ec67badb226745af17ed5ac41ce6f5","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"5293d799856f47259146ccf0be9a1cc0a4a5343696182d7206ed25ea67d67920","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"49cdd2b992fe2447994e995576addbc286913ddbebf928750074a6b1fcb24671","impliedFormat":1},{"version":"8479e373e70dedc75d9b1250a349e1efc4553af8a76bbd2ab4de7d9923fb6d1a","impliedFormat":1},{"version":"162e1ddfbe11f8052e38c8d6f69ea4df6fc12dab3902a79321ac0d5f88fe409e","impliedFormat":1},{"version":"d7a0eb5c9aff2237ec7b74a8d40e4221e5c0ef95019114e4a445eecf8f3d5946","impliedFormat":1},{"version":"6ec38a746ebcc6293af84cbf97f66b5a525a6d10424a0475e130ff8b6636a0a4","impliedFormat":1},{"version":"601d0bb63ace18781df556257caa4c3912ffefb599a59de91370b78d60c82969","impliedFormat":1},{"version":"bc9440b60655653ba1f5b94e02e831f1e935c652e2dc005836e7613c3a1d978d","impliedFormat":1},{"version":"2663a2923b6a66ae1729a9ad57db83a8b7578cdf1a545cd8a77ccc19b754038e","impliedFormat":1},{"version":"3062a3cccb480f7c798b8ca39128e368528f8b7f3fe3b72589bed8f5c7782d09","impliedFormat":1},{"version":"c983813ab0f99f37cf8b175a6761c2335df4cf1ed7515c7a19359797e9aa2639","impliedFormat":1},{"version":"7078d4a06f8f6944d23a57b0576bce9fe9eed5da1e02e89939cd5f534101a7d5","impliedFormat":1},{"version":"7dfd08c6f2628f5e2d4751d0a658bd12fa80e7c193f8845adda34eb46573457c","impliedFormat":1},{"version":"3f89dd0b5281bb1bcfe8207f88ecfa4d8de5388088f54cb012696f259d0f342c","impliedFormat":1},{"version":"46a2abc591dbc99debdb61cd1d25cfd80dd2fba1b9d341abb422a6e40e43449c","impliedFormat":1},{"version":"6a74f94c6f4282c5d0689e9b3edc08c6f744e7be8447e915c61aadd81339fe54","impliedFormat":1},{"version":"404d27a1f6dffc4dfbfeffcf483931faa4efd392a8b46c7e0ed9c1cb59f7ad15","impliedFormat":1},{"version":"ecb2d23ac823bf3c5d6735a973006fff1a0a1a5b5a5290f102426ffa00adda68","impliedFormat":1},{"version":"536044ec95d80b94b1fc6301205a0c8fe53887851d39a61d4d3c5564a6dd51eb","impliedFormat":1},{"version":"394ecd2838c8c55972676fe04b930bb32cd7aa0e8b7761b15527e71179bc2684","impliedFormat":1},{"version":"500ab366288ecf09ec637b0d984d41c6dd3ad8115c83da8ab9e004e3e63aa8bd","impliedFormat":1},{"version":"7429792de33c2c59148b2a26f29b26dda256a8d29e9f7b08d4aa5835f8b5e39f","impliedFormat":1},{"version":"d331cdb16cfded5638a2fcce3edb40452afbc3b486c5f0286af44a1aedb7a345","impliedFormat":1},{"version":"542178afcf014b2eab72333f205fc2ccc41217495bcc4cc1ed6e60ad9f1bd11b","impliedFormat":1},{"version":"d2e09ad5eb8111c3564ee743948b4e5915f5aee3d81c480d425eb5cee026fae6","impliedFormat":1},{"version":"ea3ea9ee8165da7b3432e4a4e94e9a0980d6aaf22bcd2d71204d407f106f2fa0","impliedFormat":1},{"version":"83567a9792c293d0f9d90feb9918e88b454ee8544e3d0ea06f9454477df010d1","impliedFormat":1},{"version":"eb314a7ab84c4f504444b53ec2b2d2557b0a06d79a7ce98e9bd2608cee5f946d","impliedFormat":1},{"version":"179f43f3b09b175b85e326ed59b1a2347b4d12fe7d67a4d88dee831f513119bd","impliedFormat":1},{"version":"b9e644c0e84188695a1d3d6d7d03740d7eaaf4bde5d6d25cbdb11df8347657d7","impliedFormat":1},{"version":"bd217bd008c0e8ec5332b6e905768fbadb3d925991dbf821307effd330e182d8","impliedFormat":1},{"version":"b355f2c3451ebc59d3b2fe47346f6a55da91dbcb9f2ad3b48b6bb5173fe77bb1","impliedFormat":1},{"version":"44263a5f285acc47f07cfa058edd282d7d06b026d85741b436372165337d6d2e","impliedFormat":1},{"version":"270314b700dfa1219abce94c5d46da873bfc958129426645ceff8cf559c2fec3","impliedFormat":1},{"version":"37ff500e6e9fe54a3a7e6f8533d4e65dfbb581625d0127836019ab6c86c64462","impliedFormat":1},{"version":"a9d6d153f6ca6ed0e992f3ecc9d684f16cbc0acaa33ab999aa826e80bb67365c","impliedFormat":1},{"version":"b19ef881994f1e0256e37589fadee9a93997400af999f33e2c3e638a6fcccb02","impliedFormat":1},{"version":"6b761b42779653f857ed9d9504f84a016cdfd16a95d044999a2b71331a18bcfd","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"e06388af85e67651e7bd2d13170e4dd9399ee93858cb1142fadfd99873535624","impliedFormat":1},{"version":"9a8bbbe55d20a047e89677cafc553879afb38d41a100ed7e6bb78e4b71203578","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"ba7789cb1790df485402b99531fb5f863194bcb76d64656bdec53a00bb200b0a","signature":"28fd02b23f22a42df03edc496d91b458cbb5c0b39a9933a40f136e465bf6dc1f"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1}],"root":[187],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[187,1],[188,2],[53,3],[54,3],[55,4],[51,5],[56,6],[57,7],[58,8],[49,9],[47,2],[48,2],[59,10],[60,11],[61,12],[62,13],[63,14],[64,15],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[52,2],[50,2],[71,21],[72,22],[73,23],[103,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,2],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[213,53],[214,54],[189,55],[192,55],[211,53],[212,53],[202,53],[201,56],[199,53],[194,53],[207,53],[205,53],[209,53],[193,53],[206,53],[210,53],[195,53],[196,53],[208,53],[190,53],[197,53],[198,53],[200,53],[204,53],[215,57],[203,53],[191,53],[228,58],[227,2],[222,57],[224,59],[223,57],[216,57],[217,57],[219,57],[221,57],[225,59],[226,59],[218,59],[220,59],[46,2],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[118,60],[110,61],[115,62],[108,2],[111,63],[109,64],[107,2],[117,65],[113,66],[106,2],[114,67],[112,68],[116,69],[180,70],[181,71],[105,2],[184,72],[174,73],[179,74],[166,73],[143,75],[148,73],[165,73],[155,73],[154,73],[172,73],[157,73],[151,73],[159,73],[169,73],[160,73],[170,73],[153,76],[178,73],[171,73],[167,73],[156,73],[164,73],[150,73],[149,73],[175,73],[152,73],[144,75],[145,77],[162,73],[168,73],[173,73],[146,73],[158,73],[147,73],[163,73],[176,73],[177,73],[161,73],[185,78],[186,79],[142,80],[141,81],[119,82],[129,83],[124,83],[123,84],[140,85],[126,83],[138,83],[133,84],[125,83],[120,83],[137,83],[136,83],[132,83],[134,86],[139,87],[128,84],[127,83],[130,83],[131,84],[121,83],[135,83],[122,84],[182,88],[183,89],[104,2]],"latestChangedDtsFile":"./extension.d.ts","version":"5.7.3"} \ No newline at end of file +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/vscode/index.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/common/codeconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolcompletionitem.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageclient/lib/common/textsynchronization.d.ts","../../node_modules/vscode-languageclient/lib/common/codelens.d.ts","../../node_modules/vscode-languageclient/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageclient/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageclient/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageclient/lib/common/notebook.d.ts","../../node_modules/vscode-languageclient/lib/common/features.d.ts","../../node_modules/vscode-languageclient/lib/common/configuration.d.ts","../../node_modules/vscode-languageclient/lib/common/completion.d.ts","../../node_modules/vscode-languageclient/lib/common/hover.d.ts","../../node_modules/vscode-languageclient/lib/common/definition.d.ts","../../node_modules/vscode-languageclient/lib/common/signaturehelp.d.ts","../../node_modules/vscode-languageclient/lib/common/documenthighlight.d.ts","../../node_modules/vscode-languageclient/lib/common/documentsymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacesymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/reference.d.ts","../../node_modules/vscode-languageclient/lib/common/typedefinition.d.ts","../../node_modules/vscode-languageclient/lib/common/implementation.d.ts","../../node_modules/vscode-languageclient/lib/common/colorprovider.d.ts","../../node_modules/vscode-languageclient/lib/common/codeaction.d.ts","../../node_modules/vscode-languageclient/lib/common/formatting.d.ts","../../node_modules/vscode-languageclient/lib/common/rename.d.ts","../../node_modules/vscode-languageclient/lib/common/documentlink.d.ts","../../node_modules/vscode-languageclient/lib/common/executecommand.d.ts","../../node_modules/vscode-languageclient/lib/common/foldingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/declaration.d.ts","../../node_modules/vscode-languageclient/lib/common/selectionrange.d.ts","../../node_modules/vscode-languageclient/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageclient/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageclient/lib/common/client.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageclient/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/node/main.d.ts","../../node_modules/vscode-languageclient/node.d.ts","../src/extension.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts"],"fileIdsList":[[46,51,56,78,186],[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,189,228],[51,56,189,213,228],[51,56,228],[51,56,189],[51,56,189,214,228],[51,56,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[51,56,214,228],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,180],[51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179],[46,51,56,142,153],[46,51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[46,51,56,142],[46,51,56,142,143,145,146,147,148,149,150,151,152],[46,51,56,142,144],[46,51,56,57,103,179,183,184],[51,56,185],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,181],[51,56,182]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b3098756b32d6029cd9889b087a32e890298bd7953d05b72b02f6a3ad4f318a","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"49cdd2b992fe2447994e995576addbc286913ddbebf928750074a6b1fcb24671","impliedFormat":1},{"version":"8479e373e70dedc75d9b1250a349e1efc4553af8a76bbd2ab4de7d9923fb6d1a","impliedFormat":1},{"version":"162e1ddfbe11f8052e38c8d6f69ea4df6fc12dab3902a79321ac0d5f88fe409e","impliedFormat":1},{"version":"d7a0eb5c9aff2237ec7b74a8d40e4221e5c0ef95019114e4a445eecf8f3d5946","impliedFormat":1},{"version":"6ec38a746ebcc6293af84cbf97f66b5a525a6d10424a0475e130ff8b6636a0a4","impliedFormat":1},{"version":"601d0bb63ace18781df556257caa4c3912ffefb599a59de91370b78d60c82969","impliedFormat":1},{"version":"bc9440b60655653ba1f5b94e02e831f1e935c652e2dc005836e7613c3a1d978d","impliedFormat":1},{"version":"2663a2923b6a66ae1729a9ad57db83a8b7578cdf1a545cd8a77ccc19b754038e","impliedFormat":1},{"version":"3062a3cccb480f7c798b8ca39128e368528f8b7f3fe3b72589bed8f5c7782d09","impliedFormat":1},{"version":"c983813ab0f99f37cf8b175a6761c2335df4cf1ed7515c7a19359797e9aa2639","impliedFormat":1},{"version":"7078d4a06f8f6944d23a57b0576bce9fe9eed5da1e02e89939cd5f534101a7d5","impliedFormat":1},{"version":"7dfd08c6f2628f5e2d4751d0a658bd12fa80e7c193f8845adda34eb46573457c","impliedFormat":1},{"version":"3f89dd0b5281bb1bcfe8207f88ecfa4d8de5388088f54cb012696f259d0f342c","impliedFormat":1},{"version":"46a2abc591dbc99debdb61cd1d25cfd80dd2fba1b9d341abb422a6e40e43449c","impliedFormat":1},{"version":"6a74f94c6f4282c5d0689e9b3edc08c6f744e7be8447e915c61aadd81339fe54","impliedFormat":1},{"version":"404d27a1f6dffc4dfbfeffcf483931faa4efd392a8b46c7e0ed9c1cb59f7ad15","impliedFormat":1},{"version":"ecb2d23ac823bf3c5d6735a973006fff1a0a1a5b5a5290f102426ffa00adda68","impliedFormat":1},{"version":"536044ec95d80b94b1fc6301205a0c8fe53887851d39a61d4d3c5564a6dd51eb","impliedFormat":1},{"version":"394ecd2838c8c55972676fe04b930bb32cd7aa0e8b7761b15527e71179bc2684","impliedFormat":1},{"version":"500ab366288ecf09ec637b0d984d41c6dd3ad8115c83da8ab9e004e3e63aa8bd","impliedFormat":1},{"version":"7429792de33c2c59148b2a26f29b26dda256a8d29e9f7b08d4aa5835f8b5e39f","impliedFormat":1},{"version":"d331cdb16cfded5638a2fcce3edb40452afbc3b486c5f0286af44a1aedb7a345","impliedFormat":1},{"version":"542178afcf014b2eab72333f205fc2ccc41217495bcc4cc1ed6e60ad9f1bd11b","impliedFormat":1},{"version":"d2e09ad5eb8111c3564ee743948b4e5915f5aee3d81c480d425eb5cee026fae6","impliedFormat":1},{"version":"ea3ea9ee8165da7b3432e4a4e94e9a0980d6aaf22bcd2d71204d407f106f2fa0","impliedFormat":1},{"version":"83567a9792c293d0f9d90feb9918e88b454ee8544e3d0ea06f9454477df010d1","impliedFormat":1},{"version":"eb314a7ab84c4f504444b53ec2b2d2557b0a06d79a7ce98e9bd2608cee5f946d","impliedFormat":1},{"version":"179f43f3b09b175b85e326ed59b1a2347b4d12fe7d67a4d88dee831f513119bd","impliedFormat":1},{"version":"b9e644c0e84188695a1d3d6d7d03740d7eaaf4bde5d6d25cbdb11df8347657d7","impliedFormat":1},{"version":"bd217bd008c0e8ec5332b6e905768fbadb3d925991dbf821307effd330e182d8","impliedFormat":1},{"version":"b355f2c3451ebc59d3b2fe47346f6a55da91dbcb9f2ad3b48b6bb5173fe77bb1","impliedFormat":1},{"version":"44263a5f285acc47f07cfa058edd282d7d06b026d85741b436372165337d6d2e","impliedFormat":1},{"version":"270314b700dfa1219abce94c5d46da873bfc958129426645ceff8cf559c2fec3","impliedFormat":1},{"version":"37ff500e6e9fe54a3a7e6f8533d4e65dfbb581625d0127836019ab6c86c64462","impliedFormat":1},{"version":"a9d6d153f6ca6ed0e992f3ecc9d684f16cbc0acaa33ab999aa826e80bb67365c","impliedFormat":1},{"version":"b19ef881994f1e0256e37589fadee9a93997400af999f33e2c3e638a6fcccb02","impliedFormat":1},{"version":"6b761b42779653f857ed9d9504f84a016cdfd16a95d044999a2b71331a18bcfd","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"e06388af85e67651e7bd2d13170e4dd9399ee93858cb1142fadfd99873535624","impliedFormat":1},{"version":"9a8bbbe55d20a047e89677cafc553879afb38d41a100ed7e6bb78e4b71203578","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"997c8a1255d042705607c66044922fcb4cc735b14f56c8915eb099d20da12ba5","signature":"28fd02b23f22a42df03edc496d91b458cbb5c0b39a9933a40f136e465bf6dc1f"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1}],"root":[187],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[187,1],[188,2],[53,3],[54,3],[55,4],[51,5],[56,6],[57,7],[58,8],[49,9],[47,2],[48,2],[59,10],[60,11],[61,12],[62,13],[63,14],[64,15],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[52,2],[50,2],[71,21],[72,22],[73,23],[103,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,2],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[213,53],[214,54],[189,55],[192,55],[211,53],[212,53],[202,53],[201,56],[199,53],[194,53],[207,53],[205,53],[209,53],[193,53],[206,53],[210,53],[195,53],[196,53],[208,53],[190,53],[197,53],[198,53],[200,53],[204,53],[215,57],[203,53],[191,53],[228,58],[227,2],[222,57],[224,59],[223,57],[216,57],[217,57],[219,57],[221,57],[225,59],[226,59],[218,59],[220,59],[46,2],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[118,60],[110,61],[115,62],[108,2],[111,63],[109,64],[107,2],[117,65],[113,66],[106,2],[114,67],[112,68],[116,69],[180,70],[181,71],[105,2],[184,72],[174,73],[179,74],[166,73],[143,75],[148,73],[165,73],[155,73],[154,73],[172,73],[157,73],[151,73],[159,73],[169,73],[160,73],[170,73],[153,76],[178,73],[171,73],[167,73],[156,73],[164,73],[150,73],[149,73],[175,73],[152,73],[144,75],[145,77],[162,73],[168,73],[173,73],[146,73],[158,73],[147,73],[163,73],[176,73],[177,73],[161,73],[185,78],[186,79],[142,80],[141,81],[119,82],[129,83],[124,83],[123,84],[140,85],[126,83],[138,83],[133,84],[125,83],[120,83],[137,83],[136,83],[132,83],[134,86],[139,87],[128,84],[127,83],[130,83],[131,84],[121,83],[135,83],[122,84],[182,88],[183,89],[104,2]],"latestChangedDtsFile":"./extension.d.ts","version":"5.8.2"} \ No newline at end of file diff --git a/extension/out/tsconfig.tsbuildinfo b/extension/out/tsconfig.tsbuildinfo index b05e939..bbaae2f 100644 --- a/extension/out/tsconfig.tsbuildinfo +++ b/extension/out/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"root":["../client/src/extension.ts","../server/src/server.ts"],"version":"5.7.3"} \ No newline at end of file +{"root":["../client/src/extension.ts","../server/src/server.ts"],"version":"5.8.2"} \ No newline at end of file diff --git a/extension/server/out/.tsbuildinfo b/extension/server/out/.tsbuildinfo index 11c62bb..ed7fa28 100644 --- a/extension/server/out/.tsbuildinfo +++ b/extension/server/out/.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/vscode-languageserver/typings/thenable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/common/progress.d.ts","../../node_modules/vscode-languageserver/lib/common/configuration.d.ts","../../node_modules/vscode-languageserver/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageserver/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageserver/lib/common/showdocument.d.ts","../../node_modules/vscode-languageserver/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageserver/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageserver/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageserver/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageserver/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageserver/lib/common/textdocuments.d.ts","../../node_modules/vscode-languageserver/lib/common/notebook.d.ts","../../node_modules/vscode-languageserver/lib/common/moniker.d.ts","../../node_modules/vscode-languageserver/lib/common/server.d.ts","../../node_modules/vscode-languageserver/lib/node/files.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageserver/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/node/main.d.ts","../../node_modules/vscode-languageserver/node.d.ts","../../node_modules/vscode-languageserver-textdocument/lib/umd/main.d.ts","../src/server.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/vscode/index.d.ts"],"fileIdsList":[[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,170,209],[51,56,170,194,209],[51,56,209],[51,56,170],[51,56,170,195,209],[51,56,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],[51,56,195,209],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,160],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,161],[51,56,162],[51,56,142,143,147,155,156,158],[51,56,142,158],[51,56,142,155,158],[51,56,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157],[51,56,142],[46,51,56,103,158,159,163,164],[51,56,165],[51,56,166,167]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"6c39d4dbdb372b364442854e42d8c473e2ec67badb226745af17ed5ac41ce6f5","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"5293d799856f47259146ccf0be9a1cc0a4a5343696182d7206ed25ea67d67920","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"f1f23acd4a8193453749f69d4432f5f122d6d572b793a8b630dd12fe80b0c3d3","impliedFormat":1},{"version":"7662d6994d28c9ebbe61b88cc35c3d705804351eedbf363df30ea9fe8c4961dc","impliedFormat":1},{"version":"1fb68106bddae35448e5279095461a4b54c4bbb42787cd629f70924b17e9a11e","impliedFormat":1},{"version":"46a9b0122b230cb2fab65999ba92f98a16fd8f1c25efaed47141cbf5056f6928","impliedFormat":1},{"version":"5a9a4741aa510bdee406441f77186c6d2005be78e78c2e0da8201d9991950164","impliedFormat":1},{"version":"351bbf43d585484825ee6c4b4805aac137ffc8e8a3b9812af99945a202db7c02","impliedFormat":1},{"version":"3990ae796cc23fb9829eae206eff1eddded9465504467a4433f2509e18ef1aed","impliedFormat":1},{"version":"b557ea3605e52406e35eeea468cb96f25b1ca906f2055f376597f0b02492d94c","impliedFormat":1},{"version":"f384bb303dbc114af6460e7cb30b766cc92eed33fccb331126b08bb63f15a034","impliedFormat":1},{"version":"8a9bd1cf8c1f75435f83595b43737c135e7f73bde39ba4c9339dc6a31e8bb069","impliedFormat":1},{"version":"8274bfd5de49f9f072be2f39c34e390101a8b69844e55eda36c7df23ba6d03e2","impliedFormat":1},{"version":"f8b482dddda55dd6677d7895a3fef8cd9d067f8c36c63cc7fe93b82a6dd4f10c","impliedFormat":1},{"version":"71d11ad1f05b0b90e95591fa85c1c8043e590d67972dcaba9b50435a0c04d8fa","impliedFormat":1},{"version":"c77c8f4aa3f4b849eda044768882bb102edf211b1c26b04a3c6ad921110f2fa4","impliedFormat":1},{"version":"a980ce9470dc95ac355d7efb729f9cfb0564505eba96da4bbde504299efb833a","impliedFormat":1},{"version":"eed44483a64b3c5a643663f8827c868ef3888965c7f3654e816debd03c621da0","impliedFormat":1},{"version":"a58402dc75738c188a741ccca86ccf898b0af98d305ad075c428171f193a6cd5","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d29fa1f984b6d5ec55c37e6f65474ea4acaf9ba92d2b1d502ca824abca86b430","impliedFormat":1},{"version":"abd02654e7ae1f70f68ec509b2c3c1e388c0142d169ba37a157f558709efe2a1","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"96a56b3bbf8346c584c5d58db4fb8adc58982e4e9f2929488ad5aeb89ddc19f8","impliedFormat":1},{"version":"db744053fe42f80b7777c89f39bc6cf351f7796b1c828550a37cdc17cba0e056","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"caaf6bf4dd0a3f88b50670f5786141b209edb54ba17eb6268c2d28919c813606","affectsGlobalScope":true,"impliedFormat":1}],"root":[168],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[169,1],[53,2],[54,2],[55,3],[51,4],[56,5],[57,6],[58,7],[49,8],[47,1],[48,1],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[52,1],[50,1],[71,20],[72,21],[73,22],[103,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,34],[85,35],[87,36],[86,37],[88,38],[89,39],[90,1],[91,40],[92,41],[93,42],[94,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[194,52],[195,53],[170,54],[173,54],[192,52],[193,52],[183,52],[182,55],[180,52],[175,52],[188,52],[186,52],[190,52],[174,52],[187,52],[191,52],[176,52],[177,52],[189,52],[171,52],[178,52],[179,52],[181,52],[185,52],[196,56],[184,52],[172,52],[209,57],[208,1],[203,56],[205,58],[204,56],[197,56],[198,56],[200,56],[202,56],[206,58],[207,58],[199,58],[201,58],[210,1],[44,1],[45,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[118,59],[110,60],[115,61],[108,1],[111,62],[109,63],[107,1],[117,64],[113,65],[106,1],[114,66],[112,67],[116,68],[160,69],[161,70],[105,1],[142,71],[141,72],[119,73],[129,74],[124,74],[123,75],[140,76],[126,74],[138,74],[133,75],[125,74],[120,74],[137,74],[136,74],[132,74],[134,77],[139,78],[128,75],[127,74],[130,74],[131,75],[121,74],[135,74],[122,75],[162,79],[163,80],[167,1],[104,1],[164,81],[146,82],[144,82],[154,82],[149,82],[153,82],[152,82],[150,82],[157,82],[156,83],[143,82],[147,82],[158,84],[148,82],[155,85],[151,82],[145,82],[159,1],[165,86],[166,87],[46,1],[168,88]],"latestChangedDtsFile":"./server.d.ts","version":"5.7.3"} \ No newline at end of file +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/vscode-languageserver/typings/thenable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/common/progress.d.ts","../../node_modules/vscode-languageserver/lib/common/configuration.d.ts","../../node_modules/vscode-languageserver/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageserver/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageserver/lib/common/showdocument.d.ts","../../node_modules/vscode-languageserver/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageserver/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageserver/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageserver/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageserver/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageserver/lib/common/textdocuments.d.ts","../../node_modules/vscode-languageserver/lib/common/notebook.d.ts","../../node_modules/vscode-languageserver/lib/common/moniker.d.ts","../../node_modules/vscode-languageserver/lib/common/server.d.ts","../../node_modules/vscode-languageserver/lib/node/files.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageserver/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/node/main.d.ts","../../node_modules/vscode-languageserver/node.d.ts","../../node_modules/vscode-languageserver-textdocument/lib/umd/main.d.ts","../src/server.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/vscode/index.d.ts"],"fileIdsList":[[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,170,209],[51,56,170,194,209],[51,56,209],[51,56,170],[51,56,170,195,209],[51,56,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],[51,56,195,209],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,160],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,161],[51,56,162],[51,56,142,143,147,155,156,158],[51,56,142,158],[51,56,142,155,158],[51,56,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157],[51,56,142],[46,51,56,103,158,159,163,164],[51,56,165],[51,56,166,167]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"f1f23acd4a8193453749f69d4432f5f122d6d572b793a8b630dd12fe80b0c3d3","impliedFormat":1},{"version":"7662d6994d28c9ebbe61b88cc35c3d705804351eedbf363df30ea9fe8c4961dc","impliedFormat":1},{"version":"1fb68106bddae35448e5279095461a4b54c4bbb42787cd629f70924b17e9a11e","impliedFormat":1},{"version":"46a9b0122b230cb2fab65999ba92f98a16fd8f1c25efaed47141cbf5056f6928","impliedFormat":1},{"version":"5a9a4741aa510bdee406441f77186c6d2005be78e78c2e0da8201d9991950164","impliedFormat":1},{"version":"351bbf43d585484825ee6c4b4805aac137ffc8e8a3b9812af99945a202db7c02","impliedFormat":1},{"version":"3990ae796cc23fb9829eae206eff1eddded9465504467a4433f2509e18ef1aed","impliedFormat":1},{"version":"b557ea3605e52406e35eeea468cb96f25b1ca906f2055f376597f0b02492d94c","impliedFormat":1},{"version":"f384bb303dbc114af6460e7cb30b766cc92eed33fccb331126b08bb63f15a034","impliedFormat":1},{"version":"8a9bd1cf8c1f75435f83595b43737c135e7f73bde39ba4c9339dc6a31e8bb069","impliedFormat":1},{"version":"8274bfd5de49f9f072be2f39c34e390101a8b69844e55eda36c7df23ba6d03e2","impliedFormat":1},{"version":"f8b482dddda55dd6677d7895a3fef8cd9d067f8c36c63cc7fe93b82a6dd4f10c","impliedFormat":1},{"version":"71d11ad1f05b0b90e95591fa85c1c8043e590d67972dcaba9b50435a0c04d8fa","impliedFormat":1},{"version":"c77c8f4aa3f4b849eda044768882bb102edf211b1c26b04a3c6ad921110f2fa4","impliedFormat":1},{"version":"a980ce9470dc95ac355d7efb729f9cfb0564505eba96da4bbde504299efb833a","impliedFormat":1},{"version":"eed44483a64b3c5a643663f8827c868ef3888965c7f3654e816debd03c621da0","impliedFormat":1},{"version":"a58402dc75738c188a741ccca86ccf898b0af98d305ad075c428171f193a6cd5","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d29fa1f984b6d5ec55c37e6f65474ea4acaf9ba92d2b1d502ca824abca86b430","impliedFormat":1},{"version":"abd02654e7ae1f70f68ec509b2c3c1e388c0142d169ba37a157f558709efe2a1","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"96a56b3bbf8346c584c5d58db4fb8adc58982e4e9f2929488ad5aeb89ddc19f8","impliedFormat":1},{"version":"ddf82a6212d25f054843c790d3b6571e173cd6816c931afd73b3011a53284626","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1},{"version":"7b3098756b32d6029cd9889b087a32e890298bd7953d05b72b02f6a3ad4f318a","affectsGlobalScope":true,"impliedFormat":1}],"root":[168],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[169,1],[53,2],[54,2],[55,3],[51,4],[56,5],[57,6],[58,7],[49,8],[47,1],[48,1],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[52,1],[50,1],[71,20],[72,21],[73,22],[103,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,34],[85,35],[87,36],[86,37],[88,38],[89,39],[90,1],[91,40],[92,41],[93,42],[94,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[194,52],[195,53],[170,54],[173,54],[192,52],[193,52],[183,52],[182,55],[180,52],[175,52],[188,52],[186,52],[190,52],[174,52],[187,52],[191,52],[176,52],[177,52],[189,52],[171,52],[178,52],[179,52],[181,52],[185,52],[196,56],[184,52],[172,52],[209,57],[208,1],[203,56],[205,58],[204,56],[197,56],[198,56],[200,56],[202,56],[206,58],[207,58],[199,58],[201,58],[210,1],[44,1],[45,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[118,59],[110,60],[115,61],[108,1],[111,62],[109,63],[107,1],[117,64],[113,65],[106,1],[114,66],[112,67],[116,68],[160,69],[161,70],[105,1],[142,71],[141,72],[119,73],[129,74],[124,74],[123,75],[140,76],[126,74],[138,74],[133,75],[125,74],[120,74],[137,74],[136,74],[132,74],[134,77],[139,78],[128,75],[127,74],[130,74],[131,75],[121,74],[135,74],[122,75],[162,79],[163,80],[167,1],[104,1],[164,81],[146,82],[144,82],[154,82],[149,82],[153,82],[152,82],[150,82],[157,82],[156,83],[143,82],[147,82],[158,84],[148,82],[155,85],[151,82],[145,82],[159,1],[165,86],[166,87],[46,1],[168,88]],"latestChangedDtsFile":"./server.d.ts","version":"5.8.2"} \ No newline at end of file diff --git a/extension/server/out/server.js b/extension/server/out/server.js index 527af30..7f983ad 100644 --- a/extension/server/out/server.js +++ b/extension/server/out/server.js @@ -38,6 +38,8 @@ const elements = [ 'card', 'badge', 'alert', 'tooltip', 'input', 'textarea', 'select', 'checkbox', 'radio', 'switch', 'list', 'table', 'progress', 'slider' ]; +// Script block types +const scriptBlocks = ['client', 'server']; // Single instance elements const singleElements = ['page', 'navbar']; // Blueprint properties @@ -104,6 +106,65 @@ connection.onCompletion((textDocumentPosition) => { }] }]; } + // Check for @client or @server block completion + if (linePrefix.trim() === '@' || linePrefix.trim().startsWith('@')) { + return scriptBlocks.map(blockType => ({ + label: `@${blockType}`, + kind: node_1.CompletionItemKind.Snippet, + insertText: `@${blockType} {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: `Create a ${blockType} script block` + })); + } + // After an @client or @server block opening brace, suggest JS snippets + const scriptBlockMatch = /@(client|server)\s*{\s*$/.exec(linePrefix); + if (scriptBlockMatch) { + const blockType = scriptBlockMatch[1]; + const jsSnippets = []; + if (blockType === 'client') { + jsSnippets.push({ + label: 'element.set', + kind: node_1.CompletionItemKind.Method, + insertText: '${1:elementId}.set("${2:new value}");', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Set the content of an element' + }, { + label: 'console.log', + kind: node_1.CompletionItemKind.Method, + insertText: 'console.log("${1:message}");', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Log a message to the console' + }, { + label: 'DOM event handling', + kind: node_1.CompletionItemKind.Snippet, + insertText: 'e.preventDefault();\n${1}', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Prevent default action of event' + }); + } + else if (blockType === 'server') { + jsSnippets.push({ + label: 'element.set', + kind: node_1.CompletionItemKind.Method, + insertText: '${1:elementId}.set(${2:newValue});', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Update element value from server' + }, { + label: 'element.value', + kind: node_1.CompletionItemKind.Property, + insertText: 'const value = ${1:elementId}.value;', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Get the current value of an element' + }, { + label: 'fetch data', + kind: node_1.CompletionItemKind.Snippet, + insertText: 'const response = await fetch("${1:url}");\nconst data = await response.json();\n${2}', + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Fetch data from an API' + }); + } + return jsSnippets; + } // Inside page block if (text.includes('page {') && !text.includes('}')) { return pageProperties.map(prop => ({ diff --git a/extension/server/out/server.js.map b/extension/server/out/server.js.map index 383896b..00dea67 100644 --- a/extension/server/out/server.js.map +++ b/extension/server/out/server.js.map @@ -1 +1 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,qDAgBoC;AAEpC,2FAAkE;AAElE,qCAAqC;AACrC,MAAM,UAAU,GAAG,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,iCAAiC;AACjC,MAAM,SAAS,GAAgC,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;AAE/E,qBAAqB;AACrB,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC;AAEH,sCAAsC;AACtC,MAAM,QAAQ,GAAG;IACb,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAC5D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB;IAC/E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;IAClE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;CACvE,CAAC;AAEF,2BAA2B;AAC3B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE1C,uBAAuB;AACvB,MAAM,UAAU,GAAG;IACf,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY;IAC7E,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IAC5E,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY;IACvE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa;IAC/E,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe;IAC5E,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc;IAC7E,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc;CAC9E,CAAC;AAEF,gCAAgC;AAChC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEtE,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG;IACtB,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IACrD,OAAO,EAAE,MAAM;CAClB,CAAC;AAEF,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAE,EAAE;IACjD,MAAM,MAAM,GAAqB;QAC7B,YAAY,EAAE;YACV,gBAAgB,EAAE,2BAAoB,CAAC,WAAW;YAClD,kBAAkB,EAAE;gBAChB,eAAe,EAAE,KAAK;gBACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C;SACJ;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,6CAA6C;AAC7C,SAAS,aAAa,CAAC,IAAY,EAAE,OAAe;IAChD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,OAAO,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,8DAA8D;AAC9D,UAAU,CAAC,YAAY,CACnB,CAAC,oBAAgD,EAAoB,EAAE;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAErD,iDAAiD;IACjD,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,yBAAkB,CAAC,OAAO;gBAChC,UAAU,EAAE,iBAAiB;gBAC7B,gBAAgB,EAAE,uBAAgB,CAAC,OAAO;gBAC1C,aAAa,EAAE,kEAAkE;gBACjF,SAAS,EAAE,IAAI;gBACf,4CAA4C;gBAC5C,mBAAmB,EAAE,CAAC;wBAClB,KAAK,EAAE;4BACH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BAClE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;yBACvE;wBACD,OAAO,EAAE,EAAE;qBACd,CAAC;aACL,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,yBAAkB,CAAC,QAAQ;YACjC,UAAU,EAAE,GAAG,IAAI,WAAW;YAC9B,gBAAgB,EAAE,uBAAgB,CAAC,OAAO;YAC1C,aAAa,EAAE,OAAO,IAAI,4BAA4B;SACzD,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mDAAmD;IACnD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,yBAAkB,CAAC,QAAQ;YACjC,aAAa,EAAE,SAAS,IAAI,WAAW;SAC1C,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oEAAoE;IACpE,MAAM,cAAc,GAAG,gEAAgE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzG,IAAI,cAAc,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QAEjC,gDAAgD;QAChD,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACT,iBAAiB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM;YACV,KAAK,OAAO;gBACR,iBAAiB,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM;YACV,KAAK,MAAM;gBACP,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM;QACd,CAAC;QAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,yBAAkB,CAAC,KAAK;YAC9B,UAAU,EAAE,GAAG,OAAO,eAAe;YACrC,gBAAgB,EAAE,uBAAgB,CAAC,OAAO;YAC1C,aAAa,EAAE,YAAY,OAAO,iBAAiB,aAAa,EAAE;SACrE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yCAAyC;IACzC,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,mEAAmE;IACnE,MAAM,iBAAiB,GAAG;QACtB,GAAG,QAAQ;QACX,GAAG,uBAAuB;KAC7B,CAAC;IAEF,4BAA4B;IAC5B,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC;YACvB,qGAAqG,CAAC,CAAC;YACvG,GAAG,OAAO,eAAe,CAAC;QAE9B,OAAO;YACH,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,yBAAkB,CAAC,KAAK;YAC9B,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,uBAAgB,CAAC,OAAO;YAC1C,aAAa,EAAE,YAAY,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE;SAC5F,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CACJ,CAAC;AAEF,qDAAqD;AACrD,SAAS,sBAAsB,CAAC,IAAY,EAAE,OAAe;IACzD,MAAM,WAAW,GAA0C,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,OAAO,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;gBAChD,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;aAC/C,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,+CAA+C;AAC/C,SAAS,gBAAgB,CAAC,QAAsB;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,+CAA+C;IAC/C,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC7B,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,oEAAoE;YACpE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACtC,WAAW,CAAC,IAAI,CAAC;oBACb,QAAQ,EAAE,yBAAkB,CAAC,KAAK;oBAClC,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;oBACrD,OAAO,EAAE,YAAY,OAAO,+BAA+B;oBAC3D,MAAM,EAAE,WAAW;iBACtB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,UAAU,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,oCAAoC;AACpC,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAA6C,EAAE,EAAE;IAC3E,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,SAAS,CAAC,CAAC,KAA4C,EAAE,EAAE;IACjE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,2BAA2B;AAC3B,UAAU,CAAC,MAAM,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/extension/server/src/server.ts b/extension/server/src/server.ts index 2eb0f5f..4e19180 100644 --- a/extension/server/src/server.ts +++ b/extension/server/src/server.ts @@ -58,6 +58,11 @@ const elements = [ 'checkbox', 'radio', 'switch', 'list', 'table', 'progress', 'slider' ]; +// Script blocks +const scriptBlocks = [ + 'client', 'server' +]; + // Single instance elements const singleElements = ['page', 'navbar']; @@ -75,6 +80,9 @@ const properties = [ // Page configuration properties const pageProperties = ['title', 'description', 'keywords', 'author']; +// ID attribute suggestion - using underscore format +const idAttributeTemplate = 'id:$1_$2'; + // Container elements that can have children const containerElements = [ 'horizontal', 'vertical', 'section', 'grid', 'navbar', @@ -114,6 +122,19 @@ connection.onCompletion( const line = lines[position.line]; const linePrefix = line.slice(0, position.character); + // Suggest script blocks after @ symbol + if (linePrefix.trim().endsWith('@')) { + return scriptBlocks.map(block => ({ + label: `@${block}`, + kind: CompletionItemKind.Snippet, + insertText: `@${block} {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: block === 'client' ? + 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' : + 'Create a server-side JavaScript block that runs on the server.' + })); + } + // Check if this is a template completion trigger if (linePrefix.trim() === '!') { return [{ @@ -145,13 +166,22 @@ connection.onCompletion( })); } - // After an opening parenthesis, suggest properties + // After an opening parenthesis, suggest properties including ID with underscore format if (linePrefix.trim().endsWith('(')) { - return properties.map(prop => ({ - label: prop, - kind: CompletionItemKind.Property, - documentation: `Apply ${prop} property` - })); + return [ + ...properties.map(prop => ({ + label: prop, + kind: CompletionItemKind.Property, + documentation: `Apply ${prop} property` + })), + { + label: 'id', + kind: CompletionItemKind.Property, + insertText: idAttributeTemplate, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Add an ID to the element (use underscores instead of hyphens for JavaScript compatibility)' + } + ]; } // After a container element's opening brace, suggest child elements @@ -173,6 +203,26 @@ connection.onCompletion( break; } + // Include client/server block suggestions for interactive elements + if (['button', 'button-light', 'button-secondary', 'button-compact'].includes(parentElement)) { + return [ + ...suggestedElements.map(element => ({ + label: element, + kind: CompletionItemKind.Class, + insertText: `${element} {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: `Create a ${element} block inside ${parentElement}` + })), + { + label: '@client', + kind: CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + } + ]; + } + return suggestedElements.map(element => ({ label: element, kind: CompletionItemKind.Class, @@ -181,6 +231,27 @@ connection.onCompletion( documentation: `Create a ${element} block inside ${parentElement}` })); } + + // Inside interactive elements, suggest @client blocks + const interactiveElementMatch = /\b(button|button-light|button-secondary|button-compact|input|textarea|select|checkbox|radio|switch)\s*(?:\([^)]*\))?\s*{\s*$/.exec(linePrefix); + if (interactiveElementMatch) { + return [ + { + label: '@client', + kind: CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + }, + { + label: 'text', + kind: CompletionItemKind.Class, + insertText: `"$1"`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Add text content to the element' + } + ]; + } // Get available single instance elements const availableSingleElements = singleElements.filter(element => !elementExists(text, element)); diff --git a/extension/syntaxes/blueprint.tmLanguage.json b/extension/syntaxes/blueprint.tmLanguage.json index 4071964..3668950 100644 --- a/extension/syntaxes/blueprint.tmLanguage.json +++ b/extension/syntaxes/blueprint.tmLanguage.json @@ -18,6 +18,9 @@ { "include": "#strings" }, + { + "include": "#script-blocks" + }, { "include": "#punctuation" } @@ -64,6 +67,24 @@ } ] }, + "script-blocks": { + "patterns": [ + { + "begin": "@(client|server)\\s*\\{", + "end": "\\}", + "beginCaptures": { + "0": { "name": "keyword.control.blueprint" }, + "1": { "name": "entity.name.function.blueprint" } + }, + "contentName": "source.js.embedded.blueprint", + "patterns": [ + { + "include": "source.js" + } + ] + } + ] + }, "properties": { "patterns": [ { @@ -71,7 +92,7 @@ "name": "support.type.property-name.blueprint" }, { - "match": "(? 50 ? "..." : "") + ); + } + + current++; + return node; + } + if (token.type === "identifier") { if (this.options.debug) { console.log( diff --git a/lib/BlueprintBuilder.js b/lib/BlueprintBuilder.js index 71f1139..931a0e7 100644 --- a/lib/BlueprintBuilder.js +++ b/lib/BlueprintBuilder.js @@ -46,6 +46,20 @@ class BlueprintBuilder { if (result.success) { this.fileHandler.writeCompiledFiles(outputDir, baseName, result.html, result.css); + if (result.hasServerCode && result.serverCode) { + const serverDir = path.join(outputDir, 'server'); + if (!fs.existsSync(serverDir)) { + fs.mkdirSync(serverDir, { recursive: true }); + } + + const serverFilePath = path.join(serverDir, `${baseName}-server.js`); + fs.writeFileSync(serverFilePath, result.serverCode, 'utf8'); + + if (this.options.debug) { + console.log(`[DEBUG] Server code written to ${serverFilePath}`); + } + } + if (this.options.debug) { console.log("[DEBUG] Build completed successfully"); } @@ -54,6 +68,7 @@ class BlueprintBuilder { return { success: result.success, errors: result.errors, + hasServerCode: result.hasServerCode }; } catch (error) { if (this.options.debug) { @@ -61,6 +76,7 @@ class BlueprintBuilder { } return { success: false, + hasServerCode: false, errors: [ { message: error.message, diff --git a/lib/BlueprintCompiler.js b/lib/BlueprintCompiler.js index c875b2b..a63684e 100644 --- a/lib/BlueprintCompiler.js +++ b/lib/BlueprintCompiler.js @@ -51,18 +51,25 @@ class BlueprintCompiler { const html = this.htmlGenerator.generateHTML(ast); const css = this.cssGenerator.generateCSS(); + const hasServerCode = this.htmlGenerator.hasServerCode(); + const serverCode = hasServerCode ? this.htmlGenerator.generateServerCode() : ''; const headContent = this.metadataManager.generateHeadContent(baseName); const finalHtml = this.htmlGenerator.generateFinalHtml(headContent, html); if (this.options.debug) { console.log("[DEBUG] Compilation completed successfully"); + if (hasServerCode) { + console.log("[DEBUG] Server code generated"); + } } return { success: true, html: finalHtml, css: css, + hasServerCode: hasServerCode, + serverCode: serverCode, errors: [], }; } catch (error) { @@ -73,6 +80,8 @@ class BlueprintCompiler { success: false, html: null, css: null, + hasServerCode: false, + serverCode: null, errors: [ { message: error.message, diff --git a/lib/HTMLGenerator.js b/lib/HTMLGenerator.js index 9dc8bdd..04d51af 100644 --- a/lib/HTMLGenerator.js +++ b/lib/HTMLGenerator.js @@ -6,6 +6,8 @@ const StandardElementGenerator = require("./generators/StandardElementGenerator" const RootNodeGenerator = require("./generators/RootNodeGenerator"); const InputElementGenerator = require("./generators/InputElementGenerator"); const MediaElementGenerator = require("./generators/MediaElementGenerator"); +const JavaScriptGenerator = require("./generators/JavaScriptGenerator"); +const ServerCodeGenerator = require("./generators/ServerCodeGenerator"); const HTMLTemplate = require("./templates/HTMLTemplate"); const StringUtils = require("./utils/StringUtils"); @@ -21,6 +23,9 @@ class HTMLGenerator { this.options = options; this.cssGenerator = cssGenerator; this.htmlTemplate = new HTMLTemplate(options); + this.serverGenerator = new ServerCodeGenerator(options); + this.jsGenerator = new JavaScriptGenerator(options, this.serverGenerator); + this.currentElement = null; this.generators = [ @@ -86,6 +91,10 @@ class HTMLGenerator { console.log("[HTMLGenerator] Node details:", StringUtils.safeStringify(node)); } + // Handle client and server blocks + if (node.type === "client" || node.type === "server") { + return this.handleScriptBlock(node); + } if (node.type === "element" && node.tag === "page") { if (this.options.debug) { @@ -94,20 +103,120 @@ class HTMLGenerator { return ""; } + const prevElement = this.currentElement; + this.currentElement = node; + // Check if this element has an explicit ID in its props + if (node.type === "element") { + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + node.elementId = idValue; + + // Register this element as reactive + this.jsGenerator.registerReactiveElement(idValue); + + if (this.options.debug) { + console.log(`[HTMLGenerator] Found explicit ID: ${idValue}, registered as reactive`); + } + } + } + + let result = ""; for (const generator of this.generators) { if (generator.canHandle(node)) { if (this.options.debug) { console.log(`[HTMLGenerator] Using ${generator.constructor.name} for node`); } - return generator.generate(node); + + // If this is an element that might have event handlers, + // add a unique ID to it for client scripts if it doesn't already have one + if (node.type === "element" && node.children.some(child => child.type === "client")) { + // Generate a unique ID for this element if it doesn't already have one + if (!node.elementId) { + node.elementId = this.jsGenerator.generateElementId(); + if (this.options.debug) { + console.log(`[HTMLGenerator] Generated ID for element: ${node.elementId}`); + } + } + + result = generator.generate(node); + + // Process all client blocks inside this element + node.children + .filter(child => child.type === "client") + .forEach(clientBlock => { + this.handleScriptBlock(clientBlock, node.elementId); + }); + } else { + result = generator.generate(node); + } + + this.currentElement = prevElement; + return result; } } - if (this.options.debug) { console.log(`[HTMLGenerator] No generator found for node type: ${node.type}`); } + + this.currentElement = prevElement; + return ""; + } + + /** + * Handles client and server script blocks. + * @param {Object} node - The script node to handle + * @param {string} [elementId] - The ID of the parent element, if any + * @returns {string} - Empty string as script blocks don't directly generate HTML + */ + handleScriptBlock(node, elementId = null) { + if (this.options.debug) { + console.log(`\n[HTMLGenerator] Processing ${node.type} script block`); + console.log(`[HTMLGenerator] Script content (first 50 chars): "${node.script.substring(0, 50)}..."`); + if (elementId) { + console.log(`[HTMLGenerator] Attaching to element: ${elementId}`); + } + } + + if (node.type === "client") { + if (!elementId && this.currentElement) { + if (!this.currentElement.elementId) { + this.currentElement.elementId = this.jsGenerator.generateElementId(); + } + elementId = this.currentElement.elementId; + } + + if (elementId) { + this.jsGenerator.addClientScript(elementId, node.script); + } else { + if (this.options.debug) { + console.log(`[HTMLGenerator] Warning: Client script with no parent element`); + } + } + } else if (node.type === "server") { + if (!elementId && this.currentElement) { + if (!this.currentElement.elementId) { + this.currentElement.elementId = this.jsGenerator.generateElementId(); + } + elementId = this.currentElement.elementId; + } + + if (elementId) { + const params = node.params || []; + if (this.options.debug && params.length > 0) { + console.log(`[HTMLGenerator] Server block parameters: ${params.join(", ")}`); + } + + this.jsGenerator.addServerScript(elementId, node.script, params); + } else { + if (this.options.debug) { + console.log(`[HTMLGenerator] Warning: Server script with no parent element`); + } + } + } + return ""; } @@ -177,7 +286,28 @@ class HTMLGenerator { * @returns {string} - A complete HTML document containing the provided head and body content. */ generateFinalHtml(headContent, bodyContent) { - return this.htmlTemplate.generateDocument(headContent, bodyContent); + const clientScripts = this.jsGenerator.generateClientScripts(); + + return this.htmlTemplate.generateDocument( + headContent, + bodyContent + clientScripts + ); + } + + /** + * Generates server-side code for Express.js API routes. + * @returns {string} - Express.js server code + */ + generateServerCode() { + return this.serverGenerator.generateServerCode(); + } + + /** + * Checks if there is any server code to generate. + * @returns {boolean} - Whether there is server code + */ + hasServerCode() { + return this.serverGenerator.hasServerCodeToGenerate(); } } diff --git a/lib/TokenParser.js b/lib/TokenParser.js index 62f6776..e6a1db9 100644 --- a/lib/TokenParser.js +++ b/lib/TokenParser.js @@ -102,6 +102,142 @@ class TokenParser { continue; } + if (char === "@") { + const startPos = current; + const startColumn = column; + const startLine = line; + current++; + column++; + + let blockType = ""; + char = input[current]; + + while (current < input.length && /[a-zA-Z]/.test(char)) { + blockType += char; + current++; + column++; + char = input[current]; + } + + if (blockType === "client" || blockType === "server") { + if (this.options.debug) { + console.log(`[TokenParser] ${blockType} block found at line ${startLine}, column ${startColumn}`); + } + + while (current < input.length && /\s/.test(char)) { + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + char = input[current]; + } + + let params = []; + if (blockType === "server" && char === "(") { + current++; + column++; + let paramString = ""; + let depth = 1; + + while (current < input.length && depth > 0) { + char = input[current]; + + if (char === "(") depth++; + if (char === ")") depth--; + + if (depth === 0) break; + + paramString += char; + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + } + + current++; + column++; + + params = paramString.split(",").map(p => p.trim()).filter(p => p); + + if (this.options.debug) { + console.log(`[TokenParser] Server block parameters: ${params.join(", ")}`); + } + + char = input[current]; + while (current < input.length && /\s/.test(char)) { + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + char = input[current]; + } + } + + if (char === "{") { + current++; + column++; + let script = ""; + let braceCount = 1; + + while (current < input.length && braceCount > 0) { + char = input[current]; + + if (char === "{") braceCount++; + if (char === "}") braceCount--; + + if (braceCount === 0) break; + + script += char; + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + } + + current++; + column++; + + tokens.push({ + type: blockType, + value: script.trim(), + params: params, + line: startLine, + column: startColumn, + }); + + if (this.options.debug) { + console.log(`[TokenParser] ${blockType} block script: "${script.trim().substring(0, 50)}..."`); + } + + continue; + } else { + throw new BlueprintError( + `Expected opening brace after @${blockType}${params.length ? '(...)' : ''}`, + line, + column + ); + } + } else { + throw new BlueprintError( + `Unknown block type: @${blockType}`, + startLine, + startColumn + ); + } + } + if (/[a-zA-Z]/.test(char)) { let value = ""; const startColumn = column; diff --git a/lib/generators/ButtonElementGenerator.js b/lib/generators/ButtonElementGenerator.js index 2312585..ea51c49 100644 --- a/lib/generators/ButtonElementGenerator.js +++ b/lib/generators/ButtonElementGenerator.js @@ -49,6 +49,22 @@ class ButtonElementGenerator { let attributes = ""; + const idProp = node.props.find((p) => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + if (this.options.debug) { + console.log(`[ButtonElementGenerator] Added explicit ID attribute: ${idValue}`); + } + } + else if (node.elementId) { + attributes += ` id="${node.elementId}"`; + if (this.options.debug) { + console.log(`[ButtonElementGenerator] Adding generated ID attribute: ${node.elementId}`); + } + } + if (node.parent?.tag === "link") { const linkInfo = this.linkProcessor.processLink(node.parent); attributes += this.linkProcessor.getButtonClickHandler(linkInfo); diff --git a/lib/generators/StandardElementGenerator.js b/lib/generators/StandardElementGenerator.js index e899423..4397b8c 100644 --- a/lib/generators/StandardElementGenerator.js +++ b/lib/generators/StandardElementGenerator.js @@ -54,6 +54,22 @@ class StandardElementGenerator { let attributes = ""; + const idProp = node.props.find((p) => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + if (this.options.debug) { + console.log(`[StandardElementGenerator] Added explicit ID attribute: ${idValue}`); + } + } + else if (node.elementId) { + attributes += ` id="${node.elementId}"`; + if (this.options.debug) { + console.log(`[StandardElementGenerator] Adding generated ID attribute: ${node.elementId}`); + } + } + if (node.props.find((p) => typeof p === "string" && p.startsWith("data-"))) { const dataProps = node.props.filter( (p) => typeof p === "string" && p.startsWith("data-") diff --git a/lib/mappings.js b/lib/mappings.js index b47f83d..7b63c3c 100644 --- a/lib/mappings.js +++ b/lib/mappings.js @@ -538,7 +538,7 @@ const ELEMENT_MAPPINGS = { }, card: { tag: "div", - defaultProps: ["raised", "card"], + defaultProps: ["card"], }, grid: { tag: "div", diff --git a/lib/server.js b/lib/server.js index 6c2552e..49198f4 100644 --- a/lib/server.js +++ b/lib/server.js @@ -11,6 +11,7 @@ class BlueprintServer { this.wsInstance = expressWs(this.app); this.options = { port: 3000, + apiPort: 3001, srcDir: "./src", outDir: "./dist", liveReload: false, @@ -19,6 +20,8 @@ class BlueprintServer { }; this.clients = new Map(); this.filesWithErrors = new Set(); + this.apiServers = new Map(); + this.apiPorts = new Map(); this.setupServer(); if (this.options.liveReload) { const watcher = chokidar.watch([], { @@ -51,6 +54,27 @@ class BlueprintServer { ); } + async buildFile(filePath) { + const relativePath = path.relative(this.options.srcDir, filePath); + const outputPath = path.join( + this.options.outDir, + relativePath.replace(/\.bp$/, ".html") + ); + this.ensureDirectoryExistence(outputPath); + + const builder = new BlueprintBuilder({ + minified: this.options.minified, + debug: this.options.debug, + }); + const buildResult = builder.build(filePath, path.dirname(outputPath)); + + if (buildResult.success && buildResult.hasServerCode) { + this.startApiServer(relativePath.replace(/\.bp$/, "")); + } + + return buildResult; + } + async buildAll() { this.log("INFO", "Building all Blueprint files...", "lightGray"); if (fs.existsSync(this.options.outDir)) { @@ -70,8 +94,17 @@ class BlueprintServer { ); this.ensureDirectoryExistence(outputPath); - const builder = new BlueprintBuilder({ minified: this.options.minified }); + const builder = new BlueprintBuilder({ + minified: this.options.minified, + debug: this.options.debug + }); const result = builder.build(file, path.dirname(outputPath)); + + if (result.success && result.hasServerCode) { + const fileName = relativePath.replace(/\.bp$/, ""); + this.startApiServer(fileName); + } + if (!result.success) { success = false; errors.push({ file, errors: result.errors }); @@ -138,8 +171,19 @@ class BlueprintServer { fs.readFile(htmlPath, "utf8", (err, data) => { if (err) return next(); let html = data; + + const filePath = req.path.endsWith(".html") + ? req.path.slice(0, -5) + : req.path === "/" + ? "index" + : req.path.replace(/^\//, ""); + + const apiPort = this.apiPorts.get(filePath) || this.options.apiPort; + const script = ` + `; + html = html.replace("", script + ""); + } + + res.setHeader("Content-Type", "text/html"); + res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + res.setHeader("Pragma", "no-cache"); + res.setHeader("Expires", "0"); + return res.send(html); + }); } else if (req.path === "/") { const pages = fs .readdirSync(this.options.outDir) @@ -311,83 +381,35 @@ class BlueprintServer { } setupWatcher(watcher) { - watcher.on("change", async (filepath) => { - if (filepath.endsWith(".bp")) { - this.log("INFO", `File ${filepath} has been changed`, "blue"); - try { - const builder = new BlueprintBuilder({ - minified: this.options.minified, - debug: this.options.debug, - }); - const relativePath = path.relative(this.options.srcDir, filepath); - const outputPath = path.join( - this.options.outDir, - relativePath.replace(/\.bp$/, ".html") - ); - this.ensureDirectoryExistence(outputPath); - const result = builder.build(filepath, path.dirname(outputPath)); - - if (result.success) { - this.log("SUCCESS", "Rebuilt successfully", "green"); - - this.filesWithErrors.delete(filepath); - - const htmlFile = relativePath.replace(/\.bp$/, ".html"); - const htmlPath = path.join(this.options.outDir, htmlFile); - - try { - const newContent = fs.readFileSync(htmlPath, "utf8"); - - for (const [client, page] of this.clients.entries()) { - if ( - page === htmlFile.replace(/\\/g, "/") && - client.readyState === 1 - ) { - try { - client.send( - JSON.stringify({ - type: "reload", - content: newContent, - }) - ); - } catch (error) { - this.log("ERROR", "Error sending content:", "red"); - this.clients.delete(client); - } - } - } - } catch (error) { - this.log("ERROR", "Error reading new content:", "red"); - } - } else { - this.filesWithErrors.add(filepath); - this.log("ERROR", `Build failed: ${result.errors.map(e => e.message).join(", ")}`, "red"); - this.log("INFO", "Waiting for next file change...", "orange"); - - for (const [client, page] of this.clients.entries()) { - const htmlFile = relativePath.replace(/\.bp$/, ".html"); - if ( - page === htmlFile.replace(/\\/g, "/") && - client.readyState === 1 - ) { - try { - client.send( - JSON.stringify({ - type: "buildError", - errors: result.errors, - }) - ); - } catch (error) { - this.log("ERROR", "Error sending error notification:", "red"); - this.clients.delete(client); - } - } - } - } - } catch (error) { - this.log("ERROR", "Unexpected error during build:", "red"); - this.filesWithErrors.add(filepath); + watcher.on("change", async (filePath) => { + if (!filePath.endsWith(".bp")) return; + this.log("INFO", `File changed: ${filePath}`, "blue"); + + const result = await this.buildFile(filePath); + + if (result.success) { + this.log("SUCCESS", `Rebuilt ${filePath}`, "green"); + this.filesWithErrors.delete(filePath); + + if (result.hasServerCode) { + const relativePath = path.relative(this.options.srcDir, filePath); + const fileName = relativePath.replace(/\.bp$/, ""); + this.startApiServer(fileName); } + + if (this.options.liveReload) { + this.notifyClients(filePath); + } + } else { + this.log("ERROR", `Build failed for ${filePath}`, "red"); + result.errors.forEach((err) => { + this.log( + "ERROR", + `${err.type} at line ${err.line}, column ${err.column}: ${err.message}`, + "red" + ); + }); + this.filesWithErrors.add(filePath); } }); @@ -468,6 +490,119 @@ class BlueprintServer { } }); } + + startApiServer(fileName) { + const serverFilePath = path.join(this.options.outDir, 'server', `${fileName}-server.js`); + + if (!fs.existsSync(serverFilePath)) { + this.log("ERROR", `API server file not found: ${serverFilePath}`, "red"); + return; + } + + let apiPort; + + if (this.apiPorts.has(fileName)) { + apiPort = this.apiPorts.get(fileName); + this.log("INFO", `Reusing port ${apiPort} for ${fileName}`, "blue"); + } else { + apiPort = this.options.apiPort; + this.options.apiPort++; + this.log("INFO", `Assigning new port ${apiPort} for ${fileName}`, "blue"); + } + + const startNewServer = () => { + try { + delete require.cache[require.resolve(path.resolve(serverFilePath))]; + + const createApiServer = require(path.resolve(serverFilePath)); + const apiServer = createApiServer(apiPort); + + this.apiServers.set(fileName, apiServer); + this.apiPorts.set(fileName, apiPort); + + this.log("SUCCESS", `API server started for ${fileName} on port ${apiPort}`, "green"); + } catch (error) { + this.log("ERROR", `Failed to start API server: ${error.message}`, "red"); + console.error(error); + } + }; + + if (this.apiServers.has(fileName)) { + const existingServer = this.apiServers.get(fileName); + this.log("INFO", `Stopping previous API server for ${fileName}`, "blue"); + + try { + if (existingServer && typeof existingServer.close === 'function') { + existingServer.close(() => { + this.log("INFO", `Previous server closed, starting new one`, "blue"); + setTimeout(startNewServer, 300); + }); + return; + } + + if (existingServer && existingServer.server && existingServer.server.close) { + existingServer.server.close(() => { + this.log("INFO", `Previous server closed, starting new one`, "blue"); + setTimeout(startNewServer, 300); + }); + return; + } + + this.log("WARNING", `Could not properly close previous server, waiting longer`, "orange"); + setTimeout(startNewServer, 1000); + } catch (err) { + this.log("WARNING", `Error closing previous server: ${err.message}`, "orange"); + setTimeout(startNewServer, 2000); + } + } else { + startNewServer(); + } + } + + notifyClients(filePath) { + const relativePath = path.relative(this.options.srcDir, filePath); + const htmlFile = relativePath.replace(/\.bp$/, ".html"); + const htmlPath = path.join(this.options.outDir, htmlFile); + const fileName = relativePath.replace(/\.bp$/, ""); + + try { + let newContent = fs.readFileSync(htmlPath, "utf8"); + + const apiPort = this.apiPorts.get(fileName) || this.options.apiPort; + + if (!newContent.includes('window.blueprintServerPort =')) { + newContent = newContent.replace( + '', + ` + ` + ); + } + + for (const [client, page] of this.clients.entries()) { + if ( + page === htmlFile.replace(/\\/g, "/") && + client.readyState === 1 + ) { + try { + client.send( + JSON.stringify({ + type: "reload", + content: newContent, + }) + ); + this.log("INFO", `Sent update to client for ${htmlFile}`, "blue"); + } catch (error) { + this.log("ERROR", "Error sending content:", "red"); + this.clients.delete(client); + } + } + } + } catch (error) { + this.log("ERROR", `Error reading new content from ${htmlPath}: ${error.message}`, "red"); + } + } } module.exports = BlueprintServer; diff --git a/lib/utils/StringUtils.js b/lib/utils/StringUtils.js index e609ad2..8ba7f7c 100644 --- a/lib/utils/StringUtils.js +++ b/lib/utils/StringUtils.js @@ -52,8 +52,23 @@ const safeStringify = (obj) => { } }; +/** + * Generates a random ID string suitable for use as an HTML element ID. + * @param {number} [length=8] - The length of the random ID + * @returns {string} - A random alphanumeric ID with bp_ prefix + */ +const generateRandomId = (length = 8) => { + const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; + let result = 'bp_'; + for (let i = 0; i < length; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; +}; + module.exports = { escapeHTML, toKebabCase, - safeStringify + safeStringify, + generateRandomId }; \ No newline at end of file diff --git a/package.json b/package.json index c0c6ed3..5f5508f 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dependencies": { "axios": "^1.7.9", "chokidar": "^3.5.3", + "cors": "^2.8.5", "express": "^4.18.2", "express-ws": "^5.0.2", "ws": "^8.18.0" From 73c8048c9d4a0de8b038fc470753d5730e117e05 Mon Sep 17 00:00:00 2001 From: obvTiger Date: Thu, 27 Mar 2025 17:29:28 +0100 Subject: [PATCH 2/6] feat: code blocks beta --- examples/reactive-example.bp | 190 ++++++++++++++++++++ examples/server-form-example.bp | 163 ++++++++++++++++++ lib/StandardElementGenerator.js | 179 +++++++++++++++++++ lib/generators/JavaScriptGenerator.js | 239 ++++++++++++++++++++++++++ lib/generators/ServerCodeGenerator.js | 209 ++++++++++++++++++++++ 5 files changed, 980 insertions(+) create mode 100644 examples/reactive-example.bp create mode 100644 examples/server-form-example.bp create mode 100644 lib/StandardElementGenerator.js create mode 100644 lib/generators/JavaScriptGenerator.js create mode 100644 lib/generators/ServerCodeGenerator.js diff --git a/examples/reactive-example.bp b/examples/reactive-example.bp new file mode 100644 index 0000000..67dc39a --- /dev/null +++ b/examples/reactive-example.bp @@ -0,0 +1,190 @@ +page(favicon:"/favicon.ico") { + title { "Blueprint - Reactive Example" } + description { "Example of reactive values in Blueprint" } + keywords { "blueprint, javascript, reactive, state" } + author { "Blueprint Team" } +} + +navbar { + horizontal { + link(href:index) { text(bold) { "Blueprint" } } + links { + link(href:index) { "Home" } + link(href:examples) { "Examples" } + link(href:docs) { "Docs" } + } + } +} + +section(wide, centered) { + vertical(centered) { + title(huge) { "Reactive Values Demo" } + text { "Demonstration of reactive state management in Blueprint" } + } +} + +section(wide) { + title { "Counter Example" } + + vertical(centered) { + // Notice the ID uses underscore format. - is not allowed + text(id:counter_value) { "0" } + + horizontal(centered) { + button-secondary(id:decrease_btn) { + "Decrease" + + @client { + // Use the reactive counter_value with numberValue + const currentValue = counter_value.numberValue; + counter_value.setNumber(currentValue - 1); + console.log("Counter decreased to", currentValue - 1); + } + } + + button(id:increase_btn) { + "Increase" + + @client { + // Use the reactive counter_value with numberValue + const currentValue = counter_value.numberValue; + counter_value.setNumber(currentValue + 1); + console.log("Counter increased to", currentValue + 1); + } + } + } + } +} + +section(wide) { + title { "Color Changer with Reactive Elements" } + + vertical(centered) { + // Element with explicit ID that will be styled + card(id:color_target, raised) { + title { "Change My Background" } + text { "Click the buttons below to change my background color" } + } + + // Display the current color + text(subtle, id:color_display) { "Current color: None" } + + horizontal(centered) { + button-secondary(id:red_btn) { + "Red" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#e74c3c"); + color_display.set("Current color: Red"); + } + } + + button-secondary(id:green_btn) { + "Green" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#2ecc71"); + color_display.set("Current color: Green"); + } + } + + button-secondary(id:blue_btn) { + "Blue" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#3498db"); + color_display.set("Current color: Blue"); + } + } + + button-secondary(id:reset_btn) { + "Reset" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", ""); + color_display.set("Current color: None"); + } + } + } + } +} + +section(wide) { + title { "Data Types Example" } + + vertical(centered) { + horizontal(centered) { + vertical { + text(bold) { "Number:" } + text(id:number_display) { "42" } + } + + vertical { + text(bold) { "Text:" } + text(id:text_display) { "Hello Blueprint" } + } + + vertical { + text(bold) { "Boolean:" } + text(id:boolean_display) { "true" } + } + } + + horizontal(centered) { + button-secondary(id:modify_values_btn) { + "Modify Values" + + @client { + // Use type-specific methods + number_display.setNumber(number_display.numberValue * 2); + text_display.set(text_display.value + "!"); + boolean_display.set(!boolean_display.booleanValue); + + console.log("Number value:", number_display.numberValue); + console.log("Text value:", text_display.textValue); + console.log("Boolean value:", boolean_display.booleanValue); + } + } + + button-secondary(id:reset_values_btn) { + "Reset Values" + + @client { + number_display.setNumber(42); + text_display.set("Hello Blueprint"); + boolean_display.set("true"); + } + } + } + } +} + +section(wide) { + title { "Subscription Example" } + + vertical(centered) { + // Input and subscribed elements + input(id:user_input) { "Type something..." } + + text(bold) { "Live Preview:" } + text(id:preview_output) { "Type something..." } + + // Add a client block to handle typing + @client { + // Set up the input to update the preview on input + user_input.element.addEventListener("input", function(e) { + // Use the reactive API to update the preview + preview_output.set(e.target.value); + }); + + // Example of subscription - will log changes to the console + preview_output.subscribe(function(newValue) { + console.log("Preview content changed to:", newValue); + }); + } + } +} \ No newline at end of file diff --git a/examples/server-form-example.bp b/examples/server-form-example.bp new file mode 100644 index 0000000..26c8fcf --- /dev/null +++ b/examples/server-form-example.bp @@ -0,0 +1,163 @@ +page(favicon:"/favicon.ico") { + title { "Blueprint - Server Form Example" } + description { "Example of server-side form processing in Blueprint" } + keywords { "blueprint, javascript, server, api, form" } + author { "Blueprint Team" } +} + +navbar { + horizontal { + link(href:index) { text(bold) { "Blueprint" } } + links { + link(href:index) { "Home" } + link(href:examples) { "Examples" } + link(href:docs) { "Docs" } + } + } +} + +section(wide, centered) { + vertical(centered) { + title(huge) { "Server-Side Form Processing" } + text { "Demonstration of server-side form handling with Blueprint" } + } +} + +section(wide) { + title { "Contact Form Example" } + + vertical(centered) { + card(raised) { + title { "Submit a Message" } + text { "Fill out the form below to submit a message to the server." } + + vertical { + text(bold) { "Your Name" } + input(id:user_name) { "John Doe" } + + text(bold) { "Your Email" } + input(id:user_email) { "john@example.com" } + + text(bold) { "Your Message" } + textarea(id:user_message) { "Hello from Blueprint!" } + + // Display the server response + text(id:form_result) { "" } + + button(id:submit_form) { + "Submit Form" + + // Server block with parameters specifying which input values to include + @server(user_name, user_email, user_message) { + console.log("Form submission received:"); + console.log("Name:", user_name); + console.log("Email:", user_email); + console.log("Message:", user_message); + + // Validate inputs + const errors = []; + + if (!user_name || user_name.length < 2) { + errors.push("Name is too short"); + } + + if (!user_email || !user_email.includes('@')) { + errors.push("Invalid email address"); + } + + if (!user_message || user_message.length < 5) { + errors.push("Message is too short"); + } + + // Return error message if validation fails + if (errors.length > 0) { + return res.status(400).json({ + form_result: "Error: " + errors.join(", ") + }); + } + + // Process the form (in a real app, this might save to a database) + const timestamp = new Date().toISOString(); + + // Return success response that will update the form_result element + return res.status(200).json({ + form_result: `Thank you, ${user_name}! Your message was received at ${timestamp}.` + }); + } + } + } + } + } +} + +section(wide) { + title { "User Registration Example" } + + vertical(centered) { + card(raised) { + title { "Register a New Account" } + text { "Fill out the form below to register a new account." } + + vertical { + text(bold) { "Username" } + input(id:username) { "newuser123" } + + text(bold) { "Email" } + input(id:email) { "newuser@example.com" } + + text(bold) { "Password" } + input(id:password) { "password123" } + + text(bold) { "Confirm Password" } + input(id:confirm_password) { "password123" } + + // Display the registration status + text(id:registration_status) { "" } + + button(id:register_user) { + "Register" + + @server(username, email, password, confirm_password) { + console.log("Registration request for username:", username); + + // Validate username + if (!username || username.length < 4) { + return res.status(400).json({ + registration_status: "Error: Username must be at least 4 characters" + }); + } + + // Validate email + if (!email || !email.includes('@')) { + return res.status(400).json({ + registration_status: "Error: Invalid email address" + }); + } + + // Validate password + if (!password || password.length < 8) { + return res.status(400).json({ + registration_status: "Error: Password must be at least 8 characters" + }); + } + + // Check password matching + if (password !== confirm_password) { + return res.status(400).json({ + registration_status: "Error: Passwords do not match" + }); + } + + // In a real app, this would create the user account + const userId = Math.floor(Math.random() * 10000); + + // Return success response + return res.status(200).json({ + registration_status: `Success! User ${username} registered with ID #${userId}` + }); + } + } + } + } + } +} \ No newline at end of file diff --git a/lib/StandardElementGenerator.js b/lib/StandardElementGenerator.js new file mode 100644 index 0000000..ad9499e --- /dev/null +++ b/lib/StandardElementGenerator.js @@ -0,0 +1,179 @@ +/** + * Generates HTML for standard HTML elements. + */ +class StandardElementGenerator { + /** + * Creates a new StandardElementGenerator instance. + * @param {Object} options - Generator options + * @param {CSSGenerator} cssGenerator - CSS generator instance + * @param {HTMLGenerator} htmlGenerator - HTML generator instance + */ + constructor(options = {}, cssGenerator, htmlGenerator) { + this.options = options; + this.cssGenerator = cssGenerator; + this.htmlGenerator = htmlGenerator; + this.parentGenerator = htmlGenerator; + } + + /** + * Determines whether this generator can handle a given node. + * @param {Object} node - Node to check + * @returns {boolean} - True if this generator can handle the node + */ + canHandle(node) { + return node.type === "element"; + } + + /** + * Generates HTML for a standard element. + * @param {Object} node - Node to generate HTML for + * @returns {string} - Generated HTML + */ + generate(node) { + if (this.options.debug) { + console.log(`[StandardElementGenerator] Processing element node: ${node.tag || node.name}`); + } + + const mapping = ELEMENT_MAPPINGS ? ELEMENT_MAPPINGS[node.tag] : null; + + const tagName = mapping ? mapping.tag : (node.name || node.tag || "div"); + + let className = ""; + if (this.cssGenerator) { + className = this.cssGenerator.generateClassName(node.tag); + const { cssProps, nestedRules } = this.cssGenerator.nodeToCSSProperties(node); + this.cssGenerator.cssRules.set(`.${className}`, { + cssProps, + nestedRules, + }); + } + + const fullClassName = this.generateClassName(node); + if (className && fullClassName) { + className = `${className} ${fullClassName}`; + } else if (fullClassName) { + className = fullClassName; + } + + const attributes = this.generateAttributes(node, node.elementId, className); + + let content = ""; + const children = node.children || []; + + for (const child of children) { + if ( + child.type === "client" || + child.type === "server" || + (child.type === "element" && (child.name === "script" || child.tag === "script")) + ) { + continue; + } + child.parent = node; + content += this.htmlGenerator.generateHTML(child); + if (!this.options.minified) { + content += "\n"; + } + } + + return `<${tagName}${attributes}>${this.options.minified ? "" : "\n"}${content}${this.options.minified ? "" : ""}${this.options.minified ? "" : "\n"}`; + } + + /** + * Generates a className string for the element. + * @param {Object} node - The node to generate class for + * @returns {string} - The generated class name + */ + generateClassName(node) { + let classNames = []; + + if (node.attributes && Array.isArray(node.attributes)) { + const classAttr = node.attributes.find(attr => attr.name === "class"); + if (classAttr && classAttr.value) { + classNames.push(classAttr.value); + } + } + + if (node.props && Array.isArray(node.props)) { + for (const prop of node.props) { + if (typeof prop === "string") { + if (prop.startsWith("class:")) { + classNames.push(prop.substring(prop.indexOf(":") + 1).trim().replace(/^"|"$/g, "")); + } + } + } + } + + return classNames.join(" "); + } + + /** + * Generates an attributes string for the element. + * @param {Object} node - The node to generate attributes for + * @param {string} id - The element ID + * @param {string} className - The element class name + * @returns {string} - The generated attributes string + */ + generateAttributes(node, id, className) { + let attributes = ""; + + if (id) { + attributes += ` id="${id}"`; + } else if (node.props && Array.isArray(node.props)) { + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + } + } + + if (className) { + attributes += ` class="${className}"`; + } + + if (node.props && Array.isArray(node.props)) { + const dataProps = node.props.filter(p => typeof p === "string" && p.startsWith("data-")); + if (dataProps.length) { + attributes += " " + dataProps.join(" "); + } + } + + if (node.attributes && Array.isArray(node.attributes)) { + for (const attr of node.attributes) { + if (attr.name === "id" || attr.name === "class") continue; + + if (attr.value === true) { + attributes += ` ${attr.name}`; + } else if (attr.value !== false && attr.value !== undefined && attr.value !== null) { + attributes += ` ${attr.name}="${attr.value}"`; + } + } + } + + if (node.props && Array.isArray(node.props)) { + for (const prop of node.props) { + if (typeof prop === "string") { + if (prop.startsWith("id:") || prop.startsWith("class:") || prop.startsWith("data-")) continue; + + const colonIndex = prop.indexOf(":"); + if (colonIndex !== -1) { + const name = prop.substring(0, colonIndex).trim(); + const value = prop.substring(colonIndex + 1).trim().replace(/^"|"$/g, ""); + + if (!attributes.includes(` ${name}="`)) { + attributes += ` ${name}="${value}"`; + } + } else { + if (!attributes.includes(` ${prop}`)) { + attributes += ` ${prop}`; + } + } + } + } + } + + return attributes; + } +} + +module.exports = StandardElementGenerator; \ No newline at end of file diff --git a/lib/generators/JavaScriptGenerator.js b/lib/generators/JavaScriptGenerator.js new file mode 100644 index 0000000..cc16c45 --- /dev/null +++ b/lib/generators/JavaScriptGenerator.js @@ -0,0 +1,239 @@ +const StringUtils = require("../utils/StringUtils"); + +/** + * Generates JavaScript code for client and server blocks with reactive data handling. + */ +class JavaScriptGenerator { + /** + * Creates a new JavaScript generator. + * @param {Object} options - Options for the generator + * @param {ServerCodeGenerator} [serverGenerator] - Server code generator instance + */ + constructor(options = {}, serverGenerator = null) { + this.options = options; + this.clientScripts = new Map(); + this.serverScripts = []; + this.reactiveElements = new Set(); + this.serverGenerator = serverGenerator; + } + + /** + * Sets the server code generator instance + * @param {ServerCodeGenerator} serverGenerator - Server code generator instance + */ + setServerGenerator(serverGenerator) { + this.serverGenerator = serverGenerator; + } + + /** + * Registers a client-side script to be executed when an element is clicked. + * @param {string} elementId - The ID of the element to attach the event to + * @param {string} code - The JavaScript code to execute + */ + addClientScript(elementId, code) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Adding client script for element ${elementId}`); + } + this.clientScripts.set(elementId, code); + } + + /** + * Adds a server-side script to be executed on the server. + * @param {string} elementId - The ID of the element that triggers the server action + * @param {string} code - The JavaScript code to execute + * @param {Array} params - The input parameters to retrieve from the client + */ + addServerScript(elementId, code, params = []) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Adding server script for element ${elementId}`); + if (params.length > 0) { + console.log(`[JavaScriptGenerator] Script parameters: ${params.join(", ")}`); + } + } + + this.serverScripts.push({ + elementId, + code, + params + }); + + if (this.serverGenerator) { + this.serverGenerator.addServerRoute(elementId, code, params); + } + + this.clientScripts.set(elementId, `_bp_serverAction_${elementId}(e);`); + } + + /** + * Registers an element as reactive, meaning it will have state management functions + * @param {string} elementId - The ID of the element to make reactive + */ + registerReactiveElement(elementId) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Registering reactive element: ${elementId}`); + } + this.reactiveElements.add(elementId); + } + + /** + * Generates a unique element ID. + * @returns {string} - A unique element ID with bp_ prefix + */ + generateElementId() { + return StringUtils.generateRandomId(); + } + + /** + * Generates the reactive store and helper functions for state management + * @returns {string} - JavaScript code for reactive functionality + */ + generateReactiveStore() { + if (this.reactiveElements.size === 0) { + return ''; + } + + return ` +const _bp_store = { + listeners: new Map(), + subscribe: function(id, callback) { + if (!this.listeners.has(id)) { + this.listeners.set(id, []); + } + this.listeners.get(id).push(callback); + }, + notify: function(id, newValue) { + if (this.listeners.has(id)) { + this.listeners.get(id).forEach(callback => callback(newValue)); + } + } +}; + +function _bp_makeElementReactive(id) { + const element = document.getElementById(id); + if (!element) { + console.log(\`[Blueprint] Element with ID \${id} not found\`); + return null; + } + + return { + element: element, + get value() { + return element.textContent; + }, + set: function(newValue) { + const valueString = String(newValue); + element.textContent = valueString; + _bp_store.notify(id, valueString); + return this; + }, + setNumber: function(num) { + const valueString = String(Number(num)); + element.textContent = valueString; + _bp_store.notify(id, valueString); + return this; + }, + setHtml: function(html) { + element.innerHTML = html; + _bp_store.notify(id, html); + return this; + }, + setStyle: function(property, value) { + element.style[property] = value; + return this; + }, + setClass: function(className, add = true) { + if (add) { + element.classList.add(className); + } else { + element.classList.remove(className); + } + return this; + }, + on: function(event, callback) { + element.addEventListener(event, callback); + return this; + }, + subscribe: function(callback) { + _bp_store.subscribe(id, callback); + return this; + }, + get textValue() { + return element.textContent; + }, + get numberValue() { + return Number(element.textContent); + }, + get booleanValue() { + const text = element.textContent.toLowerCase(); + return text === 'true' || text === '1' || text === 'yes'; + } + }; +} + +// Initialize reactive elements`; + } + + /** + * Generates initialization code for reactive elements + * @returns {string} - JavaScript initialization code for reactive elements + */ + generateReactiveElementInit() { + if (this.reactiveElements.size === 0) { + return ''; + } + + const initCode = Array.from(this.reactiveElements) + .map(id => `const ${id} = _bp_makeElementReactive('${id}');`) + .join('\n '); + + return ` + ${initCode}`; + } + + /** + * Generates all client-side JavaScript code. + * @returns {string} - The generated JavaScript code + */ + generateClientScripts() { + if (this.clientScripts.size === 0 && this.reactiveElements.size === 0 && !this.serverGenerator) { + return ''; + } + + let initCode = ''; + if (this.reactiveElements.size > 0) { + initCode = this.generateReactiveElementInit(); + } + + let scripts = ''; + this.clientScripts.forEach((code, elementId) => { + scripts += ` document.getElementById('${elementId}').addEventListener('click', function(e) { + ${code} + });\n`; + }); + + let serverClientCode = ''; + if (this.serverGenerator) { + serverClientCode = this.serverGenerator.generateClientAPICalls(); + } + + return ``; + } + + /** + * Gets all server-side scripts. + * @returns {Array} - Array of server-side script objects + */ + getServerScripts() { + return this.serverScripts; + } +} + +module.exports = JavaScriptGenerator; \ No newline at end of file diff --git a/lib/generators/ServerCodeGenerator.js b/lib/generators/ServerCodeGenerator.js new file mode 100644 index 0000000..d7342df --- /dev/null +++ b/lib/generators/ServerCodeGenerator.js @@ -0,0 +1,209 @@ +const crypto = require('crypto'); +const StringUtils = require("../utils/StringUtils"); + +/** + * Generates server-side Express.js routes for server blocks. + */ +class ServerCodeGenerator { + /** + * Creates a new server code generator. + * @param {Object} options - Options for the generator + */ + constructor(options = {}) { + this.options = options; + this.serverRoutes = new Map(); + this.hasServerCode = false; + } + + /** + * Registers a server-side route to be executed when requested. + * @param {string} elementId - The ID of the element that triggers the route + * @param {string} code - The JavaScript code to execute + * @param {Array} params - The input parameters to retrieve from the client + */ + addServerRoute(elementId, code, params = []) { + if (this.options.debug) { + console.log(`[ServerCodeGenerator] Adding server route for element ${elementId}`); + if (params.length > 0) { + console.log(`[ServerCodeGenerator] Route parameters: ${params.join(", ")}`); + } + } + + const endpoint = this.generateEndpointPath(elementId); + + this.serverRoutes.set(elementId, { + endpoint, + code, + params + }); + + this.hasServerCode = true; + } + + /** + * Generates a unique endpoint path for a server route. + * @param {string} elementId - The element ID for the route + * @returns {string} - A unique endpoint path + */ + generateEndpointPath(elementId) { + const hash = crypto.createHash('sha256') + .update(elementId + Math.random().toString()) + .digest('hex') + .substring(0, 12); + + return `/api/${StringUtils.toKebabCase(elementId)}-${hash}`; + } + + /** + * Generates client-side JavaScript for making API calls to server routes. + * @returns {string} - JavaScript code for making API calls + */ + generateClientAPICalls() { + if (this.serverRoutes.size === 0) { + return ''; + } + + let apiCode = ` +const _bp_api = { + post: async function(url, data) { + try { + const serverPort = window.blueprintServerPort || 3001; + + const fullUrl = \`http://\${window.location.hostname}:\${serverPort}\${url}\`; + + const response = await fetch(fullUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(data) + }); + + if (!response.ok) { + throw new Error(\`API request failed: \${response.status}\`); + } + + return await response.json(); + } catch (error) { + console.error('[Blueprint API]', error); + return { error: error.message }; + } + } +}; + + +`; + + + this.serverRoutes.forEach((route, elementId) => { + const { endpoint, params } = route; + + apiCode += `async function _bp_serverAction_${elementId}(e) { + const data = {}; +${params.map(param => ` data.${param} = ${param} ? ${param}.value : null;`).join('\n')} + + try { + const result = await _bp_api.post('${endpoint}', data); + console.log('[Blueprint API] Server response:', result); + + if (result && typeof result === 'object') { + Object.keys(result).forEach(key => { + if (window[key] && typeof window[key].set === 'function') { + window[key].set(result[key]); + } + else { + const element = document.getElementById(key); + if (element) { + element.textContent = result[key]; + console.log(\`[Blueprint API] Updated element #\${key} with value: \${result[key]}\`); + } + } + }); + } + + return result; + } catch (error) { + console.error('[Blueprint API] Error in server action:', error); + } +}\n`; + }); + + return apiCode; + } + + /** + * Generates Express.js server code for all registered server routes. + * @returns {string} - Express.js server code + */ + generateServerCode() { + if (this.serverRoutes.size === 0) { + return ''; + } + + let serverCode = ` +const express = require('express'); +const bodyParser = require('body-parser'); +const cors = require('cors'); + +function createBlueprintApiServer(port = 3001) { + const app = express(); + + app.use(cors()); + app.use(bodyParser.json()); + + app.use((req, res, next) => { + console.log(\`[\${new Date().toISOString()}] \${req.method} \${req.url}\`); + next(); + }); + +`; + + this.serverRoutes.forEach((route, elementId) => { + const { endpoint, code, params } = route; + + serverCode += ` + app.post('${endpoint}', async (req, res) => { + try { + ${params.map(param => `const ${param} = req.body.${param};`).join('\n ')} + + let result; + try { + ${code} + } catch (error) { + console.error(\`Error in server block \${error.message}\`); + return res.status(500).json({ error: error.message }); + } + + return res.json(result || {}); + } catch (error) { + console.error(\`Error processing request: \${error.message}\`); + return res.status(500).json({ error: error.message }); + } + });`; + }); + + serverCode += ` + + app.listen(port, () => { + console.log(\`Blueprint API server running at http://localhost:\${port}\`); + }); + + return app; +} + +module.exports = createBlueprintApiServer; +`; + + return serverCode; + } + + /** + * Checks if there is any server code to generate. + * @returns {boolean} - Whether there is server code + */ + hasServerCodeToGenerate() { + return this.hasServerCode; + } +} + +module.exports = ServerCodeGenerator; \ No newline at end of file From 79a7f92ff9ab14e4504f52956b3097c754ee3245 Mon Sep 17 00:00:00 2001 From: obvTiger Date: Thu, 27 Mar 2025 17:33:20 +0100 Subject: [PATCH 3/6] chore: repackage extension --- extension/blueprint-language-0.0.1.vsix | Bin 585997 -> 586172 bytes extension/server/out/.tsbuildinfo | 2 +- extension/server/out/server.js | 139 ++++++++++++------------ extension/server/out/server.js.map | 2 +- 4 files changed, 74 insertions(+), 69 deletions(-) diff --git a/extension/blueprint-language-0.0.1.vsix b/extension/blueprint-language-0.0.1.vsix index 1bf285e74be8b100c8a43abf51314f8671ae6af7..c69c64698cf548384305a38268e1edea70ceebc0 100644 GIT binary patch delta 19699 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 { const position = textDocumentPosition.position; const line = lines[position.line]; const linePrefix = line.slice(0, position.character); + // Suggest script blocks after @ symbol + if (linePrefix.trim().endsWith('@')) { + return scriptBlocks.map(block => ({ + label: `@${block}`, + kind: node_1.CompletionItemKind.Snippet, + insertText: `@${block} {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: block === 'client' ? + 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' : + 'Create a server-side JavaScript block that runs on the server.' + })); + } // Check if this is a template completion trigger if (linePrefix.trim() === '!') { return [{ @@ -106,65 +122,6 @@ connection.onCompletion((textDocumentPosition) => { }] }]; } - // Check for @client or @server block completion - if (linePrefix.trim() === '@' || linePrefix.trim().startsWith('@')) { - return scriptBlocks.map(blockType => ({ - label: `@${blockType}`, - kind: node_1.CompletionItemKind.Snippet, - insertText: `@${blockType} {\n $1\n}`, - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: `Create a ${blockType} script block` - })); - } - // After an @client or @server block opening brace, suggest JS snippets - const scriptBlockMatch = /@(client|server)\s*{\s*$/.exec(linePrefix); - if (scriptBlockMatch) { - const blockType = scriptBlockMatch[1]; - const jsSnippets = []; - if (blockType === 'client') { - jsSnippets.push({ - label: 'element.set', - kind: node_1.CompletionItemKind.Method, - insertText: '${1:elementId}.set("${2:new value}");', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Set the content of an element' - }, { - label: 'console.log', - kind: node_1.CompletionItemKind.Method, - insertText: 'console.log("${1:message}");', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Log a message to the console' - }, { - label: 'DOM event handling', - kind: node_1.CompletionItemKind.Snippet, - insertText: 'e.preventDefault();\n${1}', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Prevent default action of event' - }); - } - else if (blockType === 'server') { - jsSnippets.push({ - label: 'element.set', - kind: node_1.CompletionItemKind.Method, - insertText: '${1:elementId}.set(${2:newValue});', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Update element value from server' - }, { - label: 'element.value', - kind: node_1.CompletionItemKind.Property, - insertText: 'const value = ${1:elementId}.value;', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Get the current value of an element' - }, { - label: 'fetch data', - kind: node_1.CompletionItemKind.Snippet, - insertText: 'const response = await fetch("${1:url}");\nconst data = await response.json();\n${2}', - insertTextFormat: node_1.InsertTextFormat.Snippet, - documentation: 'Fetch data from an API' - }); - } - return jsSnippets; - } // Inside page block if (text.includes('page {') && !text.includes('}')) { return pageProperties.map(prop => ({ @@ -175,13 +132,22 @@ connection.onCompletion((textDocumentPosition) => { documentation: `Add ${prop} to the page configuration` })); } - // After an opening parenthesis, suggest properties + // After an opening parenthesis, suggest properties including ID with underscore format if (linePrefix.trim().endsWith('(')) { - return properties.map(prop => ({ - label: prop, - kind: node_1.CompletionItemKind.Property, - documentation: `Apply ${prop} property` - })); + return [ + ...properties.map(prop => ({ + label: prop, + kind: node_1.CompletionItemKind.Property, + documentation: `Apply ${prop} property` + })), + { + label: 'id', + kind: node_1.CompletionItemKind.Property, + insertText: idAttributeTemplate, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Add an ID to the element (use underscores instead of hyphens for JavaScript compatibility)' + } + ]; } // After a container element's opening brace, suggest child elements const containerMatch = /\b(horizontal|vertical|section|grid|navbar|links|card)\s*{\s*$/.exec(linePrefix); @@ -200,6 +166,25 @@ connection.onCompletion((textDocumentPosition) => { suggestedElements = ['title', 'text', 'button', 'image']; break; } + // Include client/server block suggestions for interactive elements + if (['button', 'button-light', 'button-secondary', 'button-compact'].includes(parentElement)) { + return [ + ...suggestedElements.map(element => ({ + label: element, + kind: node_1.CompletionItemKind.Class, + insertText: `${element} {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: `Create a ${element} block inside ${parentElement}` + })), + { + label: '@client', + kind: node_1.CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + } + ]; + } return suggestedElements.map(element => ({ label: element, kind: node_1.CompletionItemKind.Class, @@ -208,6 +193,26 @@ connection.onCompletion((textDocumentPosition) => { documentation: `Create a ${element} block inside ${parentElement}` })); } + // Inside interactive elements, suggest @client blocks + const interactiveElementMatch = /\b(button|button-light|button-secondary|button-compact|input|textarea|select|checkbox|radio|switch)\s*(?:\([^)]*\))?\s*{\s*$/.exec(linePrefix); + if (interactiveElementMatch) { + return [ + { + label: '@client', + kind: node_1.CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + }, + { + label: 'text', + kind: node_1.CompletionItemKind.Class, + insertText: `"$1"`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Add text content to the element' + } + ]; + } // Get available single instance elements const availableSingleElements = singleElements.filter(element => !elementExists(text, element)); // Combine regular elements with available single instance elements diff --git a/extension/server/out/server.js.map b/extension/server/out/server.js.map index 00dea67..ab29847 100644 --- a/extension/server/out/server.js.map +++ b/extension/server/out/server.js.map @@ -1 +1 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 9155b79ec9f0de816d3cb5b329c4a5b475dc4e04 Mon Sep 17 00:00:00 2001 From: obvTiger Date: Fri, 28 Mar 2025 16:03:05 +0100 Subject: [PATCH 4/6] fix: checkbox data content --- index.js | 23 +++++++++++++++++ lib/generators/InputElementGenerator.js | 21 ++++++++++++++-- lib/generators/ServerCodeGenerator.js | 33 ++++++++++++++++++++++--- 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..8734dc8 --- /dev/null +++ b/index.js @@ -0,0 +1,23 @@ +module.exports = (app, prisma) => { + app.get("/", async (req, res) => { + try { + const data = req.body; + + // input valiation + + // business logic + + // output validation + + // output + const response = { + + }; + + res.json({ response }); + } catch (error) { + console.log('Error:', error); + res.status(500).json({ error: 'Internal server error' }); + } + }); +} \ No newline at end of file diff --git a/lib/generators/InputElementGenerator.js b/lib/generators/InputElementGenerator.js index 70a9cb4..639155c 100644 --- a/lib/generators/InputElementGenerator.js +++ b/lib/generators/InputElementGenerator.js @@ -55,6 +55,23 @@ class InputElementGenerator { attributes = ' type="range"'; } + // Extract and handle ID attribute + let idAttr = ""; + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + idAttr = ` id="${idValue}"`; + node.elementId = idValue; + + // Register as reactive element with the parent generator + if (this.parentGenerator && this.parentGenerator.jsGenerator) { + this.parentGenerator.jsGenerator.registerReactiveElement(idValue); + if (this.options.debug) { + console.log(`[InputElementGenerator] Registered checkbox with ID: ${idValue} as reactive`); + } + } + } + const valueProp = node.props.find((p) => p.startsWith("value:")); if (valueProp) { const value = valueProp.substring(valueProp.indexOf(":") + 1).trim(); @@ -70,7 +87,7 @@ class InputElementGenerator { if (node.children.length > 0) { let html = ``; return html; } else { - return ``; + return ``; } } } diff --git a/lib/generators/ServerCodeGenerator.js b/lib/generators/ServerCodeGenerator.js index d7342df..c10a6f6 100644 --- a/lib/generators/ServerCodeGenerator.js +++ b/lib/generators/ServerCodeGenerator.js @@ -100,7 +100,25 @@ const _bp_api = { apiCode += `async function _bp_serverAction_${elementId}(e) { const data = {}; -${params.map(param => ` data.${param} = ${param} ? ${param}.value : null;`).join('\n')} +${params.map(param => ` const ${param}_element = document.getElementById('${param}'); + if (${param}_element) { + console.log('Found element: ${param}', ${param}_element); + if (${param}_element.type === 'checkbox') { + data.${param} = ${param}_element.checked; + console.log('Checkbox ${param} value:', ${param}_element.checked); + } else if (${param}_element.type === 'radio') { + data.${param} = ${param}_element.checked; + } else if (${param}_element.value !== undefined) { + data.${param} = ${param}_element.value; + } else { + data.${param} = ${param}_element.textContent; + } + } else { + console.error('[Blueprint] Element with ID ${param} not found'); + data.${param} = null; + }`).join('\n')} + + console.log('Submitting data:', data); try { const result = await _bp_api.post('${endpoint}', data); @@ -114,7 +132,11 @@ ${params.map(param => ` data.${param} = ${param} ? ${param}.value : null;`).joi else { const element = document.getElementById(key); if (element) { - element.textContent = result[key]; + if (element.tagName.toLowerCase() === 'input') { + element.value = result[key]; + } else { + element.textContent = result[key]; + } console.log(\`[Blueprint API] Updated element #\${key} with value: \${result[key]}\`); } } @@ -164,7 +186,12 @@ function createBlueprintApiServer(port = 3001) { serverCode += ` app.post('${endpoint}', async (req, res) => { try { - ${params.map(param => `const ${param} = req.body.${param};`).join('\n ')} + ${params.map(param => { + return `const ${param} = req.body.${param} !== undefined ? req.body.${param} : null; + if (${param} === null) { + console.error(\`Missing parameter: ${param}\`); + }`; + }).join('\n ')} let result; try { From d125640fe703f418428ae9bcbd737b1108fb2273 Mon Sep 17 00:00:00 2001 From: obvTiger Date: Tue, 1 Apr 2025 15:22:15 +0200 Subject: [PATCH 5/6] beta/code-blocks (#1) Reviewed-on: https://git.eplg.services/epilogue/blueprint/pulls/1 Co-authored-by: obvTiger Co-committed-by: obvTiger --- examples/reactive-example.bp | 190 ++++++++++++ examples/server-form-example.bp | 163 +++++++++++ extension/blueprint-language-0.0.1.vsix | Bin 584343 -> 586172 bytes extension/client/out/.tsbuildinfo | 2 +- extension/out/tsconfig.tsbuildinfo | 2 +- extension/server/out/.tsbuildinfo | 2 +- extension/server/out/server.js | 78 ++++- extension/server/out/server.js.map | 2 +- extension/server/src/server.ts | 83 +++++- extension/syntaxes/blueprint.tmLanguage.json | 23 +- index.js | 23 ++ lib/ASTBuilder.js | 35 +++ lib/BlueprintBuilder.js | 16 + lib/BlueprintCompiler.js | 9 + lib/HTMLGenerator.js | 136 ++++++++- lib/StandardElementGenerator.js | 179 ++++++++++++ lib/TokenParser.js | 136 +++++++++ lib/generators/ButtonElementGenerator.js | 16 + lib/generators/InputElementGenerator.js | 21 +- lib/generators/JavaScriptGenerator.js | 239 +++++++++++++++ lib/generators/ServerCodeGenerator.js | 236 +++++++++++++++ lib/generators/StandardElementGenerator.js | 16 + lib/mappings.js | 2 +- lib/server.js | 291 ++++++++++++++----- lib/utils/StringUtils.js | 17 +- package.json | 1 + 26 files changed, 1816 insertions(+), 102 deletions(-) create mode 100644 examples/reactive-example.bp create mode 100644 examples/server-form-example.bp create mode 100644 index.js create mode 100644 lib/StandardElementGenerator.js create mode 100644 lib/generators/JavaScriptGenerator.js create mode 100644 lib/generators/ServerCodeGenerator.js diff --git a/examples/reactive-example.bp b/examples/reactive-example.bp new file mode 100644 index 0000000..67dc39a --- /dev/null +++ b/examples/reactive-example.bp @@ -0,0 +1,190 @@ +page(favicon:"/favicon.ico") { + title { "Blueprint - Reactive Example" } + description { "Example of reactive values in Blueprint" } + keywords { "blueprint, javascript, reactive, state" } + author { "Blueprint Team" } +} + +navbar { + horizontal { + link(href:index) { text(bold) { "Blueprint" } } + links { + link(href:index) { "Home" } + link(href:examples) { "Examples" } + link(href:docs) { "Docs" } + } + } +} + +section(wide, centered) { + vertical(centered) { + title(huge) { "Reactive Values Demo" } + text { "Demonstration of reactive state management in Blueprint" } + } +} + +section(wide) { + title { "Counter Example" } + + vertical(centered) { + // Notice the ID uses underscore format. - is not allowed + text(id:counter_value) { "0" } + + horizontal(centered) { + button-secondary(id:decrease_btn) { + "Decrease" + + @client { + // Use the reactive counter_value with numberValue + const currentValue = counter_value.numberValue; + counter_value.setNumber(currentValue - 1); + console.log("Counter decreased to", currentValue - 1); + } + } + + button(id:increase_btn) { + "Increase" + + @client { + // Use the reactive counter_value with numberValue + const currentValue = counter_value.numberValue; + counter_value.setNumber(currentValue + 1); + console.log("Counter increased to", currentValue + 1); + } + } + } + } +} + +section(wide) { + title { "Color Changer with Reactive Elements" } + + vertical(centered) { + // Element with explicit ID that will be styled + card(id:color_target, raised) { + title { "Change My Background" } + text { "Click the buttons below to change my background color" } + } + + // Display the current color + text(subtle, id:color_display) { "Current color: None" } + + horizontal(centered) { + button-secondary(id:red_btn) { + "Red" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#e74c3c"); + color_display.set("Current color: Red"); + } + } + + button-secondary(id:green_btn) { + "Green" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#2ecc71"); + color_display.set("Current color: Green"); + } + } + + button-secondary(id:blue_btn) { + "Blue" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", "#3498db"); + color_display.set("Current color: Blue"); + } + } + + button-secondary(id:reset_btn) { + "Reset" + + @client { + // Using reactive methods + color_target.setStyle("backgroundColor", ""); + color_display.set("Current color: None"); + } + } + } + } +} + +section(wide) { + title { "Data Types Example" } + + vertical(centered) { + horizontal(centered) { + vertical { + text(bold) { "Number:" } + text(id:number_display) { "42" } + } + + vertical { + text(bold) { "Text:" } + text(id:text_display) { "Hello Blueprint" } + } + + vertical { + text(bold) { "Boolean:" } + text(id:boolean_display) { "true" } + } + } + + horizontal(centered) { + button-secondary(id:modify_values_btn) { + "Modify Values" + + @client { + // Use type-specific methods + number_display.setNumber(number_display.numberValue * 2); + text_display.set(text_display.value + "!"); + boolean_display.set(!boolean_display.booleanValue); + + console.log("Number value:", number_display.numberValue); + console.log("Text value:", text_display.textValue); + console.log("Boolean value:", boolean_display.booleanValue); + } + } + + button-secondary(id:reset_values_btn) { + "Reset Values" + + @client { + number_display.setNumber(42); + text_display.set("Hello Blueprint"); + boolean_display.set("true"); + } + } + } + } +} + +section(wide) { + title { "Subscription Example" } + + vertical(centered) { + // Input and subscribed elements + input(id:user_input) { "Type something..." } + + text(bold) { "Live Preview:" } + text(id:preview_output) { "Type something..." } + + // Add a client block to handle typing + @client { + // Set up the input to update the preview on input + user_input.element.addEventListener("input", function(e) { + // Use the reactive API to update the preview + preview_output.set(e.target.value); + }); + + // Example of subscription - will log changes to the console + preview_output.subscribe(function(newValue) { + console.log("Preview content changed to:", newValue); + }); + } + } +} \ No newline at end of file diff --git a/examples/server-form-example.bp b/examples/server-form-example.bp new file mode 100644 index 0000000..26c8fcf --- /dev/null +++ b/examples/server-form-example.bp @@ -0,0 +1,163 @@ +page(favicon:"/favicon.ico") { + title { "Blueprint - Server Form Example" } + description { "Example of server-side form processing in Blueprint" } + keywords { "blueprint, javascript, server, api, form" } + author { "Blueprint Team" } +} + +navbar { + horizontal { + link(href:index) { text(bold) { "Blueprint" } } + links { + link(href:index) { "Home" } + link(href:examples) { "Examples" } + link(href:docs) { "Docs" } + } + } +} + +section(wide, centered) { + vertical(centered) { + title(huge) { "Server-Side Form Processing" } + text { "Demonstration of server-side form handling with Blueprint" } + } +} + +section(wide) { + title { "Contact Form Example" } + + vertical(centered) { + card(raised) { + title { "Submit a Message" } + text { "Fill out the form below to submit a message to the server." } + + vertical { + text(bold) { "Your Name" } + input(id:user_name) { "John Doe" } + + text(bold) { "Your Email" } + input(id:user_email) { "john@example.com" } + + text(bold) { "Your Message" } + textarea(id:user_message) { "Hello from Blueprint!" } + + // Display the server response + text(id:form_result) { "" } + + button(id:submit_form) { + "Submit Form" + + // Server block with parameters specifying which input values to include + @server(user_name, user_email, user_message) { + console.log("Form submission received:"); + console.log("Name:", user_name); + console.log("Email:", user_email); + console.log("Message:", user_message); + + // Validate inputs + const errors = []; + + if (!user_name || user_name.length < 2) { + errors.push("Name is too short"); + } + + if (!user_email || !user_email.includes('@')) { + errors.push("Invalid email address"); + } + + if (!user_message || user_message.length < 5) { + errors.push("Message is too short"); + } + + // Return error message if validation fails + if (errors.length > 0) { + return res.status(400).json({ + form_result: "Error: " + errors.join(", ") + }); + } + + // Process the form (in a real app, this might save to a database) + const timestamp = new Date().toISOString(); + + // Return success response that will update the form_result element + return res.status(200).json({ + form_result: `Thank you, ${user_name}! Your message was received at ${timestamp}.` + }); + } + } + } + } + } +} + +section(wide) { + title { "User Registration Example" } + + vertical(centered) { + card(raised) { + title { "Register a New Account" } + text { "Fill out the form below to register a new account." } + + vertical { + text(bold) { "Username" } + input(id:username) { "newuser123" } + + text(bold) { "Email" } + input(id:email) { "newuser@example.com" } + + text(bold) { "Password" } + input(id:password) { "password123" } + + text(bold) { "Confirm Password" } + input(id:confirm_password) { "password123" } + + // Display the registration status + text(id:registration_status) { "" } + + button(id:register_user) { + "Register" + + @server(username, email, password, confirm_password) { + console.log("Registration request for username:", username); + + // Validate username + if (!username || username.length < 4) { + return res.status(400).json({ + registration_status: "Error: Username must be at least 4 characters" + }); + } + + // Validate email + if (!email || !email.includes('@')) { + return res.status(400).json({ + registration_status: "Error: Invalid email address" + }); + } + + // Validate password + if (!password || password.length < 8) { + return res.status(400).json({ + registration_status: "Error: Password must be at least 8 characters" + }); + } + + // Check password matching + if (password !== confirm_password) { + return res.status(400).json({ + registration_status: "Error: Passwords do not match" + }); + } + + // In a real app, this would create the user account + const userId = Math.floor(Math.random() * 10000); + + // Return success response + return res.status(200).json({ + registration_status: `Success! User ${username} registered with ID #${userId}` + }); + } + } + } + } + } +} \ No newline at end of file diff --git a/extension/blueprint-language-0.0.1.vsix b/extension/blueprint-language-0.0.1.vsix index c03e9ad109b0c1305833d6da561c958f3ec10e7f..c69c64698cf548384305a38268e1edea70ceebc0 100644 GIT binary patch delta 95513 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 l_!5V+Z)Qu&|`8gYkvs{{fHgARhn# delta 93992 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 odL?+aEriDiaySpo!>fgDIThKPf!*@Bjb+ diff --git a/extension/client/out/.tsbuildinfo b/extension/client/out/.tsbuildinfo index ab54d4c..b945de0 100644 --- a/extension/client/out/.tsbuildinfo +++ b/extension/client/out/.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/vscode/index.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/common/codeconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolcompletionitem.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageclient/lib/common/textsynchronization.d.ts","../../node_modules/vscode-languageclient/lib/common/codelens.d.ts","../../node_modules/vscode-languageclient/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageclient/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageclient/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageclient/lib/common/notebook.d.ts","../../node_modules/vscode-languageclient/lib/common/features.d.ts","../../node_modules/vscode-languageclient/lib/common/configuration.d.ts","../../node_modules/vscode-languageclient/lib/common/completion.d.ts","../../node_modules/vscode-languageclient/lib/common/hover.d.ts","../../node_modules/vscode-languageclient/lib/common/definition.d.ts","../../node_modules/vscode-languageclient/lib/common/signaturehelp.d.ts","../../node_modules/vscode-languageclient/lib/common/documenthighlight.d.ts","../../node_modules/vscode-languageclient/lib/common/documentsymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacesymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/reference.d.ts","../../node_modules/vscode-languageclient/lib/common/typedefinition.d.ts","../../node_modules/vscode-languageclient/lib/common/implementation.d.ts","../../node_modules/vscode-languageclient/lib/common/colorprovider.d.ts","../../node_modules/vscode-languageclient/lib/common/codeaction.d.ts","../../node_modules/vscode-languageclient/lib/common/formatting.d.ts","../../node_modules/vscode-languageclient/lib/common/rename.d.ts","../../node_modules/vscode-languageclient/lib/common/documentlink.d.ts","../../node_modules/vscode-languageclient/lib/common/executecommand.d.ts","../../node_modules/vscode-languageclient/lib/common/foldingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/declaration.d.ts","../../node_modules/vscode-languageclient/lib/common/selectionrange.d.ts","../../node_modules/vscode-languageclient/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageclient/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageclient/lib/common/client.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageclient/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/node/main.d.ts","../../node_modules/vscode-languageclient/node.d.ts","../src/extension.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts"],"fileIdsList":[[46,51,56,78,186],[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,189,228],[51,56,189,213,228],[51,56,228],[51,56,189],[51,56,189,214,228],[51,56,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[51,56,214,228],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,180],[51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179],[46,51,56,142,153],[46,51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[46,51,56,142],[46,51,56,142,143,145,146,147,148,149,150,151,152],[46,51,56,142,144],[46,51,56,57,103,179,183,184],[51,56,185],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,181],[51,56,182]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"caaf6bf4dd0a3f88b50670f5786141b209edb54ba17eb6268c2d28919c813606","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"6c39d4dbdb372b364442854e42d8c473e2ec67badb226745af17ed5ac41ce6f5","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"5293d799856f47259146ccf0be9a1cc0a4a5343696182d7206ed25ea67d67920","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"49cdd2b992fe2447994e995576addbc286913ddbebf928750074a6b1fcb24671","impliedFormat":1},{"version":"8479e373e70dedc75d9b1250a349e1efc4553af8a76bbd2ab4de7d9923fb6d1a","impliedFormat":1},{"version":"162e1ddfbe11f8052e38c8d6f69ea4df6fc12dab3902a79321ac0d5f88fe409e","impliedFormat":1},{"version":"d7a0eb5c9aff2237ec7b74a8d40e4221e5c0ef95019114e4a445eecf8f3d5946","impliedFormat":1},{"version":"6ec38a746ebcc6293af84cbf97f66b5a525a6d10424a0475e130ff8b6636a0a4","impliedFormat":1},{"version":"601d0bb63ace18781df556257caa4c3912ffefb599a59de91370b78d60c82969","impliedFormat":1},{"version":"bc9440b60655653ba1f5b94e02e831f1e935c652e2dc005836e7613c3a1d978d","impliedFormat":1},{"version":"2663a2923b6a66ae1729a9ad57db83a8b7578cdf1a545cd8a77ccc19b754038e","impliedFormat":1},{"version":"3062a3cccb480f7c798b8ca39128e368528f8b7f3fe3b72589bed8f5c7782d09","impliedFormat":1},{"version":"c983813ab0f99f37cf8b175a6761c2335df4cf1ed7515c7a19359797e9aa2639","impliedFormat":1},{"version":"7078d4a06f8f6944d23a57b0576bce9fe9eed5da1e02e89939cd5f534101a7d5","impliedFormat":1},{"version":"7dfd08c6f2628f5e2d4751d0a658bd12fa80e7c193f8845adda34eb46573457c","impliedFormat":1},{"version":"3f89dd0b5281bb1bcfe8207f88ecfa4d8de5388088f54cb012696f259d0f342c","impliedFormat":1},{"version":"46a2abc591dbc99debdb61cd1d25cfd80dd2fba1b9d341abb422a6e40e43449c","impliedFormat":1},{"version":"6a74f94c6f4282c5d0689e9b3edc08c6f744e7be8447e915c61aadd81339fe54","impliedFormat":1},{"version":"404d27a1f6dffc4dfbfeffcf483931faa4efd392a8b46c7e0ed9c1cb59f7ad15","impliedFormat":1},{"version":"ecb2d23ac823bf3c5d6735a973006fff1a0a1a5b5a5290f102426ffa00adda68","impliedFormat":1},{"version":"536044ec95d80b94b1fc6301205a0c8fe53887851d39a61d4d3c5564a6dd51eb","impliedFormat":1},{"version":"394ecd2838c8c55972676fe04b930bb32cd7aa0e8b7761b15527e71179bc2684","impliedFormat":1},{"version":"500ab366288ecf09ec637b0d984d41c6dd3ad8115c83da8ab9e004e3e63aa8bd","impliedFormat":1},{"version":"7429792de33c2c59148b2a26f29b26dda256a8d29e9f7b08d4aa5835f8b5e39f","impliedFormat":1},{"version":"d331cdb16cfded5638a2fcce3edb40452afbc3b486c5f0286af44a1aedb7a345","impliedFormat":1},{"version":"542178afcf014b2eab72333f205fc2ccc41217495bcc4cc1ed6e60ad9f1bd11b","impliedFormat":1},{"version":"d2e09ad5eb8111c3564ee743948b4e5915f5aee3d81c480d425eb5cee026fae6","impliedFormat":1},{"version":"ea3ea9ee8165da7b3432e4a4e94e9a0980d6aaf22bcd2d71204d407f106f2fa0","impliedFormat":1},{"version":"83567a9792c293d0f9d90feb9918e88b454ee8544e3d0ea06f9454477df010d1","impliedFormat":1},{"version":"eb314a7ab84c4f504444b53ec2b2d2557b0a06d79a7ce98e9bd2608cee5f946d","impliedFormat":1},{"version":"179f43f3b09b175b85e326ed59b1a2347b4d12fe7d67a4d88dee831f513119bd","impliedFormat":1},{"version":"b9e644c0e84188695a1d3d6d7d03740d7eaaf4bde5d6d25cbdb11df8347657d7","impliedFormat":1},{"version":"bd217bd008c0e8ec5332b6e905768fbadb3d925991dbf821307effd330e182d8","impliedFormat":1},{"version":"b355f2c3451ebc59d3b2fe47346f6a55da91dbcb9f2ad3b48b6bb5173fe77bb1","impliedFormat":1},{"version":"44263a5f285acc47f07cfa058edd282d7d06b026d85741b436372165337d6d2e","impliedFormat":1},{"version":"270314b700dfa1219abce94c5d46da873bfc958129426645ceff8cf559c2fec3","impliedFormat":1},{"version":"37ff500e6e9fe54a3a7e6f8533d4e65dfbb581625d0127836019ab6c86c64462","impliedFormat":1},{"version":"a9d6d153f6ca6ed0e992f3ecc9d684f16cbc0acaa33ab999aa826e80bb67365c","impliedFormat":1},{"version":"b19ef881994f1e0256e37589fadee9a93997400af999f33e2c3e638a6fcccb02","impliedFormat":1},{"version":"6b761b42779653f857ed9d9504f84a016cdfd16a95d044999a2b71331a18bcfd","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"e06388af85e67651e7bd2d13170e4dd9399ee93858cb1142fadfd99873535624","impliedFormat":1},{"version":"9a8bbbe55d20a047e89677cafc553879afb38d41a100ed7e6bb78e4b71203578","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"ba7789cb1790df485402b99531fb5f863194bcb76d64656bdec53a00bb200b0a","signature":"28fd02b23f22a42df03edc496d91b458cbb5c0b39a9933a40f136e465bf6dc1f"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1}],"root":[187],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[187,1],[188,2],[53,3],[54,3],[55,4],[51,5],[56,6],[57,7],[58,8],[49,9],[47,2],[48,2],[59,10],[60,11],[61,12],[62,13],[63,14],[64,15],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[52,2],[50,2],[71,21],[72,22],[73,23],[103,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,2],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[213,53],[214,54],[189,55],[192,55],[211,53],[212,53],[202,53],[201,56],[199,53],[194,53],[207,53],[205,53],[209,53],[193,53],[206,53],[210,53],[195,53],[196,53],[208,53],[190,53],[197,53],[198,53],[200,53],[204,53],[215,57],[203,53],[191,53],[228,58],[227,2],[222,57],[224,59],[223,57],[216,57],[217,57],[219,57],[221,57],[225,59],[226,59],[218,59],[220,59],[46,2],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[118,60],[110,61],[115,62],[108,2],[111,63],[109,64],[107,2],[117,65],[113,66],[106,2],[114,67],[112,68],[116,69],[180,70],[181,71],[105,2],[184,72],[174,73],[179,74],[166,73],[143,75],[148,73],[165,73],[155,73],[154,73],[172,73],[157,73],[151,73],[159,73],[169,73],[160,73],[170,73],[153,76],[178,73],[171,73],[167,73],[156,73],[164,73],[150,73],[149,73],[175,73],[152,73],[144,75],[145,77],[162,73],[168,73],[173,73],[146,73],[158,73],[147,73],[163,73],[176,73],[177,73],[161,73],[185,78],[186,79],[142,80],[141,81],[119,82],[129,83],[124,83],[123,84],[140,85],[126,83],[138,83],[133,84],[125,83],[120,83],[137,83],[136,83],[132,83],[134,86],[139,87],[128,84],[127,83],[130,83],[131,84],[121,83],[135,83],[122,84],[182,88],[183,89],[104,2]],"latestChangedDtsFile":"./extension.d.ts","version":"5.7.3"} \ No newline at end of file +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/vscode/index.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/common/codeconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolcompletionitem.d.ts","../../node_modules/vscode-languageclient/lib/common/protocolconverter.d.ts","../../node_modules/vscode-languageclient/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageclient/lib/common/textsynchronization.d.ts","../../node_modules/vscode-languageclient/lib/common/codelens.d.ts","../../node_modules/vscode-languageclient/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageclient/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageclient/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageclient/lib/common/notebook.d.ts","../../node_modules/vscode-languageclient/lib/common/features.d.ts","../../node_modules/vscode-languageclient/lib/common/configuration.d.ts","../../node_modules/vscode-languageclient/lib/common/completion.d.ts","../../node_modules/vscode-languageclient/lib/common/hover.d.ts","../../node_modules/vscode-languageclient/lib/common/definition.d.ts","../../node_modules/vscode-languageclient/lib/common/signaturehelp.d.ts","../../node_modules/vscode-languageclient/lib/common/documenthighlight.d.ts","../../node_modules/vscode-languageclient/lib/common/documentsymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacesymbol.d.ts","../../node_modules/vscode-languageclient/lib/common/reference.d.ts","../../node_modules/vscode-languageclient/lib/common/typedefinition.d.ts","../../node_modules/vscode-languageclient/lib/common/implementation.d.ts","../../node_modules/vscode-languageclient/lib/common/colorprovider.d.ts","../../node_modules/vscode-languageclient/lib/common/codeaction.d.ts","../../node_modules/vscode-languageclient/lib/common/formatting.d.ts","../../node_modules/vscode-languageclient/lib/common/rename.d.ts","../../node_modules/vscode-languageclient/lib/common/documentlink.d.ts","../../node_modules/vscode-languageclient/lib/common/executecommand.d.ts","../../node_modules/vscode-languageclient/lib/common/foldingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/declaration.d.ts","../../node_modules/vscode-languageclient/lib/common/selectionrange.d.ts","../../node_modules/vscode-languageclient/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageclient/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageclient/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageclient/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageclient/lib/common/client.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageclient/lib/common/api.d.ts","../../node_modules/vscode-languageclient/lib/node/main.d.ts","../../node_modules/vscode-languageclient/node.d.ts","../src/extension.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts"],"fileIdsList":[[46,51,56,78,186],[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,189,228],[51,56,189,213,228],[51,56,228],[51,56,189],[51,56,189,214,228],[51,56,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[51,56,214,228],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,180],[51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179],[46,51,56,142,153],[46,51,56,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[46,51,56,142],[46,51,56,142,143,145,146,147,148,149,150,151,152],[46,51,56,142,144],[46,51,56,57,103,179,183,184],[51,56,185],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,181],[51,56,182]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b3098756b32d6029cd9889b087a32e890298bd7953d05b72b02f6a3ad4f318a","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"49cdd2b992fe2447994e995576addbc286913ddbebf928750074a6b1fcb24671","impliedFormat":1},{"version":"8479e373e70dedc75d9b1250a349e1efc4553af8a76bbd2ab4de7d9923fb6d1a","impliedFormat":1},{"version":"162e1ddfbe11f8052e38c8d6f69ea4df6fc12dab3902a79321ac0d5f88fe409e","impliedFormat":1},{"version":"d7a0eb5c9aff2237ec7b74a8d40e4221e5c0ef95019114e4a445eecf8f3d5946","impliedFormat":1},{"version":"6ec38a746ebcc6293af84cbf97f66b5a525a6d10424a0475e130ff8b6636a0a4","impliedFormat":1},{"version":"601d0bb63ace18781df556257caa4c3912ffefb599a59de91370b78d60c82969","impliedFormat":1},{"version":"bc9440b60655653ba1f5b94e02e831f1e935c652e2dc005836e7613c3a1d978d","impliedFormat":1},{"version":"2663a2923b6a66ae1729a9ad57db83a8b7578cdf1a545cd8a77ccc19b754038e","impliedFormat":1},{"version":"3062a3cccb480f7c798b8ca39128e368528f8b7f3fe3b72589bed8f5c7782d09","impliedFormat":1},{"version":"c983813ab0f99f37cf8b175a6761c2335df4cf1ed7515c7a19359797e9aa2639","impliedFormat":1},{"version":"7078d4a06f8f6944d23a57b0576bce9fe9eed5da1e02e89939cd5f534101a7d5","impliedFormat":1},{"version":"7dfd08c6f2628f5e2d4751d0a658bd12fa80e7c193f8845adda34eb46573457c","impliedFormat":1},{"version":"3f89dd0b5281bb1bcfe8207f88ecfa4d8de5388088f54cb012696f259d0f342c","impliedFormat":1},{"version":"46a2abc591dbc99debdb61cd1d25cfd80dd2fba1b9d341abb422a6e40e43449c","impliedFormat":1},{"version":"6a74f94c6f4282c5d0689e9b3edc08c6f744e7be8447e915c61aadd81339fe54","impliedFormat":1},{"version":"404d27a1f6dffc4dfbfeffcf483931faa4efd392a8b46c7e0ed9c1cb59f7ad15","impliedFormat":1},{"version":"ecb2d23ac823bf3c5d6735a973006fff1a0a1a5b5a5290f102426ffa00adda68","impliedFormat":1},{"version":"536044ec95d80b94b1fc6301205a0c8fe53887851d39a61d4d3c5564a6dd51eb","impliedFormat":1},{"version":"394ecd2838c8c55972676fe04b930bb32cd7aa0e8b7761b15527e71179bc2684","impliedFormat":1},{"version":"500ab366288ecf09ec637b0d984d41c6dd3ad8115c83da8ab9e004e3e63aa8bd","impliedFormat":1},{"version":"7429792de33c2c59148b2a26f29b26dda256a8d29e9f7b08d4aa5835f8b5e39f","impliedFormat":1},{"version":"d331cdb16cfded5638a2fcce3edb40452afbc3b486c5f0286af44a1aedb7a345","impliedFormat":1},{"version":"542178afcf014b2eab72333f205fc2ccc41217495bcc4cc1ed6e60ad9f1bd11b","impliedFormat":1},{"version":"d2e09ad5eb8111c3564ee743948b4e5915f5aee3d81c480d425eb5cee026fae6","impliedFormat":1},{"version":"ea3ea9ee8165da7b3432e4a4e94e9a0980d6aaf22bcd2d71204d407f106f2fa0","impliedFormat":1},{"version":"83567a9792c293d0f9d90feb9918e88b454ee8544e3d0ea06f9454477df010d1","impliedFormat":1},{"version":"eb314a7ab84c4f504444b53ec2b2d2557b0a06d79a7ce98e9bd2608cee5f946d","impliedFormat":1},{"version":"179f43f3b09b175b85e326ed59b1a2347b4d12fe7d67a4d88dee831f513119bd","impliedFormat":1},{"version":"b9e644c0e84188695a1d3d6d7d03740d7eaaf4bde5d6d25cbdb11df8347657d7","impliedFormat":1},{"version":"bd217bd008c0e8ec5332b6e905768fbadb3d925991dbf821307effd330e182d8","impliedFormat":1},{"version":"b355f2c3451ebc59d3b2fe47346f6a55da91dbcb9f2ad3b48b6bb5173fe77bb1","impliedFormat":1},{"version":"44263a5f285acc47f07cfa058edd282d7d06b026d85741b436372165337d6d2e","impliedFormat":1},{"version":"270314b700dfa1219abce94c5d46da873bfc958129426645ceff8cf559c2fec3","impliedFormat":1},{"version":"37ff500e6e9fe54a3a7e6f8533d4e65dfbb581625d0127836019ab6c86c64462","impliedFormat":1},{"version":"a9d6d153f6ca6ed0e992f3ecc9d684f16cbc0acaa33ab999aa826e80bb67365c","impliedFormat":1},{"version":"b19ef881994f1e0256e37589fadee9a93997400af999f33e2c3e638a6fcccb02","impliedFormat":1},{"version":"6b761b42779653f857ed9d9504f84a016cdfd16a95d044999a2b71331a18bcfd","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"e06388af85e67651e7bd2d13170e4dd9399ee93858cb1142fadfd99873535624","impliedFormat":1},{"version":"9a8bbbe55d20a047e89677cafc553879afb38d41a100ed7e6bb78e4b71203578","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"997c8a1255d042705607c66044922fcb4cc735b14f56c8915eb099d20da12ba5","signature":"28fd02b23f22a42df03edc496d91b458cbb5c0b39a9933a40f136e465bf6dc1f"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1}],"root":[187],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[187,1],[188,2],[53,3],[54,3],[55,4],[51,5],[56,6],[57,7],[58,8],[49,9],[47,2],[48,2],[59,10],[60,11],[61,12],[62,13],[63,14],[64,15],[65,15],[66,16],[67,17],[68,18],[69,19],[70,20],[52,2],[50,2],[71,21],[72,22],[73,23],[103,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,2],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[213,53],[214,54],[189,55],[192,55],[211,53],[212,53],[202,53],[201,56],[199,53],[194,53],[207,53],[205,53],[209,53],[193,53],[206,53],[210,53],[195,53],[196,53],[208,53],[190,53],[197,53],[198,53],[200,53],[204,53],[215,57],[203,53],[191,53],[228,58],[227,2],[222,57],[224,59],[223,57],[216,57],[217,57],[219,57],[221,57],[225,59],[226,59],[218,59],[220,59],[46,2],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[118,60],[110,61],[115,62],[108,2],[111,63],[109,64],[107,2],[117,65],[113,66],[106,2],[114,67],[112,68],[116,69],[180,70],[181,71],[105,2],[184,72],[174,73],[179,74],[166,73],[143,75],[148,73],[165,73],[155,73],[154,73],[172,73],[157,73],[151,73],[159,73],[169,73],[160,73],[170,73],[153,76],[178,73],[171,73],[167,73],[156,73],[164,73],[150,73],[149,73],[175,73],[152,73],[144,75],[145,77],[162,73],[168,73],[173,73],[146,73],[158,73],[147,73],[163,73],[176,73],[177,73],[161,73],[185,78],[186,79],[142,80],[141,81],[119,82],[129,83],[124,83],[123,84],[140,85],[126,83],[138,83],[133,84],[125,83],[120,83],[137,83],[136,83],[132,83],[134,86],[139,87],[128,84],[127,83],[130,83],[131,84],[121,83],[135,83],[122,84],[182,88],[183,89],[104,2]],"latestChangedDtsFile":"./extension.d.ts","version":"5.8.2"} \ No newline at end of file diff --git a/extension/out/tsconfig.tsbuildinfo b/extension/out/tsconfig.tsbuildinfo index b05e939..bbaae2f 100644 --- a/extension/out/tsconfig.tsbuildinfo +++ b/extension/out/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"root":["../client/src/extension.ts","../server/src/server.ts"],"version":"5.7.3"} \ No newline at end of file +{"root":["../client/src/extension.ts","../server/src/server.ts"],"version":"5.8.2"} \ No newline at end of file diff --git a/extension/server/out/.tsbuildinfo b/extension/server/out/.tsbuildinfo index 11c62bb..2afa413 100644 --- a/extension/server/out/.tsbuildinfo +++ b/extension/server/out/.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/vscode-languageserver/typings/thenable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/common/progress.d.ts","../../node_modules/vscode-languageserver/lib/common/configuration.d.ts","../../node_modules/vscode-languageserver/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageserver/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageserver/lib/common/showdocument.d.ts","../../node_modules/vscode-languageserver/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageserver/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageserver/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageserver/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageserver/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageserver/lib/common/textdocuments.d.ts","../../node_modules/vscode-languageserver/lib/common/notebook.d.ts","../../node_modules/vscode-languageserver/lib/common/moniker.d.ts","../../node_modules/vscode-languageserver/lib/common/server.d.ts","../../node_modules/vscode-languageserver/lib/node/files.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageserver/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/node/main.d.ts","../../node_modules/vscode-languageserver/node.d.ts","../../node_modules/vscode-languageserver-textdocument/lib/umd/main.d.ts","../src/server.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/vscode/index.d.ts"],"fileIdsList":[[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,170,209],[51,56,170,194,209],[51,56,209],[51,56,170],[51,56,170,195,209],[51,56,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],[51,56,195,209],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,160],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,161],[51,56,162],[51,56,142,143,147,155,156,158],[51,56,142,158],[51,56,142,155,158],[51,56,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157],[51,56,142],[46,51,56,103,158,159,163,164],[51,56,165],[51,56,166,167]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"6c39d4dbdb372b364442854e42d8c473e2ec67badb226745af17ed5ac41ce6f5","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"5293d799856f47259146ccf0be9a1cc0a4a5343696182d7206ed25ea67d67920","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"f1f23acd4a8193453749f69d4432f5f122d6d572b793a8b630dd12fe80b0c3d3","impliedFormat":1},{"version":"7662d6994d28c9ebbe61b88cc35c3d705804351eedbf363df30ea9fe8c4961dc","impliedFormat":1},{"version":"1fb68106bddae35448e5279095461a4b54c4bbb42787cd629f70924b17e9a11e","impliedFormat":1},{"version":"46a9b0122b230cb2fab65999ba92f98a16fd8f1c25efaed47141cbf5056f6928","impliedFormat":1},{"version":"5a9a4741aa510bdee406441f77186c6d2005be78e78c2e0da8201d9991950164","impliedFormat":1},{"version":"351bbf43d585484825ee6c4b4805aac137ffc8e8a3b9812af99945a202db7c02","impliedFormat":1},{"version":"3990ae796cc23fb9829eae206eff1eddded9465504467a4433f2509e18ef1aed","impliedFormat":1},{"version":"b557ea3605e52406e35eeea468cb96f25b1ca906f2055f376597f0b02492d94c","impliedFormat":1},{"version":"f384bb303dbc114af6460e7cb30b766cc92eed33fccb331126b08bb63f15a034","impliedFormat":1},{"version":"8a9bd1cf8c1f75435f83595b43737c135e7f73bde39ba4c9339dc6a31e8bb069","impliedFormat":1},{"version":"8274bfd5de49f9f072be2f39c34e390101a8b69844e55eda36c7df23ba6d03e2","impliedFormat":1},{"version":"f8b482dddda55dd6677d7895a3fef8cd9d067f8c36c63cc7fe93b82a6dd4f10c","impliedFormat":1},{"version":"71d11ad1f05b0b90e95591fa85c1c8043e590d67972dcaba9b50435a0c04d8fa","impliedFormat":1},{"version":"c77c8f4aa3f4b849eda044768882bb102edf211b1c26b04a3c6ad921110f2fa4","impliedFormat":1},{"version":"a980ce9470dc95ac355d7efb729f9cfb0564505eba96da4bbde504299efb833a","impliedFormat":1},{"version":"eed44483a64b3c5a643663f8827c868ef3888965c7f3654e816debd03c621da0","impliedFormat":1},{"version":"a58402dc75738c188a741ccca86ccf898b0af98d305ad075c428171f193a6cd5","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d29fa1f984b6d5ec55c37e6f65474ea4acaf9ba92d2b1d502ca824abca86b430","impliedFormat":1},{"version":"abd02654e7ae1f70f68ec509b2c3c1e388c0142d169ba37a157f558709efe2a1","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"96a56b3bbf8346c584c5d58db4fb8adc58982e4e9f2929488ad5aeb89ddc19f8","impliedFormat":1},{"version":"db744053fe42f80b7777c89f39bc6cf351f7796b1c828550a37cdc17cba0e056","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"caaf6bf4dd0a3f88b50670f5786141b209edb54ba17eb6268c2d28919c813606","affectsGlobalScope":true,"impliedFormat":1}],"root":[168],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[169,1],[53,2],[54,2],[55,3],[51,4],[56,5],[57,6],[58,7],[49,8],[47,1],[48,1],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[52,1],[50,1],[71,20],[72,21],[73,22],[103,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,34],[85,35],[87,36],[86,37],[88,38],[89,39],[90,1],[91,40],[92,41],[93,42],[94,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[194,52],[195,53],[170,54],[173,54],[192,52],[193,52],[183,52],[182,55],[180,52],[175,52],[188,52],[186,52],[190,52],[174,52],[187,52],[191,52],[176,52],[177,52],[189,52],[171,52],[178,52],[179,52],[181,52],[185,52],[196,56],[184,52],[172,52],[209,57],[208,1],[203,56],[205,58],[204,56],[197,56],[198,56],[200,56],[202,56],[206,58],[207,58],[199,58],[201,58],[210,1],[44,1],[45,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[118,59],[110,60],[115,61],[108,1],[111,62],[109,63],[107,1],[117,64],[113,65],[106,1],[114,66],[112,67],[116,68],[160,69],[161,70],[105,1],[142,71],[141,72],[119,73],[129,74],[124,74],[123,75],[140,76],[126,74],[138,74],[133,75],[125,74],[120,74],[137,74],[136,74],[132,74],[134,77],[139,78],[128,75],[127,74],[130,74],[131,75],[121,74],[135,74],[122,75],[162,79],[163,80],[167,1],[104,1],[164,81],[146,82],[144,82],[154,82],[149,82],[153,82],[152,82],[150,82],[157,82],[156,83],[143,82],[147,82],[158,84],[148,82],[155,85],[151,82],[145,82],[159,1],[165,86],[166,87],[46,1],[168,88]],"latestChangedDtsFile":"./server.d.ts","version":"5.7.3"} \ No newline at end of file +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/vscode-languageserver/typings/thenable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolder.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typehierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlinevalue.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayhint.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/common/progress.d.ts","../../node_modules/vscode-languageserver/lib/common/configuration.d.ts","../../node_modules/vscode-languageserver/lib/common/workspacefolder.d.ts","../../node_modules/vscode-languageserver/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageserver/lib/common/showdocument.d.ts","../../node_modules/vscode-languageserver/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageserver/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageserver/lib/common/typehierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/inlinevalue.d.ts","../../node_modules/vscode-languageserver/lib/common/inlayhint.d.ts","../../node_modules/vscode-languageserver/lib/common/diagnostic.d.ts","../../node_modules/vscode-languageserver/lib/common/textdocuments.d.ts","../../node_modules/vscode-languageserver/lib/common/notebook.d.ts","../../node_modules/vscode-languageserver/lib/common/moniker.d.ts","../../node_modules/vscode-languageserver/lib/common/server.d.ts","../../node_modules/vscode-languageserver/lib/node/files.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageserver/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/node/main.d.ts","../../node_modules/vscode-languageserver/node.d.ts","../../node_modules/vscode-languageserver-textdocument/lib/umd/main.d.ts","../src/server.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/vscode/index.d.ts"],"fileIdsList":[[51,56],[51,53,56],[51,55,56],[56],[51,56,61,88],[51,56,57,68,69,76,85,96],[51,56,57,58,68,76],[47,48,51,56],[51,56,59,97],[51,56,60,61,69,77],[51,56,61,85,93],[51,56,62,64,68,76],[51,56,63],[51,56,64,65],[51,56,68],[51,56,67,68],[51,55,56,68],[51,56,68,69,70,85,96],[51,56,68,69,70,85],[51,56,68,71,76,85,96],[51,56,68,69,71,72,76,85,93,96],[51,56,71,73,85,93,96],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[51,56,68,74],[51,56,75,96,101],[51,56,64,68,76,85],[51,56,77],[51,56,78],[51,55,56,79],[51,56,80,95,101],[51,56,81],[51,56,82],[51,56,68,83],[51,56,83,84,97,99],[51,56,68,85,86,87],[51,56,85,87],[51,56,85,86],[51,56,88],[51,56,89],[51,56,68,91,92],[51,56,91,92],[51,56,61,76,85,93],[51,56,94],[51,56,76,95],[51,56,71,82,96],[51,56,61,97],[51,56,85,98],[51,56,99],[51,56,100],[51,56,61,68,70,79,85,96,99,101],[51,56,85,102],[51,56,170,209],[51,56,170,194,209],[51,56,209],[51,56,170],[51,56,170,195,209],[51,56,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],[51,56,195,209],[51,56,105,106,107,108,109,110,111,112,113,114,115,116,117],[51,56,108,109],[51,56,106,108,109,110,113,114],[51,56,106,112],[51,56,108],[51,56,112],[51,56,106,109,111,112,118],[51,56,106,109,111,112],[51,56,108,111],[51,56,106,110,115],[51,56,57,76,101,103,118],[51,56,160],[51,56,104,118,119,140,141],[51,56,118,119],[51,56,118],[51,56,104,118,119,140],[51,56,104,118,119],[51,56,104,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[51,56,119,140],[51,56,104,119,140],[51,56,103,142,161],[51,56,162],[51,56,142,143,147,155,156,158],[51,56,142,158],[51,56,142,155,158],[51,56,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157],[51,56,142],[46,51,56,103,158,159,163,164],[51,56,165],[51,56,166,167]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"f0142b712ca22ad863476d9f3ae74e8b2766f3507a6fb5018882074f65ed0195","impliedFormat":1},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0def2c37cadfd7bf074fe9566cb83518f24d67193c79741b2d83ec290b945725","impliedFormat":1},{"version":"049e3511439f11e1285bec4647ab8aac53e0c06951b93ba507565dbde851ba31","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","impliedFormat":1},{"version":"1f8fedf144a967560be9e58fa32de75e4ca379c3549710d027a07be6a9414073","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"a42c8992e2cf55a4a2d661fac251bc803fe119dad49327477d439268e42953d8","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"bc641da6705e45737a6c85bf6c7460e9298e5f5b1021abf035cb760d313cda1a","impliedFormat":1},{"version":"4284412700d89f927c8f5092a8e8c2a20a596349f2819148952b07f2cba9177a","impliedFormat":1},{"version":"4d08d58c94c1462506783c35009ddaeb70e54632310e384aa572ed7667333c8f","impliedFormat":1},{"version":"067f06a3d8abb66e4db6c22e34a076808b4c39418e45690f1abf37bcd4725f1c","impliedFormat":1},{"version":"05f6b2b3bef27dfc0e2464197510d08f275f2464363b441def7f309cbf42f51d","impliedFormat":1},{"version":"15055a0f3fe6c7e9d98bf9de36bdc9102ab324debbe2d4170ffe557115a199fc","impliedFormat":1},{"version":"33e11cee43184a95afe9a450f7dde6bd2b6a03fc9643f898268e8594c266554a","impliedFormat":1},{"version":"c13aaf7191fbccaf0f4e9e520c720b870c6339080eb1699439a392589fc85a96","impliedFormat":1},{"version":"41af0cbfe30738008b3765c30059580972362b70b8dcafd791908923e907c3a6","impliedFormat":1},{"version":"b5d49f459d2efc77cff4ab27d929aa67d0c9121bc20763d84942c7fca2cc7b8f","impliedFormat":1},{"version":"96c0c4b30165eaedb3ade3b4e9f491113a1816c448d67fff542b2793bf565b04","impliedFormat":1},{"version":"29a456c61c3d93e36f5eba4c0ed567d7896a9c08a38b537c3fc192a99d03b348","impliedFormat":1},{"version":"3b67dd4fbeec66a7d2acd2be4f65219d85abd04e6eb9cc96fd862ddf70e02eec","impliedFormat":1},{"version":"0a61f7b50171225629903175e062d3f43225e6eba24eb2e50f88ca05fb441aa6","impliedFormat":1},{"version":"818d9a0841c884447fbd61b934c6743aea1fa6f1c0159ef44ef55b8f02b9120f","impliedFormat":1},{"version":"b5f234cb0cb6ceb839fe2875ada30e62082707eaa7a36bfc4a4df9d287b901c7","impliedFormat":1},{"version":"facdb012edb0931c21556ace5bf7c0194c8389b1248fdbd94d09f793b311517c","impliedFormat":1},{"version":"98528506b6a07d49efdd7a65da416af50bfbfea67fbdca941ba55753e171a3db","impliedFormat":1},{"version":"8370c10834a51543556e92367c7c564723ae83b97199413a8eca6f5d70036cd5","impliedFormat":1},{"version":"8c1036c47d3e04eca9bd5fc5e0cdd219a78e4061a4bb4b55f4a4f0cbc621e66f","impliedFormat":1},{"version":"8db15e1da6050330d9e36bddd03131d5a02d56fac2e919fd8360892616357863","impliedFormat":1},{"version":"44874584b7c30882ea2cb1b9b0df0e198221afee1ee5cc4d04deb4c8a3c6345a","impliedFormat":1},{"version":"09839c769382d4763700d97d6e9ceae5c9ab3c34cf288229d9879b63c7206c60","impliedFormat":1},{"version":"c0c205fec8b10f3ad0e65af65dd20ea7cf633df0964c84305e375ccdc4f5557e","impliedFormat":1},{"version":"37c2423005b2ec6130903de29aec9fcf1680ab1b2336efa0ff828980e92da7e9","impliedFormat":1},{"version":"f1f23acd4a8193453749f69d4432f5f122d6d572b793a8b630dd12fe80b0c3d3","impliedFormat":1},{"version":"7662d6994d28c9ebbe61b88cc35c3d705804351eedbf363df30ea9fe8c4961dc","impliedFormat":1},{"version":"1fb68106bddae35448e5279095461a4b54c4bbb42787cd629f70924b17e9a11e","impliedFormat":1},{"version":"46a9b0122b230cb2fab65999ba92f98a16fd8f1c25efaed47141cbf5056f6928","impliedFormat":1},{"version":"5a9a4741aa510bdee406441f77186c6d2005be78e78c2e0da8201d9991950164","impliedFormat":1},{"version":"351bbf43d585484825ee6c4b4805aac137ffc8e8a3b9812af99945a202db7c02","impliedFormat":1},{"version":"3990ae796cc23fb9829eae206eff1eddded9465504467a4433f2509e18ef1aed","impliedFormat":1},{"version":"b557ea3605e52406e35eeea468cb96f25b1ca906f2055f376597f0b02492d94c","impliedFormat":1},{"version":"f384bb303dbc114af6460e7cb30b766cc92eed33fccb331126b08bb63f15a034","impliedFormat":1},{"version":"8a9bd1cf8c1f75435f83595b43737c135e7f73bde39ba4c9339dc6a31e8bb069","impliedFormat":1},{"version":"8274bfd5de49f9f072be2f39c34e390101a8b69844e55eda36c7df23ba6d03e2","impliedFormat":1},{"version":"f8b482dddda55dd6677d7895a3fef8cd9d067f8c36c63cc7fe93b82a6dd4f10c","impliedFormat":1},{"version":"71d11ad1f05b0b90e95591fa85c1c8043e590d67972dcaba9b50435a0c04d8fa","impliedFormat":1},{"version":"c77c8f4aa3f4b849eda044768882bb102edf211b1c26b04a3c6ad921110f2fa4","impliedFormat":1},{"version":"a980ce9470dc95ac355d7efb729f9cfb0564505eba96da4bbde504299efb833a","impliedFormat":1},{"version":"eed44483a64b3c5a643663f8827c868ef3888965c7f3654e816debd03c621da0","impliedFormat":1},{"version":"a58402dc75738c188a741ccca86ccf898b0af98d305ad075c428171f193a6cd5","impliedFormat":1},{"version":"67d37ef881a81aefe3a0f70f78e3835be950f2359487d3eb61b0a3bb9af172bc","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"d29fa1f984b6d5ec55c37e6f65474ea4acaf9ba92d2b1d502ca824abca86b430","impliedFormat":1},{"version":"abd02654e7ae1f70f68ec509b2c3c1e388c0142d169ba37a157f558709efe2a1","impliedFormat":1},{"version":"9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","impliedFormat":1},{"version":"96a56b3bbf8346c584c5d58db4fb8adc58982e4e9f2929488ad5aeb89ddc19f8","impliedFormat":1},{"version":"1713061564333834e61dc7607b418038e7bc722f28b2f1fd6d749a00cc25d880","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1},{"version":"7b3098756b32d6029cd9889b087a32e890298bd7953d05b72b02f6a3ad4f318a","affectsGlobalScope":true,"impliedFormat":1}],"root":[168],"options":{"composite":true,"module":1,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[169,1],[53,2],[54,2],[55,3],[51,4],[56,5],[57,6],[58,7],[49,8],[47,1],[48,1],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[65,14],[66,15],[67,16],[68,17],[69,18],[70,19],[52,1],[50,1],[71,20],[72,21],[73,22],[103,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,34],[85,35],[87,36],[86,37],[88,38],[89,39],[90,1],[91,40],[92,41],[93,42],[94,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[194,52],[195,53],[170,54],[173,54],[192,52],[193,52],[183,52],[182,55],[180,52],[175,52],[188,52],[186,52],[190,52],[174,52],[187,52],[191,52],[176,52],[177,52],[189,52],[171,52],[178,52],[179,52],[181,52],[185,52],[196,56],[184,52],[172,52],[209,57],[208,1],[203,56],[205,58],[204,56],[197,56],[198,56],[200,56],[202,56],[206,58],[207,58],[199,58],[201,58],[210,1],[44,1],[45,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[118,59],[110,60],[115,61],[108,1],[111,62],[109,63],[107,1],[117,64],[113,65],[106,1],[114,66],[112,67],[116,68],[160,69],[161,70],[105,1],[142,71],[141,72],[119,73],[129,74],[124,74],[123,75],[140,76],[126,74],[138,74],[133,75],[125,74],[120,74],[137,74],[136,74],[132,74],[134,77],[139,78],[128,75],[127,74],[130,74],[131,75],[121,74],[135,74],[122,75],[162,79],[163,80],[167,1],[104,1],[164,81],[146,82],[144,82],[154,82],[149,82],[153,82],[152,82],[150,82],[157,82],[156,83],[143,82],[147,82],[158,84],[148,82],[155,85],[151,82],[145,82],[159,1],[165,86],[166,87],[46,1],[168,88]],"latestChangedDtsFile":"./server.d.ts","version":"5.8.2"} \ No newline at end of file diff --git a/extension/server/out/server.js b/extension/server/out/server.js index 527af30..cd7a4d2 100644 --- a/extension/server/out/server.js +++ b/extension/server/out/server.js @@ -38,6 +38,10 @@ const elements = [ 'card', 'badge', 'alert', 'tooltip', 'input', 'textarea', 'select', 'checkbox', 'radio', 'switch', 'list', 'table', 'progress', 'slider' ]; +// Script blocks +const scriptBlocks = [ + 'client', 'server' +]; // Single instance elements const singleElements = ['page', 'navbar']; // Blueprint properties @@ -52,6 +56,8 @@ const properties = [ ]; // Page configuration properties const pageProperties = ['title', 'description', 'keywords', 'author']; +// ID attribute suggestion - using underscore format +const idAttributeTemplate = 'id:$1_$2'; // Container elements that can have children const containerElements = [ 'horizontal', 'vertical', 'section', 'grid', 'navbar', @@ -85,6 +91,18 @@ connection.onCompletion((textDocumentPosition) => { const position = textDocumentPosition.position; const line = lines[position.line]; const linePrefix = line.slice(0, position.character); + // Suggest script blocks after @ symbol + if (linePrefix.trim().endsWith('@')) { + return scriptBlocks.map(block => ({ + label: `@${block}`, + kind: node_1.CompletionItemKind.Snippet, + insertText: `@${block} {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: block === 'client' ? + 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' : + 'Create a server-side JavaScript block that runs on the server.' + })); + } // Check if this is a template completion trigger if (linePrefix.trim() === '!') { return [{ @@ -114,13 +132,22 @@ connection.onCompletion((textDocumentPosition) => { documentation: `Add ${prop} to the page configuration` })); } - // After an opening parenthesis, suggest properties + // After an opening parenthesis, suggest properties including ID with underscore format if (linePrefix.trim().endsWith('(')) { - return properties.map(prop => ({ - label: prop, - kind: node_1.CompletionItemKind.Property, - documentation: `Apply ${prop} property` - })); + return [ + ...properties.map(prop => ({ + label: prop, + kind: node_1.CompletionItemKind.Property, + documentation: `Apply ${prop} property` + })), + { + label: 'id', + kind: node_1.CompletionItemKind.Property, + insertText: idAttributeTemplate, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Add an ID to the element (use underscores instead of hyphens for JavaScript compatibility)' + } + ]; } // After a container element's opening brace, suggest child elements const containerMatch = /\b(horizontal|vertical|section|grid|navbar|links|card)\s*{\s*$/.exec(linePrefix); @@ -139,6 +166,25 @@ connection.onCompletion((textDocumentPosition) => { suggestedElements = ['title', 'text', 'button', 'image']; break; } + // Include client/server block suggestions for interactive elements + if (['button', 'button-light', 'button-secondary', 'button-compact'].includes(parentElement)) { + return [ + ...suggestedElements.map(element => ({ + label: element, + kind: node_1.CompletionItemKind.Class, + insertText: `${element} {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: `Create a ${element} block inside ${parentElement}` + })), + { + label: '@client', + kind: node_1.CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + } + ]; + } return suggestedElements.map(element => ({ label: element, kind: node_1.CompletionItemKind.Class, @@ -147,6 +193,26 @@ connection.onCompletion((textDocumentPosition) => { documentation: `Create a ${element} block inside ${parentElement}` })); } + // Inside interactive elements, suggest @client blocks + const interactiveElementMatch = /\b(button|button-light|button-secondary|button-compact|input|textarea|select|checkbox|radio|switch)\s*(?:\([^)]*\))?\s*{\s*$/.exec(linePrefix); + if (interactiveElementMatch) { + return [ + { + label: '@client', + kind: node_1.CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + }, + { + label: 'text', + kind: node_1.CompletionItemKind.Class, + insertText: `"$1"`, + insertTextFormat: node_1.InsertTextFormat.Snippet, + documentation: 'Add text content to the element' + } + ]; + } // Get available single instance elements const availableSingleElements = singleElements.filter(element => !elementExists(text, element)); // Combine regular elements with available single instance elements diff --git a/extension/server/out/server.js.map b/extension/server/out/server.js.map index 383896b..ab29847 100644 --- a/extension/server/out/server.js.map +++ b/extension/server/out/server.js.map @@ -1 +1 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/extension/server/src/server.ts b/extension/server/src/server.ts index 2eb0f5f..4e19180 100644 --- a/extension/server/src/server.ts +++ b/extension/server/src/server.ts @@ -58,6 +58,11 @@ const elements = [ 'checkbox', 'radio', 'switch', 'list', 'table', 'progress', 'slider' ]; +// Script blocks +const scriptBlocks = [ + 'client', 'server' +]; + // Single instance elements const singleElements = ['page', 'navbar']; @@ -75,6 +80,9 @@ const properties = [ // Page configuration properties const pageProperties = ['title', 'description', 'keywords', 'author']; +// ID attribute suggestion - using underscore format +const idAttributeTemplate = 'id:$1_$2'; + // Container elements that can have children const containerElements = [ 'horizontal', 'vertical', 'section', 'grid', 'navbar', @@ -114,6 +122,19 @@ connection.onCompletion( const line = lines[position.line]; const linePrefix = line.slice(0, position.character); + // Suggest script blocks after @ symbol + if (linePrefix.trim().endsWith('@')) { + return scriptBlocks.map(block => ({ + label: `@${block}`, + kind: CompletionItemKind.Snippet, + insertText: `@${block} {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: block === 'client' ? + 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' : + 'Create a server-side JavaScript block that runs on the server.' + })); + } + // Check if this is a template completion trigger if (linePrefix.trim() === '!') { return [{ @@ -145,13 +166,22 @@ connection.onCompletion( })); } - // After an opening parenthesis, suggest properties + // After an opening parenthesis, suggest properties including ID with underscore format if (linePrefix.trim().endsWith('(')) { - return properties.map(prop => ({ - label: prop, - kind: CompletionItemKind.Property, - documentation: `Apply ${prop} property` - })); + return [ + ...properties.map(prop => ({ + label: prop, + kind: CompletionItemKind.Property, + documentation: `Apply ${prop} property` + })), + { + label: 'id', + kind: CompletionItemKind.Property, + insertText: idAttributeTemplate, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Add an ID to the element (use underscores instead of hyphens for JavaScript compatibility)' + } + ]; } // After a container element's opening brace, suggest child elements @@ -173,6 +203,26 @@ connection.onCompletion( break; } + // Include client/server block suggestions for interactive elements + if (['button', 'button-light', 'button-secondary', 'button-compact'].includes(parentElement)) { + return [ + ...suggestedElements.map(element => ({ + label: element, + kind: CompletionItemKind.Class, + insertText: `${element} {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: `Create a ${element} block inside ${parentElement}` + })), + { + label: '@client', + kind: CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + } + ]; + } + return suggestedElements.map(element => ({ label: element, kind: CompletionItemKind.Class, @@ -181,6 +231,27 @@ connection.onCompletion( documentation: `Create a ${element} block inside ${parentElement}` })); } + + // Inside interactive elements, suggest @client blocks + const interactiveElementMatch = /\b(button|button-light|button-secondary|button-compact|input|textarea|select|checkbox|radio|switch)\s*(?:\([^)]*\))?\s*{\s*$/.exec(linePrefix); + if (interactiveElementMatch) { + return [ + { + label: '@client', + kind: CompletionItemKind.Snippet, + insertText: `@client {\n $1\n}`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Create a client-side JavaScript block that runs when the element is clicked. The "e" event object is available.' + }, + { + label: 'text', + kind: CompletionItemKind.Class, + insertText: `"$1"`, + insertTextFormat: InsertTextFormat.Snippet, + documentation: 'Add text content to the element' + } + ]; + } // Get available single instance elements const availableSingleElements = singleElements.filter(element => !elementExists(text, element)); diff --git a/extension/syntaxes/blueprint.tmLanguage.json b/extension/syntaxes/blueprint.tmLanguage.json index 4071964..3668950 100644 --- a/extension/syntaxes/blueprint.tmLanguage.json +++ b/extension/syntaxes/blueprint.tmLanguage.json @@ -18,6 +18,9 @@ { "include": "#strings" }, + { + "include": "#script-blocks" + }, { "include": "#punctuation" } @@ -64,6 +67,24 @@ } ] }, + "script-blocks": { + "patterns": [ + { + "begin": "@(client|server)\\s*\\{", + "end": "\\}", + "beginCaptures": { + "0": { "name": "keyword.control.blueprint" }, + "1": { "name": "entity.name.function.blueprint" } + }, + "contentName": "source.js.embedded.blueprint", + "patterns": [ + { + "include": "source.js" + } + ] + } + ] + }, "properties": { "patterns": [ { @@ -71,7 +92,7 @@ "name": "support.type.property-name.blueprint" }, { - "match": "(? { + app.get("/", async (req, res) => { + try { + const data = req.body; + + // input valiation + + // business logic + + // output validation + + // output + const response = { + + }; + + res.json({ response }); + } catch (error) { + console.log('Error:', error); + res.status(500).json({ error: 'Internal server error' }); + } + }); +} \ No newline at end of file diff --git a/lib/ASTBuilder.js b/lib/ASTBuilder.js index 1893540..92be55c 100644 --- a/lib/ASTBuilder.js +++ b/lib/ASTBuilder.js @@ -129,6 +129,41 @@ class ASTBuilder { ); } + if (token.type === "client" || token.type === "server") { + if (this.options.debug) { + console.log( + `\n[ASTBuilder] Processing ${token.type} block at line ${token.line}, column ${token.column}` + ); + } + + const node = { + type: token.type, + script: token.value, + line: token.line, + column: token.column, + }; + + if (token.type === "server" && token.params) { + node.params = token.params; + if (this.options.debug) { + console.log( + `[ASTBuilder] Server block parameters: ${node.params.join(", ")}` + ); + } + } + + if (this.options.debug) { + console.log(`[ASTBuilder] Created node for ${token.type} block`); + console.log( + "[ASTBuilder] Script content (first 50 chars):", + node.script.substring(0, 50) + (node.script.length > 50 ? "..." : "") + ); + } + + current++; + return node; + } + if (token.type === "identifier") { if (this.options.debug) { console.log( diff --git a/lib/BlueprintBuilder.js b/lib/BlueprintBuilder.js index 71f1139..931a0e7 100644 --- a/lib/BlueprintBuilder.js +++ b/lib/BlueprintBuilder.js @@ -46,6 +46,20 @@ class BlueprintBuilder { if (result.success) { this.fileHandler.writeCompiledFiles(outputDir, baseName, result.html, result.css); + if (result.hasServerCode && result.serverCode) { + const serverDir = path.join(outputDir, 'server'); + if (!fs.existsSync(serverDir)) { + fs.mkdirSync(serverDir, { recursive: true }); + } + + const serverFilePath = path.join(serverDir, `${baseName}-server.js`); + fs.writeFileSync(serverFilePath, result.serverCode, 'utf8'); + + if (this.options.debug) { + console.log(`[DEBUG] Server code written to ${serverFilePath}`); + } + } + if (this.options.debug) { console.log("[DEBUG] Build completed successfully"); } @@ -54,6 +68,7 @@ class BlueprintBuilder { return { success: result.success, errors: result.errors, + hasServerCode: result.hasServerCode }; } catch (error) { if (this.options.debug) { @@ -61,6 +76,7 @@ class BlueprintBuilder { } return { success: false, + hasServerCode: false, errors: [ { message: error.message, diff --git a/lib/BlueprintCompiler.js b/lib/BlueprintCompiler.js index c875b2b..a63684e 100644 --- a/lib/BlueprintCompiler.js +++ b/lib/BlueprintCompiler.js @@ -51,18 +51,25 @@ class BlueprintCompiler { const html = this.htmlGenerator.generateHTML(ast); const css = this.cssGenerator.generateCSS(); + const hasServerCode = this.htmlGenerator.hasServerCode(); + const serverCode = hasServerCode ? this.htmlGenerator.generateServerCode() : ''; const headContent = this.metadataManager.generateHeadContent(baseName); const finalHtml = this.htmlGenerator.generateFinalHtml(headContent, html); if (this.options.debug) { console.log("[DEBUG] Compilation completed successfully"); + if (hasServerCode) { + console.log("[DEBUG] Server code generated"); + } } return { success: true, html: finalHtml, css: css, + hasServerCode: hasServerCode, + serverCode: serverCode, errors: [], }; } catch (error) { @@ -73,6 +80,8 @@ class BlueprintCompiler { success: false, html: null, css: null, + hasServerCode: false, + serverCode: null, errors: [ { message: error.message, diff --git a/lib/HTMLGenerator.js b/lib/HTMLGenerator.js index 9dc8bdd..04d51af 100644 --- a/lib/HTMLGenerator.js +++ b/lib/HTMLGenerator.js @@ -6,6 +6,8 @@ const StandardElementGenerator = require("./generators/StandardElementGenerator" const RootNodeGenerator = require("./generators/RootNodeGenerator"); const InputElementGenerator = require("./generators/InputElementGenerator"); const MediaElementGenerator = require("./generators/MediaElementGenerator"); +const JavaScriptGenerator = require("./generators/JavaScriptGenerator"); +const ServerCodeGenerator = require("./generators/ServerCodeGenerator"); const HTMLTemplate = require("./templates/HTMLTemplate"); const StringUtils = require("./utils/StringUtils"); @@ -21,6 +23,9 @@ class HTMLGenerator { this.options = options; this.cssGenerator = cssGenerator; this.htmlTemplate = new HTMLTemplate(options); + this.serverGenerator = new ServerCodeGenerator(options); + this.jsGenerator = new JavaScriptGenerator(options, this.serverGenerator); + this.currentElement = null; this.generators = [ @@ -86,6 +91,10 @@ class HTMLGenerator { console.log("[HTMLGenerator] Node details:", StringUtils.safeStringify(node)); } + // Handle client and server blocks + if (node.type === "client" || node.type === "server") { + return this.handleScriptBlock(node); + } if (node.type === "element" && node.tag === "page") { if (this.options.debug) { @@ -94,20 +103,120 @@ class HTMLGenerator { return ""; } + const prevElement = this.currentElement; + this.currentElement = node; + // Check if this element has an explicit ID in its props + if (node.type === "element") { + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + node.elementId = idValue; + + // Register this element as reactive + this.jsGenerator.registerReactiveElement(idValue); + + if (this.options.debug) { + console.log(`[HTMLGenerator] Found explicit ID: ${idValue}, registered as reactive`); + } + } + } + + let result = ""; for (const generator of this.generators) { if (generator.canHandle(node)) { if (this.options.debug) { console.log(`[HTMLGenerator] Using ${generator.constructor.name} for node`); } - return generator.generate(node); + + // If this is an element that might have event handlers, + // add a unique ID to it for client scripts if it doesn't already have one + if (node.type === "element" && node.children.some(child => child.type === "client")) { + // Generate a unique ID for this element if it doesn't already have one + if (!node.elementId) { + node.elementId = this.jsGenerator.generateElementId(); + if (this.options.debug) { + console.log(`[HTMLGenerator] Generated ID for element: ${node.elementId}`); + } + } + + result = generator.generate(node); + + // Process all client blocks inside this element + node.children + .filter(child => child.type === "client") + .forEach(clientBlock => { + this.handleScriptBlock(clientBlock, node.elementId); + }); + } else { + result = generator.generate(node); + } + + this.currentElement = prevElement; + return result; } } - if (this.options.debug) { console.log(`[HTMLGenerator] No generator found for node type: ${node.type}`); } + + this.currentElement = prevElement; + return ""; + } + + /** + * Handles client and server script blocks. + * @param {Object} node - The script node to handle + * @param {string} [elementId] - The ID of the parent element, if any + * @returns {string} - Empty string as script blocks don't directly generate HTML + */ + handleScriptBlock(node, elementId = null) { + if (this.options.debug) { + console.log(`\n[HTMLGenerator] Processing ${node.type} script block`); + console.log(`[HTMLGenerator] Script content (first 50 chars): "${node.script.substring(0, 50)}..."`); + if (elementId) { + console.log(`[HTMLGenerator] Attaching to element: ${elementId}`); + } + } + + if (node.type === "client") { + if (!elementId && this.currentElement) { + if (!this.currentElement.elementId) { + this.currentElement.elementId = this.jsGenerator.generateElementId(); + } + elementId = this.currentElement.elementId; + } + + if (elementId) { + this.jsGenerator.addClientScript(elementId, node.script); + } else { + if (this.options.debug) { + console.log(`[HTMLGenerator] Warning: Client script with no parent element`); + } + } + } else if (node.type === "server") { + if (!elementId && this.currentElement) { + if (!this.currentElement.elementId) { + this.currentElement.elementId = this.jsGenerator.generateElementId(); + } + elementId = this.currentElement.elementId; + } + + if (elementId) { + const params = node.params || []; + if (this.options.debug && params.length > 0) { + console.log(`[HTMLGenerator] Server block parameters: ${params.join(", ")}`); + } + + this.jsGenerator.addServerScript(elementId, node.script, params); + } else { + if (this.options.debug) { + console.log(`[HTMLGenerator] Warning: Server script with no parent element`); + } + } + } + return ""; } @@ -177,7 +286,28 @@ class HTMLGenerator { * @returns {string} - A complete HTML document containing the provided head and body content. */ generateFinalHtml(headContent, bodyContent) { - return this.htmlTemplate.generateDocument(headContent, bodyContent); + const clientScripts = this.jsGenerator.generateClientScripts(); + + return this.htmlTemplate.generateDocument( + headContent, + bodyContent + clientScripts + ); + } + + /** + * Generates server-side code for Express.js API routes. + * @returns {string} - Express.js server code + */ + generateServerCode() { + return this.serverGenerator.generateServerCode(); + } + + /** + * Checks if there is any server code to generate. + * @returns {boolean} - Whether there is server code + */ + hasServerCode() { + return this.serverGenerator.hasServerCodeToGenerate(); } } diff --git a/lib/StandardElementGenerator.js b/lib/StandardElementGenerator.js new file mode 100644 index 0000000..ad9499e --- /dev/null +++ b/lib/StandardElementGenerator.js @@ -0,0 +1,179 @@ +/** + * Generates HTML for standard HTML elements. + */ +class StandardElementGenerator { + /** + * Creates a new StandardElementGenerator instance. + * @param {Object} options - Generator options + * @param {CSSGenerator} cssGenerator - CSS generator instance + * @param {HTMLGenerator} htmlGenerator - HTML generator instance + */ + constructor(options = {}, cssGenerator, htmlGenerator) { + this.options = options; + this.cssGenerator = cssGenerator; + this.htmlGenerator = htmlGenerator; + this.parentGenerator = htmlGenerator; + } + + /** + * Determines whether this generator can handle a given node. + * @param {Object} node - Node to check + * @returns {boolean} - True if this generator can handle the node + */ + canHandle(node) { + return node.type === "element"; + } + + /** + * Generates HTML for a standard element. + * @param {Object} node - Node to generate HTML for + * @returns {string} - Generated HTML + */ + generate(node) { + if (this.options.debug) { + console.log(`[StandardElementGenerator] Processing element node: ${node.tag || node.name}`); + } + + const mapping = ELEMENT_MAPPINGS ? ELEMENT_MAPPINGS[node.tag] : null; + + const tagName = mapping ? mapping.tag : (node.name || node.tag || "div"); + + let className = ""; + if (this.cssGenerator) { + className = this.cssGenerator.generateClassName(node.tag); + const { cssProps, nestedRules } = this.cssGenerator.nodeToCSSProperties(node); + this.cssGenerator.cssRules.set(`.${className}`, { + cssProps, + nestedRules, + }); + } + + const fullClassName = this.generateClassName(node); + if (className && fullClassName) { + className = `${className} ${fullClassName}`; + } else if (fullClassName) { + className = fullClassName; + } + + const attributes = this.generateAttributes(node, node.elementId, className); + + let content = ""; + const children = node.children || []; + + for (const child of children) { + if ( + child.type === "client" || + child.type === "server" || + (child.type === "element" && (child.name === "script" || child.tag === "script")) + ) { + continue; + } + child.parent = node; + content += this.htmlGenerator.generateHTML(child); + if (!this.options.minified) { + content += "\n"; + } + } + + return `<${tagName}${attributes}>${this.options.minified ? "" : "\n"}${content}${this.options.minified ? "" : ""}${this.options.minified ? "" : "\n"}`; + } + + /** + * Generates a className string for the element. + * @param {Object} node - The node to generate class for + * @returns {string} - The generated class name + */ + generateClassName(node) { + let classNames = []; + + if (node.attributes && Array.isArray(node.attributes)) { + const classAttr = node.attributes.find(attr => attr.name === "class"); + if (classAttr && classAttr.value) { + classNames.push(classAttr.value); + } + } + + if (node.props && Array.isArray(node.props)) { + for (const prop of node.props) { + if (typeof prop === "string") { + if (prop.startsWith("class:")) { + classNames.push(prop.substring(prop.indexOf(":") + 1).trim().replace(/^"|"$/g, "")); + } + } + } + } + + return classNames.join(" "); + } + + /** + * Generates an attributes string for the element. + * @param {Object} node - The node to generate attributes for + * @param {string} id - The element ID + * @param {string} className - The element class name + * @returns {string} - The generated attributes string + */ + generateAttributes(node, id, className) { + let attributes = ""; + + if (id) { + attributes += ` id="${id}"`; + } else if (node.props && Array.isArray(node.props)) { + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + } + } + + if (className) { + attributes += ` class="${className}"`; + } + + if (node.props && Array.isArray(node.props)) { + const dataProps = node.props.filter(p => typeof p === "string" && p.startsWith("data-")); + if (dataProps.length) { + attributes += " " + dataProps.join(" "); + } + } + + if (node.attributes && Array.isArray(node.attributes)) { + for (const attr of node.attributes) { + if (attr.name === "id" || attr.name === "class") continue; + + if (attr.value === true) { + attributes += ` ${attr.name}`; + } else if (attr.value !== false && attr.value !== undefined && attr.value !== null) { + attributes += ` ${attr.name}="${attr.value}"`; + } + } + } + + if (node.props && Array.isArray(node.props)) { + for (const prop of node.props) { + if (typeof prop === "string") { + if (prop.startsWith("id:") || prop.startsWith("class:") || prop.startsWith("data-")) continue; + + const colonIndex = prop.indexOf(":"); + if (colonIndex !== -1) { + const name = prop.substring(0, colonIndex).trim(); + const value = prop.substring(colonIndex + 1).trim().replace(/^"|"$/g, ""); + + if (!attributes.includes(` ${name}="`)) { + attributes += ` ${name}="${value}"`; + } + } else { + if (!attributes.includes(` ${prop}`)) { + attributes += ` ${prop}`; + } + } + } + } + } + + return attributes; + } +} + +module.exports = StandardElementGenerator; \ No newline at end of file diff --git a/lib/TokenParser.js b/lib/TokenParser.js index 62f6776..e6a1db9 100644 --- a/lib/TokenParser.js +++ b/lib/TokenParser.js @@ -102,6 +102,142 @@ class TokenParser { continue; } + if (char === "@") { + const startPos = current; + const startColumn = column; + const startLine = line; + current++; + column++; + + let blockType = ""; + char = input[current]; + + while (current < input.length && /[a-zA-Z]/.test(char)) { + blockType += char; + current++; + column++; + char = input[current]; + } + + if (blockType === "client" || blockType === "server") { + if (this.options.debug) { + console.log(`[TokenParser] ${blockType} block found at line ${startLine}, column ${startColumn}`); + } + + while (current < input.length && /\s/.test(char)) { + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + char = input[current]; + } + + let params = []; + if (blockType === "server" && char === "(") { + current++; + column++; + let paramString = ""; + let depth = 1; + + while (current < input.length && depth > 0) { + char = input[current]; + + if (char === "(") depth++; + if (char === ")") depth--; + + if (depth === 0) break; + + paramString += char; + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + } + + current++; + column++; + + params = paramString.split(",").map(p => p.trim()).filter(p => p); + + if (this.options.debug) { + console.log(`[TokenParser] Server block parameters: ${params.join(", ")}`); + } + + char = input[current]; + while (current < input.length && /\s/.test(char)) { + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + char = input[current]; + } + } + + if (char === "{") { + current++; + column++; + let script = ""; + let braceCount = 1; + + while (current < input.length && braceCount > 0) { + char = input[current]; + + if (char === "{") braceCount++; + if (char === "}") braceCount--; + + if (braceCount === 0) break; + + script += char; + if (char === "\n") { + line++; + column = 1; + } else { + column++; + } + current++; + } + + current++; + column++; + + tokens.push({ + type: blockType, + value: script.trim(), + params: params, + line: startLine, + column: startColumn, + }); + + if (this.options.debug) { + console.log(`[TokenParser] ${blockType} block script: "${script.trim().substring(0, 50)}..."`); + } + + continue; + } else { + throw new BlueprintError( + `Expected opening brace after @${blockType}${params.length ? '(...)' : ''}`, + line, + column + ); + } + } else { + throw new BlueprintError( + `Unknown block type: @${blockType}`, + startLine, + startColumn + ); + } + } + if (/[a-zA-Z]/.test(char)) { let value = ""; const startColumn = column; diff --git a/lib/generators/ButtonElementGenerator.js b/lib/generators/ButtonElementGenerator.js index 2312585..ea51c49 100644 --- a/lib/generators/ButtonElementGenerator.js +++ b/lib/generators/ButtonElementGenerator.js @@ -49,6 +49,22 @@ class ButtonElementGenerator { let attributes = ""; + const idProp = node.props.find((p) => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + if (this.options.debug) { + console.log(`[ButtonElementGenerator] Added explicit ID attribute: ${idValue}`); + } + } + else if (node.elementId) { + attributes += ` id="${node.elementId}"`; + if (this.options.debug) { + console.log(`[ButtonElementGenerator] Adding generated ID attribute: ${node.elementId}`); + } + } + if (node.parent?.tag === "link") { const linkInfo = this.linkProcessor.processLink(node.parent); attributes += this.linkProcessor.getButtonClickHandler(linkInfo); diff --git a/lib/generators/InputElementGenerator.js b/lib/generators/InputElementGenerator.js index 70a9cb4..639155c 100644 --- a/lib/generators/InputElementGenerator.js +++ b/lib/generators/InputElementGenerator.js @@ -55,6 +55,23 @@ class InputElementGenerator { attributes = ' type="range"'; } + // Extract and handle ID attribute + let idAttr = ""; + const idProp = node.props.find(p => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + idAttr = ` id="${idValue}"`; + node.elementId = idValue; + + // Register as reactive element with the parent generator + if (this.parentGenerator && this.parentGenerator.jsGenerator) { + this.parentGenerator.jsGenerator.registerReactiveElement(idValue); + if (this.options.debug) { + console.log(`[InputElementGenerator] Registered checkbox with ID: ${idValue} as reactive`); + } + } + } + const valueProp = node.props.find((p) => p.startsWith("value:")); if (valueProp) { const value = valueProp.substring(valueProp.indexOf(":") + 1).trim(); @@ -70,7 +87,7 @@ class InputElementGenerator { if (node.children.length > 0) { let html = ``; return html; } else { - return ``; + return ``; } } } diff --git a/lib/generators/JavaScriptGenerator.js b/lib/generators/JavaScriptGenerator.js new file mode 100644 index 0000000..cc16c45 --- /dev/null +++ b/lib/generators/JavaScriptGenerator.js @@ -0,0 +1,239 @@ +const StringUtils = require("../utils/StringUtils"); + +/** + * Generates JavaScript code for client and server blocks with reactive data handling. + */ +class JavaScriptGenerator { + /** + * Creates a new JavaScript generator. + * @param {Object} options - Options for the generator + * @param {ServerCodeGenerator} [serverGenerator] - Server code generator instance + */ + constructor(options = {}, serverGenerator = null) { + this.options = options; + this.clientScripts = new Map(); + this.serverScripts = []; + this.reactiveElements = new Set(); + this.serverGenerator = serverGenerator; + } + + /** + * Sets the server code generator instance + * @param {ServerCodeGenerator} serverGenerator - Server code generator instance + */ + setServerGenerator(serverGenerator) { + this.serverGenerator = serverGenerator; + } + + /** + * Registers a client-side script to be executed when an element is clicked. + * @param {string} elementId - The ID of the element to attach the event to + * @param {string} code - The JavaScript code to execute + */ + addClientScript(elementId, code) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Adding client script for element ${elementId}`); + } + this.clientScripts.set(elementId, code); + } + + /** + * Adds a server-side script to be executed on the server. + * @param {string} elementId - The ID of the element that triggers the server action + * @param {string} code - The JavaScript code to execute + * @param {Array} params - The input parameters to retrieve from the client + */ + addServerScript(elementId, code, params = []) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Adding server script for element ${elementId}`); + if (params.length > 0) { + console.log(`[JavaScriptGenerator] Script parameters: ${params.join(", ")}`); + } + } + + this.serverScripts.push({ + elementId, + code, + params + }); + + if (this.serverGenerator) { + this.serverGenerator.addServerRoute(elementId, code, params); + } + + this.clientScripts.set(elementId, `_bp_serverAction_${elementId}(e);`); + } + + /** + * Registers an element as reactive, meaning it will have state management functions + * @param {string} elementId - The ID of the element to make reactive + */ + registerReactiveElement(elementId) { + if (this.options.debug) { + console.log(`[JavaScriptGenerator] Registering reactive element: ${elementId}`); + } + this.reactiveElements.add(elementId); + } + + /** + * Generates a unique element ID. + * @returns {string} - A unique element ID with bp_ prefix + */ + generateElementId() { + return StringUtils.generateRandomId(); + } + + /** + * Generates the reactive store and helper functions for state management + * @returns {string} - JavaScript code for reactive functionality + */ + generateReactiveStore() { + if (this.reactiveElements.size === 0) { + return ''; + } + + return ` +const _bp_store = { + listeners: new Map(), + subscribe: function(id, callback) { + if (!this.listeners.has(id)) { + this.listeners.set(id, []); + } + this.listeners.get(id).push(callback); + }, + notify: function(id, newValue) { + if (this.listeners.has(id)) { + this.listeners.get(id).forEach(callback => callback(newValue)); + } + } +}; + +function _bp_makeElementReactive(id) { + const element = document.getElementById(id); + if (!element) { + console.log(\`[Blueprint] Element with ID \${id} not found\`); + return null; + } + + return { + element: element, + get value() { + return element.textContent; + }, + set: function(newValue) { + const valueString = String(newValue); + element.textContent = valueString; + _bp_store.notify(id, valueString); + return this; + }, + setNumber: function(num) { + const valueString = String(Number(num)); + element.textContent = valueString; + _bp_store.notify(id, valueString); + return this; + }, + setHtml: function(html) { + element.innerHTML = html; + _bp_store.notify(id, html); + return this; + }, + setStyle: function(property, value) { + element.style[property] = value; + return this; + }, + setClass: function(className, add = true) { + if (add) { + element.classList.add(className); + } else { + element.classList.remove(className); + } + return this; + }, + on: function(event, callback) { + element.addEventListener(event, callback); + return this; + }, + subscribe: function(callback) { + _bp_store.subscribe(id, callback); + return this; + }, + get textValue() { + return element.textContent; + }, + get numberValue() { + return Number(element.textContent); + }, + get booleanValue() { + const text = element.textContent.toLowerCase(); + return text === 'true' || text === '1' || text === 'yes'; + } + }; +} + +// Initialize reactive elements`; + } + + /** + * Generates initialization code for reactive elements + * @returns {string} - JavaScript initialization code for reactive elements + */ + generateReactiveElementInit() { + if (this.reactiveElements.size === 0) { + return ''; + } + + const initCode = Array.from(this.reactiveElements) + .map(id => `const ${id} = _bp_makeElementReactive('${id}');`) + .join('\n '); + + return ` + ${initCode}`; + } + + /** + * Generates all client-side JavaScript code. + * @returns {string} - The generated JavaScript code + */ + generateClientScripts() { + if (this.clientScripts.size === 0 && this.reactiveElements.size === 0 && !this.serverGenerator) { + return ''; + } + + let initCode = ''; + if (this.reactiveElements.size > 0) { + initCode = this.generateReactiveElementInit(); + } + + let scripts = ''; + this.clientScripts.forEach((code, elementId) => { + scripts += ` document.getElementById('${elementId}').addEventListener('click', function(e) { + ${code} + });\n`; + }); + + let serverClientCode = ''; + if (this.serverGenerator) { + serverClientCode = this.serverGenerator.generateClientAPICalls(); + } + + return ``; + } + + /** + * Gets all server-side scripts. + * @returns {Array} - Array of server-side script objects + */ + getServerScripts() { + return this.serverScripts; + } +} + +module.exports = JavaScriptGenerator; \ No newline at end of file diff --git a/lib/generators/ServerCodeGenerator.js b/lib/generators/ServerCodeGenerator.js new file mode 100644 index 0000000..c10a6f6 --- /dev/null +++ b/lib/generators/ServerCodeGenerator.js @@ -0,0 +1,236 @@ +const crypto = require('crypto'); +const StringUtils = require("../utils/StringUtils"); + +/** + * Generates server-side Express.js routes for server blocks. + */ +class ServerCodeGenerator { + /** + * Creates a new server code generator. + * @param {Object} options - Options for the generator + */ + constructor(options = {}) { + this.options = options; + this.serverRoutes = new Map(); + this.hasServerCode = false; + } + + /** + * Registers a server-side route to be executed when requested. + * @param {string} elementId - The ID of the element that triggers the route + * @param {string} code - The JavaScript code to execute + * @param {Array} params - The input parameters to retrieve from the client + */ + addServerRoute(elementId, code, params = []) { + if (this.options.debug) { + console.log(`[ServerCodeGenerator] Adding server route for element ${elementId}`); + if (params.length > 0) { + console.log(`[ServerCodeGenerator] Route parameters: ${params.join(", ")}`); + } + } + + const endpoint = this.generateEndpointPath(elementId); + + this.serverRoutes.set(elementId, { + endpoint, + code, + params + }); + + this.hasServerCode = true; + } + + /** + * Generates a unique endpoint path for a server route. + * @param {string} elementId - The element ID for the route + * @returns {string} - A unique endpoint path + */ + generateEndpointPath(elementId) { + const hash = crypto.createHash('sha256') + .update(elementId + Math.random().toString()) + .digest('hex') + .substring(0, 12); + + return `/api/${StringUtils.toKebabCase(elementId)}-${hash}`; + } + + /** + * Generates client-side JavaScript for making API calls to server routes. + * @returns {string} - JavaScript code for making API calls + */ + generateClientAPICalls() { + if (this.serverRoutes.size === 0) { + return ''; + } + + let apiCode = ` +const _bp_api = { + post: async function(url, data) { + try { + const serverPort = window.blueprintServerPort || 3001; + + const fullUrl = \`http://\${window.location.hostname}:\${serverPort}\${url}\`; + + const response = await fetch(fullUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(data) + }); + + if (!response.ok) { + throw new Error(\`API request failed: \${response.status}\`); + } + + return await response.json(); + } catch (error) { + console.error('[Blueprint API]', error); + return { error: error.message }; + } + } +}; + + +`; + + + this.serverRoutes.forEach((route, elementId) => { + const { endpoint, params } = route; + + apiCode += `async function _bp_serverAction_${elementId}(e) { + const data = {}; +${params.map(param => ` const ${param}_element = document.getElementById('${param}'); + if (${param}_element) { + console.log('Found element: ${param}', ${param}_element); + if (${param}_element.type === 'checkbox') { + data.${param} = ${param}_element.checked; + console.log('Checkbox ${param} value:', ${param}_element.checked); + } else if (${param}_element.type === 'radio') { + data.${param} = ${param}_element.checked; + } else if (${param}_element.value !== undefined) { + data.${param} = ${param}_element.value; + } else { + data.${param} = ${param}_element.textContent; + } + } else { + console.error('[Blueprint] Element with ID ${param} not found'); + data.${param} = null; + }`).join('\n')} + + console.log('Submitting data:', data); + + try { + const result = await _bp_api.post('${endpoint}', data); + console.log('[Blueprint API] Server response:', result); + + if (result && typeof result === 'object') { + Object.keys(result).forEach(key => { + if (window[key] && typeof window[key].set === 'function') { + window[key].set(result[key]); + } + else { + const element = document.getElementById(key); + if (element) { + if (element.tagName.toLowerCase() === 'input') { + element.value = result[key]; + } else { + element.textContent = result[key]; + } + console.log(\`[Blueprint API] Updated element #\${key} with value: \${result[key]}\`); + } + } + }); + } + + return result; + } catch (error) { + console.error('[Blueprint API] Error in server action:', error); + } +}\n`; + }); + + return apiCode; + } + + /** + * Generates Express.js server code for all registered server routes. + * @returns {string} - Express.js server code + */ + generateServerCode() { + if (this.serverRoutes.size === 0) { + return ''; + } + + let serverCode = ` +const express = require('express'); +const bodyParser = require('body-parser'); +const cors = require('cors'); + +function createBlueprintApiServer(port = 3001) { + const app = express(); + + app.use(cors()); + app.use(bodyParser.json()); + + app.use((req, res, next) => { + console.log(\`[\${new Date().toISOString()}] \${req.method} \${req.url}\`); + next(); + }); + +`; + + this.serverRoutes.forEach((route, elementId) => { + const { endpoint, code, params } = route; + + serverCode += ` + app.post('${endpoint}', async (req, res) => { + try { + ${params.map(param => { + return `const ${param} = req.body.${param} !== undefined ? req.body.${param} : null; + if (${param} === null) { + console.error(\`Missing parameter: ${param}\`); + }`; + }).join('\n ')} + + let result; + try { + ${code} + } catch (error) { + console.error(\`Error in server block \${error.message}\`); + return res.status(500).json({ error: error.message }); + } + + return res.json(result || {}); + } catch (error) { + console.error(\`Error processing request: \${error.message}\`); + return res.status(500).json({ error: error.message }); + } + });`; + }); + + serverCode += ` + + app.listen(port, () => { + console.log(\`Blueprint API server running at http://localhost:\${port}\`); + }); + + return app; +} + +module.exports = createBlueprintApiServer; +`; + + return serverCode; + } + + /** + * Checks if there is any server code to generate. + * @returns {boolean} - Whether there is server code + */ + hasServerCodeToGenerate() { + return this.hasServerCode; + } +} + +module.exports = ServerCodeGenerator; \ No newline at end of file diff --git a/lib/generators/StandardElementGenerator.js b/lib/generators/StandardElementGenerator.js index e899423..4397b8c 100644 --- a/lib/generators/StandardElementGenerator.js +++ b/lib/generators/StandardElementGenerator.js @@ -54,6 +54,22 @@ class StandardElementGenerator { let attributes = ""; + const idProp = node.props.find((p) => typeof p === "string" && p.startsWith("id:")); + if (idProp) { + const idValue = idProp.substring(idProp.indexOf(":") + 1).trim().replace(/^"|"$/g, ""); + attributes += ` id="${idValue}"`; + node.elementId = idValue; + if (this.options.debug) { + console.log(`[StandardElementGenerator] Added explicit ID attribute: ${idValue}`); + } + } + else if (node.elementId) { + attributes += ` id="${node.elementId}"`; + if (this.options.debug) { + console.log(`[StandardElementGenerator] Adding generated ID attribute: ${node.elementId}`); + } + } + if (node.props.find((p) => typeof p === "string" && p.startsWith("data-"))) { const dataProps = node.props.filter( (p) => typeof p === "string" && p.startsWith("data-") diff --git a/lib/mappings.js b/lib/mappings.js index b47f83d..7b63c3c 100644 --- a/lib/mappings.js +++ b/lib/mappings.js @@ -538,7 +538,7 @@ const ELEMENT_MAPPINGS = { }, card: { tag: "div", - defaultProps: ["raised", "card"], + defaultProps: ["card"], }, grid: { tag: "div", diff --git a/lib/server.js b/lib/server.js index 6c2552e..49198f4 100644 --- a/lib/server.js +++ b/lib/server.js @@ -11,6 +11,7 @@ class BlueprintServer { this.wsInstance = expressWs(this.app); this.options = { port: 3000, + apiPort: 3001, srcDir: "./src", outDir: "./dist", liveReload: false, @@ -19,6 +20,8 @@ class BlueprintServer { }; this.clients = new Map(); this.filesWithErrors = new Set(); + this.apiServers = new Map(); + this.apiPorts = new Map(); this.setupServer(); if (this.options.liveReload) { const watcher = chokidar.watch([], { @@ -51,6 +54,27 @@ class BlueprintServer { ); } + async buildFile(filePath) { + const relativePath = path.relative(this.options.srcDir, filePath); + const outputPath = path.join( + this.options.outDir, + relativePath.replace(/\.bp$/, ".html") + ); + this.ensureDirectoryExistence(outputPath); + + const builder = new BlueprintBuilder({ + minified: this.options.minified, + debug: this.options.debug, + }); + const buildResult = builder.build(filePath, path.dirname(outputPath)); + + if (buildResult.success && buildResult.hasServerCode) { + this.startApiServer(relativePath.replace(/\.bp$/, "")); + } + + return buildResult; + } + async buildAll() { this.log("INFO", "Building all Blueprint files...", "lightGray"); if (fs.existsSync(this.options.outDir)) { @@ -70,8 +94,17 @@ class BlueprintServer { ); this.ensureDirectoryExistence(outputPath); - const builder = new BlueprintBuilder({ minified: this.options.minified }); + const builder = new BlueprintBuilder({ + minified: this.options.minified, + debug: this.options.debug + }); const result = builder.build(file, path.dirname(outputPath)); + + if (result.success && result.hasServerCode) { + const fileName = relativePath.replace(/\.bp$/, ""); + this.startApiServer(fileName); + } + if (!result.success) { success = false; errors.push({ file, errors: result.errors }); @@ -138,8 +171,19 @@ class BlueprintServer { fs.readFile(htmlPath, "utf8", (err, data) => { if (err) return next(); let html = data; + + const filePath = req.path.endsWith(".html") + ? req.path.slice(0, -5) + : req.path === "/" + ? "index" + : req.path.replace(/^\//, ""); + + const apiPort = this.apiPorts.get(filePath) || this.options.apiPort; + const script = ` + `; + html = html.replace("", script + ""); + } + + res.setHeader("Content-Type", "text/html"); + res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + res.setHeader("Pragma", "no-cache"); + res.setHeader("Expires", "0"); + return res.send(html); + }); } else if (req.path === "/") { const pages = fs .readdirSync(this.options.outDir) @@ -311,83 +381,35 @@ class BlueprintServer { } setupWatcher(watcher) { - watcher.on("change", async (filepath) => { - if (filepath.endsWith(".bp")) { - this.log("INFO", `File ${filepath} has been changed`, "blue"); - try { - const builder = new BlueprintBuilder({ - minified: this.options.minified, - debug: this.options.debug, - }); - const relativePath = path.relative(this.options.srcDir, filepath); - const outputPath = path.join( - this.options.outDir, - relativePath.replace(/\.bp$/, ".html") - ); - this.ensureDirectoryExistence(outputPath); - const result = builder.build(filepath, path.dirname(outputPath)); - - if (result.success) { - this.log("SUCCESS", "Rebuilt successfully", "green"); - - this.filesWithErrors.delete(filepath); - - const htmlFile = relativePath.replace(/\.bp$/, ".html"); - const htmlPath = path.join(this.options.outDir, htmlFile); - - try { - const newContent = fs.readFileSync(htmlPath, "utf8"); - - for (const [client, page] of this.clients.entries()) { - if ( - page === htmlFile.replace(/\\/g, "/") && - client.readyState === 1 - ) { - try { - client.send( - JSON.stringify({ - type: "reload", - content: newContent, - }) - ); - } catch (error) { - this.log("ERROR", "Error sending content:", "red"); - this.clients.delete(client); - } - } - } - } catch (error) { - this.log("ERROR", "Error reading new content:", "red"); - } - } else { - this.filesWithErrors.add(filepath); - this.log("ERROR", `Build failed: ${result.errors.map(e => e.message).join(", ")}`, "red"); - this.log("INFO", "Waiting for next file change...", "orange"); - - for (const [client, page] of this.clients.entries()) { - const htmlFile = relativePath.replace(/\.bp$/, ".html"); - if ( - page === htmlFile.replace(/\\/g, "/") && - client.readyState === 1 - ) { - try { - client.send( - JSON.stringify({ - type: "buildError", - errors: result.errors, - }) - ); - } catch (error) { - this.log("ERROR", "Error sending error notification:", "red"); - this.clients.delete(client); - } - } - } - } - } catch (error) { - this.log("ERROR", "Unexpected error during build:", "red"); - this.filesWithErrors.add(filepath); + watcher.on("change", async (filePath) => { + if (!filePath.endsWith(".bp")) return; + this.log("INFO", `File changed: ${filePath}`, "blue"); + + const result = await this.buildFile(filePath); + + if (result.success) { + this.log("SUCCESS", `Rebuilt ${filePath}`, "green"); + this.filesWithErrors.delete(filePath); + + if (result.hasServerCode) { + const relativePath = path.relative(this.options.srcDir, filePath); + const fileName = relativePath.replace(/\.bp$/, ""); + this.startApiServer(fileName); } + + if (this.options.liveReload) { + this.notifyClients(filePath); + } + } else { + this.log("ERROR", `Build failed for ${filePath}`, "red"); + result.errors.forEach((err) => { + this.log( + "ERROR", + `${err.type} at line ${err.line}, column ${err.column}: ${err.message}`, + "red" + ); + }); + this.filesWithErrors.add(filePath); } }); @@ -468,6 +490,119 @@ class BlueprintServer { } }); } + + startApiServer(fileName) { + const serverFilePath = path.join(this.options.outDir, 'server', `${fileName}-server.js`); + + if (!fs.existsSync(serverFilePath)) { + this.log("ERROR", `API server file not found: ${serverFilePath}`, "red"); + return; + } + + let apiPort; + + if (this.apiPorts.has(fileName)) { + apiPort = this.apiPorts.get(fileName); + this.log("INFO", `Reusing port ${apiPort} for ${fileName}`, "blue"); + } else { + apiPort = this.options.apiPort; + this.options.apiPort++; + this.log("INFO", `Assigning new port ${apiPort} for ${fileName}`, "blue"); + } + + const startNewServer = () => { + try { + delete require.cache[require.resolve(path.resolve(serverFilePath))]; + + const createApiServer = require(path.resolve(serverFilePath)); + const apiServer = createApiServer(apiPort); + + this.apiServers.set(fileName, apiServer); + this.apiPorts.set(fileName, apiPort); + + this.log("SUCCESS", `API server started for ${fileName} on port ${apiPort}`, "green"); + } catch (error) { + this.log("ERROR", `Failed to start API server: ${error.message}`, "red"); + console.error(error); + } + }; + + if (this.apiServers.has(fileName)) { + const existingServer = this.apiServers.get(fileName); + this.log("INFO", `Stopping previous API server for ${fileName}`, "blue"); + + try { + if (existingServer && typeof existingServer.close === 'function') { + existingServer.close(() => { + this.log("INFO", `Previous server closed, starting new one`, "blue"); + setTimeout(startNewServer, 300); + }); + return; + } + + if (existingServer && existingServer.server && existingServer.server.close) { + existingServer.server.close(() => { + this.log("INFO", `Previous server closed, starting new one`, "blue"); + setTimeout(startNewServer, 300); + }); + return; + } + + this.log("WARNING", `Could not properly close previous server, waiting longer`, "orange"); + setTimeout(startNewServer, 1000); + } catch (err) { + this.log("WARNING", `Error closing previous server: ${err.message}`, "orange"); + setTimeout(startNewServer, 2000); + } + } else { + startNewServer(); + } + } + + notifyClients(filePath) { + const relativePath = path.relative(this.options.srcDir, filePath); + const htmlFile = relativePath.replace(/\.bp$/, ".html"); + const htmlPath = path.join(this.options.outDir, htmlFile); + const fileName = relativePath.replace(/\.bp$/, ""); + + try { + let newContent = fs.readFileSync(htmlPath, "utf8"); + + const apiPort = this.apiPorts.get(fileName) || this.options.apiPort; + + if (!newContent.includes('window.blueprintServerPort =')) { + newContent = newContent.replace( + '', + ` + ` + ); + } + + for (const [client, page] of this.clients.entries()) { + if ( + page === htmlFile.replace(/\\/g, "/") && + client.readyState === 1 + ) { + try { + client.send( + JSON.stringify({ + type: "reload", + content: newContent, + }) + ); + this.log("INFO", `Sent update to client for ${htmlFile}`, "blue"); + } catch (error) { + this.log("ERROR", "Error sending content:", "red"); + this.clients.delete(client); + } + } + } + } catch (error) { + this.log("ERROR", `Error reading new content from ${htmlPath}: ${error.message}`, "red"); + } + } } module.exports = BlueprintServer; diff --git a/lib/utils/StringUtils.js b/lib/utils/StringUtils.js index e609ad2..8ba7f7c 100644 --- a/lib/utils/StringUtils.js +++ b/lib/utils/StringUtils.js @@ -52,8 +52,23 @@ const safeStringify = (obj) => { } }; +/** + * Generates a random ID string suitable for use as an HTML element ID. + * @param {number} [length=8] - The length of the random ID + * @returns {string} - A random alphanumeric ID with bp_ prefix + */ +const generateRandomId = (length = 8) => { + const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; + let result = 'bp_'; + for (let i = 0; i < length; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; +}; + module.exports = { escapeHTML, toKebabCase, - safeStringify + safeStringify, + generateRandomId }; \ No newline at end of file diff --git a/package.json b/package.json index c0c6ed3..5f5508f 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dependencies": { "axios": "^1.7.9", "chokidar": "^3.5.3", + "cors": "^2.8.5", "express": "^4.18.2", "express-ws": "^5.0.2", "ws": "^8.18.0" From 6a9f9073253dd317e7972ab5db72c8ec290632aa Mon Sep 17 00:00:00 2001 From: obvtiger Date: Thu, 3 Apr 2025 17:22:19 +0200 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 560f069..5abc12b 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ npm run build # Generates production files ## Roadmap 🛣️ -- [ ] Blueprint server blocks +- [x] Blueprint server blocks - [ ] Blueprint live editor - [ ] Blueprint components